source: ogServer-Git/tests/units/test_0022_post_image_restore_incremental.py @ 24c8b94

Last change on this file since 24c8b94 was abd2b91, checked in by OpenGnSys Support Team <soporte-og@…>, 5 years ago

#915 Test malformed payload for POST commands

This patch includes tests for the remaining REST API commands:

POST /shell/output
POST /session
POST /poweroff
POST /reboot
POST /stop
POST /refresh
POST /hardware
POST /software
POST /image/create
POST /image/restore
POST /setup
POST /image/create/basic
POST /image/create/incremental
POST /image/restore/basic
POST /image/restore/incremental
POST /run/schedule

This test covers requests that are missing one of the parameters in its
payload.

  • Property mode set to 100644
File size: 2.1 KB
Line 
1import requests
2import unittest
3
4class TestPostRestoreIncrementalImageMethods(unittest.TestCase):
5
6    def setUp(self):
7        self.url = 'http://localhost:8888/image/restore/incremental'
8        self.headers = {'Authorization' : '07b3bfe728954619b58f0107ad73acc1'}
9        self.json = { 'clients' : [ '192.168.2.1', '192.168.2.2' ],
10                      'disk': '1',
11                      'partition': '1',
12                      'id': '9',
13                      'name': 'test',
14                      'repository': '192.168.56.10',
15                      'profile': '17',
16                      'type': 'UNICAST',
17                      'sync_params':{'diff_id': '1',
18                                     'diff_name': 'test',
19                                     'path': '',
20                                     'method': '1',
21                                     'sync': '1',
22                                     'diff': '0',
23                                     'remove': '1',
24                                     'compress': '0',
25                                     'cleanup': '0',
26                                     'cache': '0',
27                                     'cleanup_cache': '0',
28                                     'remove_dst': '0'} }
29
30    def test_post(self):
31        returned = requests.post(self.url, headers=self.headers, json=self.json)
32        self.assertEqual(returned.status_code, 200)
33
34    def test_no_payload(self):
35        returned = requests.post(self.url, headers=self.headers, json=None)
36        self.assertEqual(returned.status_code, 400)
37
38    def test_malformed_payload(self):
39        for parameter in self.json:
40            malformed_payload = self.json.copy()
41            malformed_payload.pop(parameter)
42            returned = requests.post(self.url,
43                                     headers=self.headers,
44                                     json=malformed_payload)
45            self.assertEqual(returned.status_code, 400)
46
47    def test_get(self):
48        returned = requests.get(self.url, headers=self.headers)
49        self.assertEqual(returned.status_code, 405)
50
51if __name__ == '__main__':
52    unittest.main()
Note: See TracBrowser for help on using the repository browser.