def test_parse_alert_ranges(self): loader = IONLoader() out = loader._parse_alert_range('5<temp<10') self.assertEqual('<', out['lower_rel_op']) self.assertEqual(5, out['lower_bound']) self.assertEqual('<', out['upper_rel_op']) self.assertEqual(10, out['upper_bound']) self.assertEqual('temp', out['value_id']) out = loader._parse_alert_range('5<=temp<10') self.assertEqual('<=', out['lower_rel_op']) self.assertEqual(5, out['lower_bound']) self.assertEqual('<', out['upper_rel_op']) self.assertEqual(10, out['upper_bound']) self.assertEqual('temp', out['value_id']) out = loader._parse_alert_range('5<temp<=10') self.assertEqual('<', out['lower_rel_op']) self.assertEqual(5, out['lower_bound']) self.assertEqual('<=', out['upper_rel_op']) self.assertEqual(10, out['upper_bound']) self.assertEqual('temp', out['value_id']) out = loader._parse_alert_range('5<=temp<=10') self.assertEqual('<=', out['lower_rel_op']) self.assertEqual(5, out['lower_bound']) self.assertEqual('<=', out['upper_rel_op']) self.assertEqual(10, out['upper_bound']) self.assertEqual('temp', out['value_id']) out = loader._parse_alert_range('5<temp') self.assertEqual('<', out['lower_rel_op']) self.assertEqual(5, out['lower_bound']) self.assertEqual(3, len(out), msg='value: %r' % out) self.assertEqual('temp', out['value_id']) out = loader._parse_alert_range('5<=temp') self.assertEqual('<=', out['lower_rel_op']) self.assertEqual(5, out['lower_bound']) self.assertEqual('temp', out['value_id']) self.assertEqual(3, len(out)) out = loader._parse_alert_range('temp<10') self.assertEqual('<', out['upper_rel_op']) self.assertEqual(10, out['upper_bound']) self.assertEqual('temp', out['value_id']) self.assertEqual(3, len(out)) out = loader._parse_alert_range('temp<=10') self.assertEqual('<=', out['upper_rel_op']) self.assertEqual(10, out['upper_bound']) self.assertEqual('temp', out['value_id']) self.assertEqual(3, len(out))
def test_get_agent_definition(self): loader = IONLoader() ooi_loader = OOILoader(None, asset_path='res/preload/r2_ioc/ooi_assets', mapping_path=OOI_MAPPING_DOC) loader.ooi_loader = ooi_loader loader.ooi_loader.extract_ooi_assets() inst_objs = ooi_loader.get_type_assets("instrument") node_objs = ooi_loader.get_type_assets("node") loader._get_resource_obj = Mock( return_value=IonObject(RT.ExternalDatasetAgent)) # for ooi_id in sorted(inst_objs): # ooi_rd = OOIReferenceDesignator(ooi_id) # agent_id, agent_obj = loader._get_agent_definition(ooi_rd) # log.info("RD: %s, agent_id: %s", ooi_id, agent_id) checks = [ # Check some mapping override cases ("CP01CNSM-MF004-03-DOSTAD999", "DART_DOSTA_D_CSTL"), ("CP01CNSM-RI003-05-FLORTD999", "DART_FLORT_D_CSTL"), ("CP02PMUO-RI001-01-ADCPSL999", "DART_ADCPS_L_CSTL"), # Check some default cases ("GA03FLMB-RI001-03-DOSTAD999", "DART_DOSTA_D"), ("GA03FLMB-RI001-01-FLORTD999", "DART_FLORT_D"), ("GA03FLMB-RI001-04-ADCPSL999", "DART_ADCPS_L"), # Check some cases without mapping (using default) ("GI05MOAS-GL001-01-FLORDM999", "DART_FLORD_M"), ] for ooi_id, expected_agent_id in checks: ooi_rd = OOIReferenceDesignator(ooi_id) agent_id, agent_obj = loader._get_agent_definition(ooi_rd) self.assertEquals(agent_id, expected_agent_id)