source: ogServer-Git/tests/units/test_0031_post_room_add.py @ a801e78

Last change on this file since a801e78 was 29e7641, checked in by OpenGnSys Support Team <soporte-og@…>, 3 years ago

#915 Add /room/add POST method

Adds POST method to add rooms (labs), required payload parameters are
name, netmask and center; any additional attributes are optional.

Required JSON:

{ "center": 0,

"name": "classroom10",
"netmask": "255.255.255.0" }

Full JSON:

{ "center": 0,

"name": "classroom11",
"netmask": "255.255.255.0",
"group": 0,
"location": "First floor",
"gateway": "192.168.56.1",
"ntp": "hora.cica.es",
"dns": "1.1.1.1",
"remote": True }

This commit also adds unit tests for /room/add POST method.

  • Property mode set to 100644
File size: 1.9 KB
Line 
1import requests
2import unittest
3
4class TestPostRoomAddMethods(unittest.TestCase):
5
6    def setUp(self):
7        self.url = 'http://localhost:8888/room/add'
8        self.headers = {'Authorization' : '07b3bfe728954619b58f0107ad73acc1'}
9        self.full_json = { "center": 0,
10                           "name": "classroom11",
11                           "netmask": "255.255.255.0",
12                           "group": 0,
13                           "location": "First floor",
14                           "gateway": "192.168.56.1",
15                           "ntp": "hora.cica.es",
16                           "dns": "1.1.1.1",
17                           "remote": True }
18        self.minimal_json = { "center": 0,
19                              "name": "classroom10",
20                              "netmask": "255.255.255.0" }
21        self.duplicated_room_json = { "center": 0,
22                                      "name": "repeated_room",
23                                      "netmask": "255.255.255.0" }
24
25    def test_post(self):
26        returned = requests.post(self.url, headers=self.headers,
27                                 json=self.full_json)
28        self.assertEqual(returned.status_code, 200)
29
30    def test_post_only_required_fields(self):
31        returned = requests.post(self.url, headers=self.headers,
32                                 json=self.minimal_json)
33        self.assertEqual(returned.status_code, 200)
34
35    def test_post_duplicated_room(self):
36        requests.post(self.url, headers=self.headers,
37                                 json=self.duplicated_room_json)
38        returned = requests.post(self.url, headers=self.headers,
39                                 json=self.duplicated_room_json)
40        self.assertEqual(returned.status_code, 400)
41
42    def test_get(self):
43        returned = requests.get(self.url, headers=self.headers)
44        self.assertEqual(returned.status_code, 405)
45
46if __name__ == '__main__':
47    unittest.main()
Note: See TracBrowser for help on using the repository browser.