summaryrefslogtreecommitdiffstats
path: root/tests/units/test_0007_software.py
diff options
context:
space:
mode:
authorRoberto Hueso Gómez <rhueso@soleta.eu>2020-01-21 12:04:26 +0100
committerAlvaro Neira Ayuso <aneira@soleta.eu>2020-01-21 17:32:52 +0100
commitd401c9ff468b3df106b2693611661c3870d5b89d (patch)
treea1702c62b827b0ea8c33219ce460afb930da0760 /tests/units/test_0007_software.py
parent9890d60300d4e2d2cd6d4a87de81471f943e975c (diff)
Add /software test
This test covers a correct request.
Diffstat (limited to 'tests/units/test_0007_software.py')
-rw-r--r--tests/units/test_0007_software.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/units/test_0007_software.py b/tests/units/test_0007_software.py
new file mode 100644
index 0000000..0984c56
--- /dev/null
+++ b/tests/units/test_0007_software.py
@@ -0,0 +1,38 @@
+#
+# Copyright (C) 2020 Soleta Networks <info@soleta.eu>
+#
+# This program is free software: you can redistribute it and/or modify it under
+# the terms of the GNU Affero General Public License as published by the
+# Free Software Foundation, version 3.
+#
+
+from server import Server
+from client import Client
+import unittest
+import json
+
+class TestSoftwareMethods(unittest.TestCase):
+
+ def test_correct_post(self):
+ req_json = '{"disk": 1, "partition": 1}'
+ req = 'POST /software HTTP/1.0\r\nContent-Length:' + \
+ str(len(req_json)) + \
+ '\r\nContent-Type:application/json\r\n\r\n' + req_json
+ c = Client()
+ s = Server()
+ s.connect()
+ s.send(req)
+ client_response = s.recv()
+ s.stop()
+ c.stop()
+
+ self.assertRegex(client_response, '^HTTP/1.0 200 OK\r\n*')
+ client_response = client_response.split('\r\n\r\n')
+ response_json = json.loads(client_response[1])
+
+ self.assertIn('partition', response_json)
+ self.assertIn('software', response_json)
+ self.assertIn('disk', response_json)
+
+if __name__ == '__main__':
+ unittest.main()