def test_requests(self): DUT, DUT_manager = fake_clients.fake_KATCP_client_resource_container_factory( resource_client.KATCPClientResourceContainer, {}, copy.deepcopy(self.resources_spec)) DUT.start() yield DUT.until_any_child_in_state('syncing') yield DUT.until_synced() # Check the standard requests as implemented by # fake_clients.FakeInspectingClientManager. Expect this test to break if # FakeInspectingClientManager implements more requests. standard_requests = ('help', 'sensor_list') controlled_clients = [ escape_name(c_name) for c_name, c in self.resources_spec['clients'].items() if c.get('controlled')] desired_requests = sorted( escape_name(c)+'_'+r for c in controlled_clients for r in standard_requests) self.assertEqual(sorted(DUT.req.keys()), desired_requests) # Now add some requests DUT_manager.add_request_handlers_object('client1', FakeHandlers()) yield DUT.until_any_child_in_state('syncing') yield DUT.until_synced() desired_requests += ['client1_add_test', 'client1_async_divide'] desired_requests.sort() self.assertEqual(sorted(DUT.req.keys()), desired_requests) reply, informs = yield DUT.req.client1_add_test(1, 5, mid='1233') self.assertEqual(len(informs), 1) self.assertEqual(str(informs[0]), '#add-test[1233] 2 15') self.assertEqual(str(reply), '!add-test[1233] ok 6')
def test_requests(self): DUT, DUT_manager = fake_clients.fake_KATCP_client_resource_container_factory( resource_client.KATCPClientResourceContainer, {}, copy.deepcopy(self.resources_spec)) DUT.start() yield DUT.until_any_child_in_state('syncing') yield DUT.until_synced() # Check the standard requests as implemented by # fake_clients.FakeInspectingClientManager. Expect this test to break if # FakeInspectingClientManager implements more requests. standard_requests = ('help', 'sensor_list') controlled_clients = [ escape_name(c_name) for c_name, c in self.resources_spec['clients'].items() if c.get('controlled') ] desired_requests = sorted( escape_name(c) + '_' + r for c in controlled_clients for r in standard_requests) self.assertEqual(sorted(DUT.req.keys()), desired_requests) # Now add some requests DUT_manager.add_request_handlers_object('client1', FakeHandlers()) yield DUT.until_any_child_in_state('syncing') yield DUT.until_synced() desired_requests += ['client1_add_test', 'client1_async_divide'] desired_requests.sort() self.assertEqual(sorted(DUT.req.keys()), desired_requests) reply, informs = yield DUT.req.client1_add_test(1, 5, mid='1233') self.assertEqual(len(informs), 1) self.assertEqual(str(informs[0]), '#add-test[1233] 2 15') self.assertEqual(str(reply), '!add-test[1233] ok 6')
def test_sensors(self): DUT, DUT_manager = fake_clients.fake_KATCP_client_resource_container_factory( resource_client.KATCPClientResourceContainer, {}, copy.deepcopy(self.resources_spec)) sensor_info = { 'an-int': ('An integer sensor', 'things', 'integer', 0, 10), 'a-string' : ('A string sensor', '', 'string'), } DUT.start() self.assertEqual(len(DUT.sensor), 0) DUT_manager.add_sensors('client_2', sensor_info) yield DUT.until_any_child_in_state('syncing') yield DUT.until_synced() self.assertEqual(sorted(dict.keys(DUT.sensor)), ['client_2_a_string', 'client_2_an_int']) client1_sensor_info = dict(sensor_info) client1_sensor_info['uniquely-1'] = ('Unique client2 sensor', '', 'boolean') DUT_manager.add_sensors('client1', client1_sensor_info) yield DUT.until_any_child_in_state('syncing') yield DUT.until_synced()
def test_sensors(self): DUT, DUT_manager = fake_clients.fake_KATCP_client_resource_container_factory( resource_client.KATCPClientResourceContainer, {}, copy.deepcopy(self.resources_spec)) sensor_info = { 'an-int': ('An integer sensor', 'things', 'integer', 0, 10), 'a-string' : ('A string sensor', '', 'string'), } DUT.start() self.assertEqual(len(DUT.sensor), 0) DUT_manager.add_sensors('client_2', sensor_info) yield DUT.until_any_child_in_state('syncing') yield DUT.until_synced() self.assertEqual(sorted(dict.keys(DUT.sensor)), ['client_2_a_string', 'client_2_an_int']) client1_sensor_info = dict(sensor_info) client1_sensor_info['uniquely-1'] = ('Unique client2 sensor', '', 'boolean') DUT_manager.add_sensors('client1', client1_sensor_info) yield DUT.until_any_child_in_state('syncing') yield DUT.until_synced()