summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJavier Sánchez Parra <jsanchez@soleta.eu>2019-09-10 09:06:13 +0200
committerOpenGnSys Support Team <soporte-og@soleta.eu>2019-09-10 11:10:34 +0200
commit7534054cb2a4d7ac64cfa8485c1401c587b148bf (patch)
treeffb0013e03ecd40431e4258a785f285f115b5186
parent8793b71a31e337cea0e499fd38257bbfa14bba7e (diff)
#915 add test for too large HTTP request fields
This test checks for wrong headers HTTP requests: 1. POST /clients with a content length larger than a signed int. 2. POST /clients with an auth token larger than 63 characters.
-rw-r--r--admin/Sources/Services/ogAdmServer/tests/units/test_0015_wrong_headers.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/admin/Sources/Services/ogAdmServer/tests/units/test_0015_wrong_headers.py b/admin/Sources/Services/ogAdmServer/tests/units/test_0015_wrong_headers.py
new file mode 100644
index 00000000..8a353217
--- /dev/null
+++ b/admin/Sources/Services/ogAdmServer/tests/units/test_0015_wrong_headers.py
@@ -0,0 +1,29 @@
+import requests
+import unittest
+
+class TestPostWrongHeaders(unittest.TestCase):
+
+ def setUp(self):
+ self.url = 'http://localhost:8888/clients'
+ self.too_large_content_length_headers = {'Authorization' :
+ '07b3bfe728954619b58f0107ad73acc1', 'Content-Length' :
+ '999999999999999999999999999999999999999999999999999999999'}
+ self.too_large_auth_headers = {'Authorization' :
+ 'TooLongoTooLongTooLongTooLongTooLongTooLongTooLongTooLong'
+ 'TooLongoTooLongTooLongTooLongTooLongTooLongTooLongTooLong'
+ 'TooLongoTooLongTooLongTooLongTooLongTooLongTooLongTooLong'}
+ self.json = { 'clients' : [ '192.168.2.1', '192.168.2.2' ] }
+
+ def test_post_too_large_content(self):
+ with self.assertRaises(requests.exceptions.ConnectionError) as context:
+ returned = requests.post(self.url,
+ headers=self.too_large_content_length_headers)
+
+ self.assertTrue('Connection aborted' in str(context.exception))
+
+ def test_post_too_large_auth(self):
+ returned = requests.post(self.url, headers=self.too_large_auth_headers)
+ self.assertEqual(returned.status_code, 401)
+
+if __name__ == '__main__':
+ unittest.main()