diff options
author | Roberto Hueso Gómez <rhueso@soleta.eu> | 2020-01-21 12:04:26 +0100 |
---|---|---|
committer | Alvaro Neira Ayuso <aneira@soleta.eu> | 2020-01-21 17:32:52 +0100 |
commit | d401c9ff468b3df106b2693611661c3870d5b89d (patch) | |
tree | a1702c62b827b0ea8c33219ce460afb930da0760 /tests/units | |
parent | 9890d60300d4e2d2cd6d4a87de81471f943e975c (diff) |
Add /software test
This test covers a correct request.
Diffstat (limited to 'tests/units')
-rw-r--r-- | tests/units/test_0007_software.py | 38 |
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() |