class RestExecutorUnitTest(unittest.TestCase): def setUp(self): self.executor = RestExecutor('test', 'test', 12345) self.response = {'cmd': 'cmd', 'type': 'type', 'value': 'value', 'time': time.time()} self.response_json = json.dumps(self.response) def assert_response(self, response): self.assertEqual(response.cmd, self.response.get('cmd')) self.assertEqual(response.type, self.response.get('type')) self.assertEqual(response.value, self.response.get('value')) self.assertEqual(response.time, self.response.get('time')) self.assertEqual(response.status_code, 200) def test_url(self): expected = 'http://test:12345/instrument/api/target/name' returned = self.executor._url('target', 'name') self.assertEqual(expected, returned) @httpretty.activate def test_execute_resource(self): httpretty.register_uri(httpretty.POST, self.executor._url('target', 'execute'), body=self.response_json) response = self.executor.execute_resource('target', 'test', {'key1': 'value1'}, timeout=60000) self.assert_response(response) @httpretty.activate def test_reset(self): httpretty.register_uri(httpretty.POST, self.executor._url('target', 'shutdown'), body=self.response_json) response = self.executor.reset('target', timeout=60000) self.assert_response(response) @httpretty.activate def test_ping(self): httpretty.register_uri(httpretty.POST, self.executor._url('target', 'ping'), body=self.response_json) response = self.executor.ping('target', timeout=60000) self.assert_response(response) @httpretty.activate def test_discover(self): httpretty.register_uri(httpretty.POST, self.executor._url('target', 'discover'), body=self.response_json) response = self.executor.discover('target', timeout=60000) self.assert_response(response) @httpretty.activate def test_get_state(self): httpretty.register_uri(httpretty.GET, self.executor._url('target', 'state'), body=self.response_json) response = self.executor.get_state('target', timeout=60000) self.assert_response(response) @httpretty.activate def test_get_resource(self): httpretty.register_uri(httpretty.GET, self.executor._url('target', 'resource'), body=self.response_json) response = self.executor.get_resource('target', 'parameter', timeout=60000) self.assert_response(response) @httpretty.activate def test_set_resource(self): httpretty.register_uri(httpretty.POST, self.executor._url('target', 'resource'), body=self.response_json) response = self.executor.set_resource('target', {}, timeout=60000) self.assert_response(response) @httpretty.activate def test_disconnect(self): httpretty.register_uri(httpretty.POST, self.executor._url('target', 'disconnect'), body=self.response_json) response = self.executor.disconnect('target', timeout=60000) self.assert_response(response) @httpretty.activate def test_connect(self): httpretty.register_uri(httpretty.POST, self.executor._url('target', 'connect'), body=self.response_json) response = self.executor.connect('target', timeout=60000) self.assert_response(response) @httpretty.activate def test_set_init_params(self): httpretty.register_uri(httpretty.POST, self.executor._url('target', 'initparams'), body=self.response_json) response = self.executor.set_init_params('target', {}, timeout=60000) self.assert_response(response) @httpretty.activate def test_lock(self): httpretty.register_uri(httpretty.POST, self.executor._url('target', 'lock'), body=self.response_json) self.executor.lock(['target']) @httpretty.activate def test_unlock(self): httpretty.register_uri(httpretty.GET, self.executor._url('target', 'lock'), body='"test"') httpretty.register_uri(httpretty.POST, self.executor._url('target', 'unlock'), body=self.response_json) self.executor.unlock(['target'])