class TestInstrumentAgent(IonTestCase): @defer.inlineCallbacks def setUp(self): yield self._start_container() # Start an instrument agent processes = [ {'name':'testSBE49IA','module':'ion.agents.instrumentagents.SBE49'}, ] sup = yield self._spawn_processes(processes) svc_id = sup.get_child_id('testSBE49IA') # Start a client (for the RPC) self.IAClient = InstrumentAgentClient(proc=sup, target=svc_id) @defer.inlineCallbacks def tearDown(self): yield self._stop_container() @defer.inlineCallbacks def testGetSBE49Capabilities(self): """ Test the ability to gather capabilities from the SBE49 instrument capabilities """ (content, headers, message) = \ yield self.IAClient.rpc_send('getCapabilities', ()) self.assert_(set(IAcommands) == set(content['commands'])) self.assert_(set(IAparameters) == set(content['parameters'])) @defer.inlineCallbacks def testGetSetSBE49Params(self): """ Test the ability of the SBE49 driver to send and receive get, set, and other messages. Best called as RPC message pairs. """ (content, headers, message) = \ yield self.IAClient.rpc_send('get', ('baudrate','outputformat')) self.assertEqual(content, {'baudrate' : 9600, 'outputformat' : 0}) (content, headers, message) = \ yield self.IAClient.rpc_send('set', {'baudrate': 19200, 'outputformat': 1}) self.assertEqual(content, {'baudrate' : 19200, 'outputformat' : 1}) (content, headers, message) = \ yield self.IAClient.rpc_send('get', ('baudrate', 'outputformat')) self.assertEqual(content, {'baudrate' : 19200, 'outputformat' : 1}) (content, headers, message) = \ yield self.IAClient.rpc_send('setLifecycleState', 'undeveloped') self.assertEqual(content, 'undeveloped') (content, headers, message) = \ yield self.IAClient.rpc_send('getLifecycleState', '') self.assertEqual(content, 'undeveloped') (content, headers, message) = \ yield self.IAClient.rpc_send('setLifecycleState', 'developed') self.assertEqual(content, 'developed') (content, headers, message) = \ yield self.IAClient.rpc_send('getLifecycleState', '') self.assertEqual(content, 'developed')