接口測試用例

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()

發佈了155 篇原創文章 · 獲贊 43 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章