diff options
author | 2018-05-19 20:26:23 +0100 | |
---|---|---|
committer | 2018-05-19 20:26:23 +0100 | |
commit | 9e58a83ce3ef45eac38466be6bc4e46e01cb5096 (patch) | |
tree | f066a2e2e284bd9a11020e7dca49cd78b8e3e9e9 /app_test.py | |
parent | GDPR compliance for jammer profiles (diff) | |
parent | Snake cog (#71) (diff) |
Merge remote-tracking branch 'origin/master'
Diffstat (limited to 'app_test.py')
-rw-r--r-- | app_test.py | 66 |
1 files changed, 52 insertions, 14 deletions
diff --git a/app_test.py b/app_test.py index 150dd0b5..bc565112 100644 --- a/app_test.py +++ b/app_test.py @@ -161,6 +161,44 @@ class ApiEndpoints(SiteTest): self.assertEqual(response.json, {'status': 'ok'}) self.assertEqual(response.status_code, 200) + def test_snake_endpoints(self): + """ + Tests the following endpoints: + - snake_movies + - snake_quiz + - snake_names + - snake_idioms + - snake_facts + """ + + os.environ['BOT_API_KEY'] = 'abcdefg' + headers = {'X-API-Key': 'abcdefg', 'Content-Type': 'application/json'} + + # GET method - get snake fact + response = self.client.get('/bot/snake_facts', app.config['API_SUBDOMAIN'], headers=headers) + self.assertEqual(response.status_code, 200) + self.assertEqual(type(response.json), str) + + # GET method - get snake idiom + response = self.client.get('/bot/snake_idioms', app.config['API_SUBDOMAIN'], headers=headers) + self.assertEqual(response.status_code, 200) + self.assertEqual(type(response.json), str) + + # GET method - get snake quiz + response = self.client.get('/bot/snake_quiz', app.config['API_SUBDOMAIN'], headers=headers) + self.assertEqual(response.status_code, 200) + self.assertEqual(type(response.json), dict) + + # GET method - get snake name + response = self.client.get('/bot/snake_names', app.config['API_SUBDOMAIN'], headers=headers) + self.assertEqual(response.status_code, 200) + self.assertEqual(type(response.json), dict) + + # GET method - get all snake names + response = self.client.get('/bot/snake_names?get_all=True', app.config['API_SUBDOMAIN'], headers=headers) + self.assertEqual(response.status_code, 200) + self.assertEqual(type(response.json), list) + def test_api_tags(self): """ Check tag API """ os.environ['BOT_API_KEY'] = 'abcdefg' @@ -180,33 +218,33 @@ class ApiEndpoints(SiteTest): }) # POST method - no headers - response = self.client.post('/tags', app.config['API_SUBDOMAIN']) + response = self.client.post('/bot/tags', app.config['API_SUBDOMAIN']) self.assertEqual(response.status_code, 401) # POST method - no data - response = self.client.post('/tags', app.config['API_SUBDOMAIN'], headers=headers) + response = self.client.post('/bot/tags', app.config['API_SUBDOMAIN'], headers=headers) self.assertEqual(response.status_code, 400) # POST method - bad data - response = self.client.post('/tags', app.config['API_SUBDOMAIN'], headers=headers, data=bad_data) + response = self.client.post('/bot/tags', app.config['API_SUBDOMAIN'], headers=headers, data=bad_data) self.assertEqual(response.status_code, 400) # POST method - save tag - response = self.client.post('/tags', app.config['API_SUBDOMAIN'], headers=headers, data=post_data) + response = self.client.post('/bot/tags', app.config['API_SUBDOMAIN'], headers=headers, data=post_data) self.assertEqual(response.status_code, 200) self.assertEqual(response.json, {"success": True}) # GET method - no headers - response = self.client.get('/tags', app.config['API_SUBDOMAIN']) + response = self.client.get('/bot/tags', app.config['API_SUBDOMAIN']) self.assertEqual(response.status_code, 401) # GET method - get all tags - response = self.client.get('/tags', app.config['API_SUBDOMAIN'], headers=headers) + response = self.client.get('/bot/tags', app.config['API_SUBDOMAIN'], headers=headers) self.assertEqual(response.status_code, 200) self.assertEqual(type(response.json), list) # GET method - get specific tag - response = self.client.get('/tags?tag_name=testing', app.config['API_SUBDOMAIN'], headers=headers) + response = self.client.get('/bot/tags?tag_name=testing', app.config['API_SUBDOMAIN'], headers=headers) self.assertEqual(response.json, { 'tag_content': 'testing', 'tag_name': 'testing' @@ -214,19 +252,19 @@ class ApiEndpoints(SiteTest): self.assertEqual(response.status_code, 200) # DELETE method - no headers - response = self.client.delete('/tags', app.config['API_SUBDOMAIN']) + response = self.client.delete('/bot/tags', app.config['API_SUBDOMAIN']) self.assertEqual(response.status_code, 401) # DELETE method - no data - response = self.client.delete('/tags', app.config['API_SUBDOMAIN'], headers=headers) + response = self.client.delete('/bot/tags', app.config['API_SUBDOMAIN'], headers=headers) self.assertEqual(response.status_code, 400) # DELETE method - bad data - response = self.client.delete('/tags', app.config['API_SUBDOMAIN'], headers=headers, data=bad_data) + response = self.client.delete('/bot/tags', app.config['API_SUBDOMAIN'], headers=headers, data=bad_data) self.assertEqual(response.status_code, 400) # DELETE method - delete the testing tag - response = self.client.delete('/tags', app.config['API_SUBDOMAIN'], headers=headers, data=get_data) + response = self.client.delete('/bot/tags', app.config['API_SUBDOMAIN'], headers=headers, data=get_data) self.assertEqual(response.status_code, 200) self.assertEqual(response.json, {"success": True}) @@ -238,13 +276,13 @@ class ApiEndpoints(SiteTest): single_data = json.dumps({'user_id': "1234", 'roles': ["5678"], "username": "test", "discriminator": "0000"}) list_data = json.dumps([{'user_id': "1234", 'roles': ["5678"], "username": "test", "discriminator": "0000"}]) - response = self.client.get('/user', app.config['API_SUBDOMAIN'], headers=headers) + response = self.client.get('/bot/users', app.config['API_SUBDOMAIN'], headers=headers) self.assertEqual(response.status_code, 405) - response = self.client.post('/user', app.config['API_SUBDOMAIN'], headers=headers, data=single_data) + response = self.client.post('/bot/users', app.config['API_SUBDOMAIN'], headers=headers, data=single_data) self.assertTrue("inserted" in response.json) - response = self.client.post('/user', app.config['API_SUBDOMAIN'], headers=headers, data=list_data) + response = self.client.post('/bot/users', app.config['API_SUBDOMAIN'], headers=headers, data=list_data) self.assertTrue("inserted" in response.json) def test_api_route_errors(self): |