def test_driver_protocol_filter_capabilities(self): """ Iterate through available capabilities, and verify that they can pass successfully through the filter. Test silly made up capabilities to verify they are blocked by filter. """ mock_callback = Mock(spec="PortAgentClient") protocol = SatlanticPARInstrumentProtocol(mock_callback) driver_capabilities = PARCapability().list() test_capabilities = PARCapability().list() # Add a bogus capability that will be filtered out. test_capabilities.append("BOGUS_CAPABILITY") # Verify "BOGUS_CAPABILITY was filtered out self.assertEquals(sorted(driver_capabilities), sorted(protocol._filter_capabilities(test_capabilities)))
def test_driver_enums(self): """ Verify that all driver enumeration has no duplicate values that might cause confusion. Also do a little extra validation for the Capabilites """ self.assert_enum_has_no_duplicates(Command()) self.assert_enum_has_no_duplicates(ScheduledJob()) self.assert_enum_has_no_duplicates(DataParticleType()) self.assert_enum_has_no_duplicates(PARProtocolState()) self.assert_enum_has_no_duplicates(PARProtocolEvent()) self.assert_enum_has_no_duplicates(Parameter()) # Test capabilites for duplicates, them verify that capabilities is a subset of proto events self.assert_enum_has_no_duplicates(PARCapability()) self.assert_enum_complete(PARCapability(), PARProtocolEvent())
def test_driver_protocol_filter_capabilities(self): """ Iterate through available capabilities, and verify that they can pass successfully through the filter. Test silly made up capabilities to verify they are blocked by filter. """ mock_callback = Mock(spec="PortAgentClient") protocol = SatlanticPARInstrumentProtocol(mock_callback) driver_capabilities = PARCapability().list() test_capabilities = PARCapability().list() # Add a bogus capability that will be filtered out. test_capabilities.append("BOGUS_CAPABILITY") # Verify "BOGUS_CAPABILITY was filtered out self.assertEquals( sorted(driver_capabilities), sorted(protocol._filter_capabilities(test_capabilities)))
def test_metadata_generation(self): """ Verify the driver generates metadata information """ self.assert_initialize_driver() self.assert_metadata_generation(instrument_params=Parameter.list(), commands=PARCapability.list()) # check one to see that the file is loading data from somewhere. json_result = self.driver_client.cmd_dvr("get_config_metadata") result = json.loads(json_result) params = result[ConfigMetadataKey.PARAMETERS] self.assertEqual(params[Parameter.MAXRATE][ParameterDictKey.DISPLAY_NAME], "Max Rate") cmds = result[ConfigMetadataKey.COMMANDS] self.assertEqual(cmds[PARCapability.ACQUIRE_SAMPLE][CommandDictKey.DISPLAY_NAME], "Acquire Sample")
def test_metadata_generation(self): """ Verify the driver generates metadata information """ self.assert_initialize_driver() self.assert_metadata_generation(instrument_params=Parameter.list(), commands=PARCapability.list()) # check one to see that the file is loading data from somewhere. json_result = self.driver_client.cmd_dvr("get_config_metadata") result = json.loads(json_result) params = result[ConfigMetadataKey.PARAMETERS] self.assertEqual( params[Parameter.MAXRATE][ParameterDictKey.DISPLAY_NAME], "Max Rate") cmds = result[ConfigMetadataKey.COMMANDS] self.assertEqual( cmds[PARCapability.ACQUIRE_SAMPLE][CommandDictKey.DISPLAY_NAME], "Acquire Sample")