diff options
author | Diego Crespo Quinta <diegocrespodcq98@gmail.com> | 2020-11-28 00:11:10 +0100 |
---|---|---|
committer | OpenGnSys Support Team <soporte-og@soleta.eu> | 2020-12-01 19:29:37 +0100 |
commit | aeb53bd3512a2b7878c66334b2e36b6f89befdfc (patch) | |
tree | bfdfdc2a3fc907566b78f63495ed5883b7293bff | |
parent | 0dd3edd27c78b903e4a667a0d18d8092cd653982 (diff) |
#915 Test GET /scopes
And fix ogserver, report error if GET /scopes have a JSON body.
-rw-r--r-- | src/rest.c | 5 | ||||
-rw-r--r-- | tests/units/test_0025_get_scopes.py | 25 |
2 files changed, 30 insertions, 0 deletions
@@ -3859,6 +3859,11 @@ int og_client_state_process_payload_rest(struct og_client *cli) if (method != OG_METHOD_GET) return og_client_method_not_found(cli); + if (root) { + syslog(LOG_ERR, "command scopes with payload\n"); + return og_client_bad_request(cli); + } + err = og_cmd_scope_get(root, ¶ms, buf_reply); } else if (!strncmp(cmd, "poweroff", strlen("poweroff"))) { if (method != OG_METHOD_POST) diff --git a/tests/units/test_0025_get_scopes.py b/tests/units/test_0025_get_scopes.py new file mode 100644 index 0000000..dcfc04f --- /dev/null +++ b/tests/units/test_0025_get_scopes.py @@ -0,0 +1,25 @@ +import requests +import unittest + +class TestGetScopesMethods(unittest.TestCase): + + def setUp(self): + self.url = 'http://localhost:8888/scopes' + self.headers = {'Authorization' : '07b3bfe728954619b58f0107ad73acc1'} + self.json = None + + def test_get(self): + returned = requests.get(self.url, headers=self.headers, json=self.json) + self.assertEqual(returned.status_code, 200) + + def test_empty_payload(self): + returned = requests.get(self.url, headers=self.headers, json={}) + self.assertEqual(returned.status_code, 400) + + def test_malformed_payload(self): + returned = requests.get(self.url, headers=self.headers, json={ 'client': ['192.168.56.11'] }) + self.assertEqual(returned.status_code, 400) + + +if __name__ == '__main__': + unittest.main()
\ No newline at end of file |