Exemplo n.º 1
0
    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')
Exemplo n.º 2
0
    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')
Exemplo n.º 3
0
 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()
Exemplo n.º 4
0
 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()