add testcases for TestRunner, with authentication enabled

This commit is contained in:
debugtalk
2017-06-24 16:11:10 +08:00
parent 088b118a92
commit 4ac2462881
3 changed files with 136 additions and 0 deletions

54
test/data/demo_auth.json Normal file
View File

@@ -0,0 +1,54 @@
[
{
"name": "create user which does not exist",
"request": {
"url": "http://127.0.0.1:5000/api/users/1000",
"method": "POST",
"headers": {
"content-type": "application/json",
"authorization": "a83de0ff8d2e896dbd8efb81ba14e17d",
"random": "A2dEx"
},
"json": {
"name": "user1",
"password": "123456"
}
},
"response": {
"status_code": 201,
"headers": {
"Content-Type": "application/json"
},
"body": {
"success": true,
"msg": "user created successfully."
}
}
},
{
"name": "create user which existed",
"request": {
"url": "http://127.0.0.1:5000/api/users/1000",
"method": "POST",
"headers": {
"content-type": "application/json",
"authorization": "a83de0ff8d2e896dbd8efb81ba14e17d",
"random": "A2dEx"
},
"json": {
"name": "user1",
"password": "123456"
}
},
"response": {
"status_code": 500,
"headers": {
"Content-Type": "application/json"
},
"body":{
"success": false,
"msg": "user already existed."
}
}
}
]

39
test/data/demo_auth.yml Normal file
View File

@@ -0,0 +1,39 @@
-
name: create user which does not exist
request:
url: http://127.0.0.1:5000/api/users/1000
method: POST
headers:
Content-Type: application/json
authorization: a83de0ff8d2e896dbd8efb81ba14e17d
random: A2dEx
json:
name: "user1"
password: "123456"
response:
status_code: 201
headers:
Content-Type: application/json
body:
success: true
msg: user created successfully.
-
name: create user which existed
request:
url: http://127.0.0.1:5000/api/users/1000
method: POST
headers:
Content-Type: application/json
authorization: a83de0ff8d2e896dbd8efb81ba14e17d
random: A2dEx
json:
name: "user1"
password: "123456"
response:
status_code: 500
headers:
Content-Type: application/json
body:
success: false
msg: user already existed.

43
test/test_runner_v2.py Normal file
View File

@@ -0,0 +1,43 @@
import os
import random
import requests
from ate import runner, exception, utils
from .base import ApiServerUnittest
class TestRunnerV2(ApiServerUnittest):
authentication = True
def setUp(self):
self.test_runner = runner.TestRunner()
self.clear_users()
def clear_users(self):
url = "http://127.0.0.1:5000/api/users"
return requests.delete(url, headers=self.prepare_headers())
def test_run_single_testcase_yaml(self):
testcase_file_path = os.path.join(os.getcwd(), 'test/data/demo_auth.yml')
testcases = utils.load_testcases(testcase_file_path)
success, _ = self.test_runner.run_single_testcase(testcases[0])
self.assertTrue(success)
def test_run_single_testcase_json(self):
testcase_file_path = os.path.join(os.getcwd(), 'test/data/demo_auth.json')
testcases = utils.load_testcases(testcase_file_path)
success, _ = self.test_runner.run_single_testcase(testcases[0])
self.assertTrue(success)
def test_run_testcase_auth_suite_yaml(self):
testcase_file_path = os.path.join(os.getcwd(), 'test/data/demo_auth.yml')
testcases = utils.load_testcases(testcase_file_path)
result = self.test_runner.run_testcase_suite(testcases)
self.assertEqual(len(result), 2)
self.assertEqual(result, [(True, {}), (True, {})])
def test_run_testcase_auth_suite_json(self):
testcase_file_path = os.path.join(os.getcwd(), 'test/data/demo_auth.json')
testcases = utils.load_testcases(testcase_file_path)
result = self.test_runner.run_testcase_suite(testcases)
self.assertEqual(len(result), 2)
self.assertEqual(result, [(True, {}), (True, {})])