from testcase import test_data
import unittest
import requests
import os, sys
parent_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0, parent_dir)
class AddEventTest(unittest.TestCase):
""" 添加發佈會 """
def setUp(self):
self.base_url = "http://127.0.0.1:8000/api/add_event/"
def tearDown(self):
print(self.result)
def test_add_event_all_null(self):
""" 所有參數爲空 """
payload = {'eid': '', '': '', 'limit': '', 'address': "", 'start_time': ''}
r = requests.post(self.base_url, data=payload)
self.result = r.json()
self.assertEqual(self.result['status'], 10021)
self.assertEqual(self.result['message'], 'parameter error')
def test_add_event_eid_exist(self):
""" id已經存在 """
payload = {'eid': 1, 'name': '一加4發佈會', 'limit': 2000, 'address': "深圳寶體", 'start_time': '2017'}
r = requests.post(self.base_url, data=payload)
self.result = r.json()
self.assertEqual(self.result['status'], 10022)
self.assertEqual(self.result['message'], 'event id already exists')
def test_add_event_name_exist(self):
""" 名稱已經存在 """
payload = {'eid': 11, 'name': '紅米Pro發佈會', 'limit': 2000, 'address': "深圳寶體", 'start_time': '2017'}
r = requests.post(self.base_url,data=payload)
self.result = r.json()
self.assertEqual(self.result['status'], 10023)
self.assertEqual(self.result['message'], 'event name already exists')
def test_add_event_data_type_error(self):
""" 日期格式錯誤 """
payload = {'eid': 11, 'name': '一加4手機發佈會', 'limit': 2000, 'address': "深圳寶體", 'start_time': '2017'}
r = requests.post(self.base_url, data=payload)
self.result = r.json()
self.assertEqual(self.result['status'], 10024)
self.assertIn('start_time format error.', self.result['message'])
def test_add_event_success(self):
""" 添加成功 """
payload = {'eid': 11, 'name': '一加4手機發佈會', 'limit': 2000, 'address': "深圳寶體",
'start_time': '2017-05-10 12:00:00'}
r = requests.post(self.base_url, data=payload)
self.result = r.json()
self.assertEqual(self.result['status'], 200)
self.assertEqual(self.result['message'], 'add event success')
if __name__ == '__main__':
test_data.init_data() # 初始化接口測試數據
unittest.main()
from testcase import test_data
import unittest
import requests
import os, sys
parent_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0, parent_dir)
class AddGuessTest(unittest.TestCase):
""" 添加嘉賓 """
def setUp(self):
self.base_url = "http://127.0.0.1:8000/api/add_guest/"
def tearDown(self):
print(self.result)
def test_add_guest_all_null(self):
""" 參數爲空 """
payload = {'eid': '', 'realname': '', 'phone': ''}
r = requests.get(self.base_url, data=payload)
self.result = r.json()
self.assertEqual(self.result['status'], 10021)
self.assertEqual(self.result['message'], 'parameter error')
def test_add_guest_eid_null(self):
""" eid=901 查詢爲空 """
payload = {'eid': 901, 'realname': 'tom', 'phone': 13711001100}
r = requests.post(self.base_url, data=payload)
self.result = r.json()
self.assertEqual(self.result['status'], 10022)
self.assertEqual(self.result['message'], 'event id null')
def test_add_guest_status_close(self):
""" eid=2 狀態未開啓 """
payload = {'eid': 3, 'realname': 'tom', 'phone': 13711001100}
r = requests.post(self.base_url,data=payload)
self.result = r.json()
self.assertEqual(self.result['status'], 10023)
self.assertEqual(self.result['message'], 'event status is not available')
def test_add_guest_limit_full(self):
""" eid=2 發佈會人數已滿 """
payload = {'eid': 2, 'realname': 'tom', 'phone': 13711001100}
r = requests.post(self.base_url,data=payload)
self.result = r.json()
self.assertEqual(self.result['status'], 10024)
self.assertEqual(self.result['message'], 'event number is full')
def test_add_guest_time_start(self):
""" eid=4 發佈會已開始 """
payload = {'eid':4,'realname':'tom','phone':13711001100}
r = requests.post(self.base_url,data=payload)
self.result = r.json()
self.assertEqual(self.result['status'], 10025)
self.assertEqual(self.result['message'], 'event has started')
def test_add_guest_phone_repeat(self):
""" phone=13800113001 手機號重複 """
payload = {'eid': 1, 'realname': 'tom', 'phone': 13511001100}
r = requests.post(self.base_url, data=payload)
self.result = r.json()
self.assertEqual(self.result['status'], 10026)
self.assertEqual(self.result['message'], 'the event guest phone number repeat')
def test_add_guest_success(self):
""" 添加成功 """
payload = {'eid': 1, 'realname': 'tom', 'phone': 13511001199}
r = requests.post(self.base_url, data=payload)
self.result = r.json()
self.assertEqual(self.result['status'], 200)
self.assertEqual(self.result['message'], 'add guest success')
if __name__ == '__main__':
test_data.init_data() # 初始化接口測試數據
unittest.main()
import unittest
import requests
import os, sys
parent_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0, parent_dir)
from testcase import test_data
class GetEventListTest(unittest.TestCase):
""" 獲得發佈會列表 """
def setUp(self):
self.base_url = "http://127.0.0.1:8000/api/get_event_list/"
def tearDown(self):
print(self.result)
def test_get_event_list_eid_error(self):
""" eid=901 查詢結果爲空 """
r = requests.get(self.base_url, params={'eid': 901})
self.result = r.json()
self.assertEqual(self.result['status'], 10022)
self.assertEqual(self.result['message'], 'query result is empty')
def test_get_event_list_eid_success(self):
""" 根據 eid 查詢結果成功 """
r = requests.get(self.base_url, params={'eid': 1})
self.result = r.json()
self.assertEqual(self.result['status'], 200)
self.assertEqual(self.result['message'], 'success')
self.assertEqual(self.result['data']['name'],u'紅米Pro發佈會')
self.assertEqual(self.result['data']['address'],u'北京會展中心')
def test_get_event_list_nam_result_null(self):
""" 關鍵字‘abc’查詢 """
r = requests.get(self.base_url, params={'name': 'abc'})
self.result = r.json()
self.assertEqual(self.result['status'], 10022)
self.assertEqual(self.result['message'], 'query result is empty')
def test_get_event_list_name_find(self):
""" 關鍵字‘發佈會’模糊查詢 """
r = requests.get(self.base_url, params={'name': '發佈會'})
self.result = r.json()
self.assertEqual(self.result['status'], 200)
self.assertEqual(self.result['message'], 'success')
self.assertEqual(self.result['data'][0]['name'],u'紅米Pro發佈會')
self.assertEqual(self.result['data'][0]['address'],u'北京會展中心')
if __name__ == '__main__':
test_data.init_data() # 初始化接口測試數據
unittest.main()
import unittest
import requests
import os, sys
parent_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0, parent_dir)
from testcase import test_data
class GetGuestListTest(unittest.TestCase):
""" 獲得嘉賓列表 """
def setUp(self):
self.base_url = "http://127.0.0.1:8000/api/get_guest_list/"
def tearDown(self):
print(self.result)
def test_get_guest_list_eid_null(self):
""" eid 參數爲空 """
r = requests.get(self.base_url, params={'eid': ''})
self.result = r.json()
self.assertEqual(self.result['status'], 10021)
self.assertEqual(self.result['message'], 'eid cannot be empty')
def test_get_event_list_eid_error(self):
""" 根據 eid 查詢結果爲空 """
r = requests.get(self.base_url, params={'eid': 901})
self.result = r.json()
self.assertEqual(self.result['status'], 10022)
self.assertEqual(self.result['message'], 'query result is empty')
def test_get_event_list_eid_success(self):
""" 根據 eid 查詢結果成功 """
r = requests.get(self.base_url, params={'eid': 1})
self.result = r.json()
self.assertEqual(self.result['status'], 200)
self.assertEqual(self.result['message'], 'success')
self.assertEqual(self.result['data'][0]['realname'],'alen')
self.assertEqual(self.result['data'][0]['phone'],'13511001100')
def test_get_event_list_eid_phone_null(self):
""" 根據 eid 和phone 查詢結果爲空 """
r = requests.get(self.base_url, params={'eid': 1, 'phone': '10000000000'})
self.result = r.json()
self.assertEqual(self.result['status'], 10022)
self.assertEqual(self.result['message'], 'query result is empty')
def test_get_event_list_eid_phone_success(self):
""" 根據 eid 和phone 查詢結果成功 """
r = requests.get(self.base_url, params={'eid': 1, 'phone': '13511001100'})
self.result = r.json()
self.assertEqual(self.result['status'], 200)
self.assertEqual(self.result['message'], 'success')
self.assertEqual(self.result['data']['realname'],'alen')
self.assertEqual(self.result['data']['phone'],'13511001100')
if __name__ == '__main__':
test_data.init_data() # 初始化接口測試數據
unittest.main()
import os
import sys
import unittest
import requests
from testcase import test_data
parent_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0, parent_dir)
class UserSignTest(unittest.TestCase):
""" 用戶簽到 """
def setUp(self):
self.base_url = "http://127.0.0.1:8000/api/user_sign/"
def tearDown(self):
print(self.result)
def test_user_sign_all_null(self):
""" 參數爲空 """
payload = {'eid': '', 'phone': ''}
r = requests.post(self.base_url, data=payload)
self.result = r.json()
self.assertEqual(self.result['status'], 10021)
self.assertEqual(self.result['message'], 'parameter error')
def test_user_sign_eid_error(self):
""" eid=901 查詢結果不存在 """
payload = {'eid': 901, 'phone': 13711001100}
r = requests.post(self.base_url, data=payload)
self.result = r.json()
self.assertEqual(self.result['status'], 10022)
self.assertEqual(self.result['message'], 'event id null')
def test_user_sign_status_close(self):
""" eid=3 發佈會狀態關閉 """
payload = {'eid': 3, 'phone': 13711001100}
r = requests.post(self.base_url,data=payload)
self.result = r.json()
self.assertEqual(self.result['status'], 10023)
self.assertEqual(self.result['message'], 'event status is not available')
def test_user_sign_time_start(self):
""" eid=4 發佈會已開始 """
payload = {'eid': 4, 'phone': 13711001100}
r = requests.post(self.base_url, data=payload)
self.result = r.json()
self.assertEqual(self.result['status'], 10024)
self.assertEqual(self.result['message'], 'event has started')
def test_user_sign_phone_error(self):
""" phone=10100001111 手機號不存在 """
payload = {'eid': 1, 'phone': 10100001111}
r = requests.post(self.base_url, data=payload)
self.result = r.json()
self.assertEqual(self.result['status'], 10025)
self.assertEqual(self.result['message'], 'user phone null')
def test_user_sign_eid_phone_error(self):
"""eid=1, phone=13511001102 手機號與發佈會不匹配 """
payload = {'eid': 1, 'phone': 13511001102}
r = requests.post(self.base_url, data=payload)
self.result = r.json()
self.assertEqual(self.result['status'], 10026)
self.assertEqual(self.result['message'], 'user did not participate in the conference')
def test_user_sign_has_sign_in(self):
""" 已簽到 """
payload = {'eid': 1, 'phone': 13511001101}
r = requests.post(self.base_url, data=payload)
self.result = r.json()
self.assertEqual(self.result['status'], 10027)
self.assertEqual(self.result['message'], 'user has sign in')
def test_user_sign_success(self):
""" 簽到成功 """
payload = {'eid': 1, 'phone': 13511001100}
r = requests.post(self.base_url, data=payload)
self.result = r.json()
self.assertEqual(self.result['status'], 200)
self.assertEqual(self.result['message'], 'sign success')
if __name__ == '__main__':
test_data.init_data() # 初始化接口測試數據
unittest.main()