本文整理汇总了Python中pyon.util.containers.DotDict.resource_registry方法的典型用法代码示例。如果您正苦于以下问题:Python DotDict.resource_registry方法的具体用法?Python DotDict.resource_registry怎么用?Python DotDict.resource_registry使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pyon.util.containers.DotDict
的用法示例。
在下文中一共展示了DotDict.resource_registry方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _create_instrument_config_builder
# 需要导入模块: from pyon.util.containers import DotDict [as 别名]
# 或者: from pyon.util.containers.DotDict import resource_registry [as 别名]
def _create_instrument_config_builder(self):
clients = DotDict()
clients.resource_registry = self.RR
clients.pubsub_management = self.PSC
clients.dataset_management = self.DSC
iconfig_builder = InstrumentAgentConfigurationBuilder(clients)
return iconfig_builder
示例2: _create_platform_config_builder
# 需要导入模块: from pyon.util.containers import DotDict [as 别名]
# 或者: from pyon.util.containers.DotDict import resource_registry [as 别名]
def _create_platform_config_builder(self):
clients = DotDict()
clients.resource_registry = self.RR
clients.pubsub_management = self.PSC
clients.dataset_management = self.DSC
pconfig_builder = PlatformAgentConfigurationBuilder(clients)
# can't do anything without an agent instance obj
log.debug("Testing that preparing a launcher without agent instance raises an error")
self.assertRaises(AssertionError, pconfig_builder.prepare, will_launch=False)
return pconfig_builder
示例3: test_observatory_structure
# 需要导入模块: from pyon.util.containers import DotDict [as 别名]
# 或者: from pyon.util.containers.DotDict import resource_registry [as 别名]
def test_observatory_structure(self):
"""
"""
c = self.client
c2 = DotDict()
c2.resource_registry = self.client.RR
#generate a function that finds direct associations, using the more complex one in the service
def gen_find_oms_association(output_type):
def freeze():
def finder_fun(obj_id):
log.debug("Finding related %s frames", output_type)
ret = c.OMS.find_related_frames_of_reference(obj_id, [output_type])
return ret[output_type]
return finder_fun
return freeze()
###############################################
#
# Assumptions or Order of Events for R2 Preloaded resources
#
# - orgs
# - sites
# - models
# - agents
# - devices
# - instances
# - attachments
#
###############################################
###############################################
#
# orgs
#
###############################################
org_id = self.client.OMS.create_marine_facility(any_old(RT.Org))
def add_to_org_fn(generic_resource_id):
log.info("Associating with Org")
self.client.OMS.assign_resource_to_observatory_org(generic_resource_id, org_id)
###############################################
#
# sites
#
###############################################
log.info("Create an observatory")
observatory_id = self.perform_fcruf_script(RT.Observatory,
"observatory",
self.client.OMS,
actual_obj=None,
extra_fn=add_to_org_fn)
log.info("Create a subsite")
subsite_id = self.perform_fcruf_script(RT.Subsite,
"subsite",
self.client.OMS,
actual_obj=None,
extra_fn=add_to_org_fn)
log.info("Create a platform site")
platform_site_id = self.perform_fcruf_script(RT.PlatformSite,
"platform_site",
self.client.OMS,
actual_obj=None,
extra_fn=add_to_org_fn)
log.info("Create instrument site")
instSite_obj = IonObject(RT.InstrumentSite,
name="instrument_site",
reference_designator="GA01SUMO-FI003-01-CTDMO0999")
instrument_site_id = self.perform_fcruf_script(RT.InstrumentSite,
"instrument_site",
self.client.OMS,
actual_obj=instSite_obj,
extra_fn=add_to_org_fn)
###############################################
#
# models
#
###############################################
log.info("Create a platform model")
platform_model_id = self.perform_fcruf_script(RT.PlatformModel,
"platform_model",
self.client.IMS)
#.........这里部分代码省略.........
示例4: template_tst_deployment_context
# 需要导入模块: from pyon.util.containers import DotDict [as 别名]
# 或者: from pyon.util.containers.DotDict import resource_registry [as 别名]
def template_tst_deployment_context(self, context=None):
"""
Creates a minimal deployment: 1 instrument, 1 site. deployment context must be provided
"""
c = self.client
c2 = DotDict()
c2.resource_registry = self.client.RR
log.info("Create a instrument model")
instrument_model_id = self.perform_fcruf_script(RT.InstrumentModel,
"instrument_model",
self.client.IMS)
log.info("Create an instrument device")
instrument_device_id = self.perform_fcruf_script(RT.InstrumentDevice,
"instrument_device",
self.client.IMS)
log.info("Create instrument site")
instrument_site_id = self.perform_fcruf_script(RT.InstrumentSite,
"instrument_site",
self.client.OMS)
log.info("Associate instrument model with instrument site")
self.perform_association_script(c.OMS.assign_instrument_model_to_instrument_site,
self.RR2.find_instrument_sites_by_instrument_model_using_has_model,
self.RR2.find_instrument_models_of_instrument_site_using_has_model,
instrument_site_id,
instrument_model_id)
log.info("Associate instrument model with instrument device")
self.perform_association_script(c.IMS.assign_instrument_model_to_instrument_device,
c.IMS.find_instrument_device_by_instrument_model,
c.IMS.find_instrument_model_by_instrument_device,
instrument_device_id,
instrument_model_id)
log.info("Create a stream definition for the data from the ctd simulator")
pdict_id = self.dataset_management.read_parameter_dictionary_by_name('ctd_parsed_param_dict', id_only=True)
ctd_stream_def_id = self.client.PSMS.create_stream_definition(name='Simulated CTD data', parameter_dictionary_id=pdict_id)
log.info("Create an IonObject for a data products")
dp_obj = self.create_data_product_obj()
dp_obj.name = create_unique_identifier('Inst Data Product')
inst_data_product_id = c.DPMS.create_data_product(dp_obj, ctd_stream_def_id)
#assign data products appropriately
c.DAMS.assign_data_product(input_resource_id=instrument_device_id,
data_product_id=inst_data_product_id)
deployment_obj = any_old(RT.Deployment, dict(context=context))
deployment_id = c.OMS.create_deployment(deployment_obj)
c.OMS.assign_site_to_deployment(instrument_site_id, deployment_id)
c.OMS.assign_device_to_deployment(instrument_device_id, deployment_id)
c.OMS.activate_deployment(deployment_id, True)
# cleanup
self.RR2.pluck(instrument_model_id)
self.RR2.pluck(deployment_id)
self.RR2.pluck(instrument_device_id)
c.IMS.force_delete_instrument_model(instrument_model_id)
c.IMS.force_delete_instrument_device(instrument_device_id)
c.OMS.force_delete_instrument_site(instrument_site_id)
c.OMS.force_delete_deployment(deployment_id)
示例5: base_agent_instance_config
# 需要导入模块: from pyon.util.containers import DotDict [as 别名]
# 或者: from pyon.util.containers.DotDict import resource_registry [as 别名]
def base_agent_instance_config(self,
assign_child_platform_to_parent_platform_fn,
find_child_platform_ids_of_parent_platform_fn):
"""
Verify that agent configurations are being built properly
"""
clients = DotDict()
clients.resource_registry = self.RR
clients.pubsub_management = self.PSC
clients.dataset_management = self.DSC
config_builder = DotDict
config_builder.i = None
config_builder.p = None
def refresh_pconfig_builder_hack(config_builder):
"""
ugly hack to get around "idempotent" RR2 caching
remove after https://github.com/ooici/coi-services/pull/1190
"""
config_builder.p = PlatformAgentConfigurationBuilder(clients)
def refresh_iconfig_builder_hack(config_builder):
"""
ugly hack to get around "idempotent" RR2 caching
remove after https://github.com/ooici/coi-services/pull/1190
"""
config_builder.i = InstrumentAgentConfigurationBuilder(clients)
tdom, sdom = time_series_domain()
sdom = sdom.dump()
tdom = tdom.dump()
org_obj = any_old(RT.Org)
org_id = self.RR2.create(org_obj)
inst_startup_config = {'startup': 'config'}
generic_alerts_config = [ {'lvl2': 'lvl3val'} ]
required_config_keys = [
'org_governance_name',
'device_type',
'agent',
'driver_config',
'stream_config',
'startup_config',
'aparam_alerts_config',
'children']
def verify_instrument_config(config, device_id):
for key in required_config_keys:
self.assertIn(key, config)
self.assertEqual(org_obj.org_governance_name, config['org_governance_name'])
self.assertEqual(RT.InstrumentDevice, config['device_type'])
self.assertIn('driver_config', config)
driver_config = config['driver_config']
expected_driver_fields = {'process_type': ('ZMQPyClassDriverLauncher',),
}
for k, v in expected_driver_fields.iteritems():
self.assertIn(k, driver_config)
self.assertEqual(v, driver_config[k])
self.assertEqual
self.assertEqual({'resource_id': device_id}, config['agent'])
self.assertEqual(inst_startup_config, config['startup_config'])
self.assertIn('aparam_alerts_config', config)
self.assertEqual(generic_alerts_config, config['aparam_alerts_config'])
self.assertIn('stream_config', config)
for key in ['children']:
self.assertEqual({}, config[key])
def verify_child_config(config, device_id, inst_device_id=None):
for key in required_config_keys:
self.assertIn(key, config)
self.assertEqual(org_obj.org_governance_name, config['org_governance_name'])
self.assertEqual(RT.PlatformDevice, config['device_type'])
self.assertEqual({'resource_id': device_id}, config['agent'])
self.assertIn('aparam_alerts_config', config)
self.assertEqual(generic_alerts_config, config['aparam_alerts_config'])
self.assertIn('stream_config', config)
self.assertIn('driver_config', config)
self.assertIn('foo', config['driver_config'])
self.assertIn('ports', config['driver_config'])
self.assertEqual('bar', config['driver_config']['foo'])
self.assertIn('process_type', config['driver_config'])
self.assertEqual(('ZMQPyClassDriverLauncher',), config['driver_config']['process_type'])
if None is inst_device_id:
for key in ['children', 'startup_config']:
self.assertEqual({}, config[key])
else:
for key in ['startup_config']:
self.assertEqual({}, config[key])
self.assertIn(inst_device_id, config['children'])
verify_instrument_config(config['children'][inst_device_id], inst_device_id)
#.........这里部分代码省略.........
示例6: test_lca_step_1_to_6
# 需要导入模块: from pyon.util.containers import DotDict [as 别名]
# 或者: from pyon.util.containers.DotDict import resource_registry [as 别名]
def test_lca_step_1_to_6(self):
c = self.client
c2 = DotDict()
c2.resource_registry = self.client.RR
inst_model_impl = InstrumentModelImpl(c2)
def find_instrument_model_by_stream_definition(stream_definition_id):
return inst_model_impl.find_having_stream_definition(stream_definition_id)
def find_stream_definition_by_instrument_model(instrument_model_id):
return inst_model_impl.find_stemming_stream_definition(instrument_model_id)
resource_ids = self._low_level_init()
log.info("LCA steps 1.3, 1.4, 1.5, 1.6, 1.7: FCRUF marine facility")
observatory_id = self.generic_fcruf_script(RT.Observatory,
"observatory",
self.client.OMS,
True)
log.info("LCA steps 3.1, 3.2, 3.3, 3.4: FCRF site")
# site_id = self.generic_fcruf_script(RT.Site,
# "site",
# self.client.OMS,
# True)
log.info("LCA <missing step>: associate site with marine facility")
# self.generic_association_script(c.OMS.assign_site_to_observatory,
# c.OMS.find_observatory_by_site,
# c.OMS.find_site_by_observatory,
# observatory_id,
# site_id)
log.info("LCA step 4.1, 4.2: FCU platform model")
platform_model_id = self.generic_fcruf_script(RT.PlatformModel,
"platform_model",
self.client.IMS,
True)
log.info("LCA step 4.3, 4.4: CF logical platform")
# logical_platform_id = self.generic_fcruf_script(RT.LogicalPlatform,
# "logical_platform",
# self.client.OMS,
# True)
log.info("LCA step 4.5: C platform device")
platform_device_id = self.generic_fcruf_script(RT.PlatformDevice,
"platform_device",
self.client.IMS,
False)
log.info("LCA step 4.6: Assign logical platform to site")
# self.generic_association_script(c.OMS.assign_logical_platform_to_site,
# c.OMS.find_site_by_logical_platform,
# c.OMS.find_logical_platform_by_site,
# site_id,
# logical_platform_id)
log.info("LCA <missing step>: assign_platform_model_to_platform_device")
self.generic_association_script(c.IMS.assign_platform_model_to_platform_device,
c.IMS.find_platform_device_by_platform_model,
c.IMS.find_platform_model_by_platform_device,
platform_device_id,
platform_model_id)
log.info("LCA <missing step>: deploy_platform_device_to_logical_platform")
#c.IMS.deploy_platform_device_to_logical_platform(platform_device_id, logical_platform_id)
# currently no find ops available to verify this operation
log.info("LCA step 5.1, 5.2: FCU instrument model")
instrument_model_id = self.generic_fcruf_script(RT.InstrumentModel,
"instrument_model",
self.client.IMS,
True)
log.info("LCA <missing step>: assign stream definitions to instrument model")
for name, stream_definition_id in resource_ids[RT.StreamDefinition].iteritems():
self.generic_association_script(c.IMS.assign_stream_definition_to_instrument_model,
find_instrument_model_by_stream_definition,
find_stream_definition_by_instrument_model,
instrument_model_id,
stream_definition_id)
log.info("LCA step 5.3: CU logical instrument")
# logical_instrument_id = self.generic_fcruf_script(RT.LogicalInstrument,
# "logical_instrument",
# self.client.OMS,
# True)
log.info("Create a data product to be the 'logical' one")
#TODO: do this automatically as part of logical instrument association with model?
log_data_product_id = self.generic_fcruf_script(RT.DataProduct,
"data_product",
#.........这里部分代码省略.........
示例7: test_resources_associations_extensions
# 需要导入模块: from pyon.util.containers import DotDict [as 别名]
# 或者: from pyon.util.containers.DotDict import resource_registry [as 别名]
#.........这里部分代码省略.........
self.assertEqual(len(extended_instrument.owners), 2)
self.assertEqual(extended_instrument.instrument_model._id, instrument_model_id)
# Lifecycle
self.assertEquals(len(extended_instrument.lcstate_transitions), 7)
self.assertEquals(set(extended_instrument.lcstate_transitions.keys()), set(['enable', 'develop', 'deploy', 'retire', 'plan', 'integrate', 'announce']))
# Verify that computed attributes exist for the extended instrument
self.assertIsInstance(extended_instrument.computed.firmware_version, ComputedFloatValue)
self.assertIsInstance(extended_instrument.computed.last_data_received_datetime, ComputedFloatValue)
self.assertIsInstance(extended_instrument.computed.last_calibration_datetime, ComputedFloatValue)
self.assertIsInstance(extended_instrument.computed.uptime, ComputedStringValue)
self.assertIsInstance(extended_instrument.computed.power_status_roll_up, ComputedIntValue)
self.assertIsInstance(extended_instrument.computed.communications_status_roll_up, ComputedIntValue)
self.assertIsInstance(extended_instrument.computed.data_status_roll_up, ComputedIntValue)
self.assertIsInstance(extended_instrument.computed.location_status_roll_up, ComputedIntValue)
log.debug("extended_instrument.computed: %s", extended_instrument.computed)
#check model
inst_model_obj = self.RR.read(instrument_model_id)
self.assertEqual(inst_model_obj.name, extended_instrument.instrument_model.name)
#check agent instance
inst_agent_instance_obj = self.RR.read(instrument_agent_instance_id)
self.assertEqual(inst_agent_instance_obj.name, extended_instrument.agent_instance.name)
#check agent
inst_agent_obj = self.RR.read(instrument_agent_id)
#compound assoc return list of lists so check the first element
self.assertEqual(inst_agent_obj.name, extended_instrument.instrument_agent.name)
#check platform device
plat_device_obj = self.RR.read(platform_device_id)
self.assertEqual(plat_device_obj.name, extended_instrument.platform_device.name)
extended_platform = self.IMS.get_platform_device_extension(platform_device_id)
self.assertEqual(1, len(extended_platform.instrument_devices))
self.assertEqual(instrument_device_id, extended_platform.instrument_devices[0]._id)
self.assertEqual(1, len(extended_platform.instrument_models))
self.assertEqual(instrument_model_id, extended_platform.instrument_models[0]._id)
self.assertEquals(extended_platform.platform_agent._id, platform_agent_id)
self.assertEquals(len(extended_platform.lcstate_transitions), 7)
self.assertEquals(set(extended_platform.lcstate_transitions.keys()), set(['enable', 'develop', 'deploy', 'retire', 'plan', 'integrate', 'announce']))
#check sensor devices
self.assertEqual(1, len(extended_instrument.sensor_devices))
#check data_product_parameters_set
self.assertEqual(ComputedValueAvailability.PROVIDED,
extended_instrument.computed.data_product_parameters_set.status)
self.assertTrue( 'Parsed_Canonical' in extended_instrument.computed.data_product_parameters_set.value)
# the ctd parameters should include 'temp'
self.assertTrue( 'temp' in extended_instrument.computed.data_product_parameters_set.value['Parsed_Canonical'])
#none of these will work because there is no agent
self.assertEqual(ComputedValueAvailability.NOTAVAILABLE,
extended_instrument.computed.firmware_version.status)
# self.assertEqual(ComputedValueAvailability.NOTAVAILABLE,
# extended_instrument.computed.operational_state.status)
# self.assertEqual(ComputedValueAvailability.PROVIDED,
# extended_instrument.computed.power_status_roll_up.status)
# self.assertEqual(ComputedValueAvailability.PROVIDED,
# extended_instrument.computed.communications_status_roll_up.status)
# self.assertEqual(ComputedValueAvailability.PROVIDED,
# extended_instrument.computed.data_status_roll_up.status)
# self.assertEqual(StatusType.STATUS_OK,
# extended_instrument.computed.data_status_roll_up.value)
# self.assertEqual(ComputedValueAvailability.PROVIDED,
# extended_instrument.computed.location_status_roll_up.status)
# self.assertEqual(ComputedValueAvailability.PROVIDED,
# extended_instrument.computed.recent_events.status)
# self.assertEqual([], extended_instrument.computed.recent_events.value)
# cleanup
c = DotDict()
c.resource_registry = self.RR
self.RR2.pluck(instrument_agent_id)
self.RR2.pluck(instrument_model_id)
self.RR2.pluck(instrument_device_id)
self.RR2.pluck(platform_agent_id)
self.RR2.pluck(sensor_device_id)
self.IMS.force_delete_instrument_agent(instrument_agent_id)
self.IMS.force_delete_instrument_model(instrument_model_id)
self.IMS.force_delete_instrument_device(instrument_device_id)
self.IMS.force_delete_platform_agent_instance(platform_agent_instance_id)
self.IMS.force_delete_platform_agent(platform_agent_id)
self.IMS.force_delete_platform_device(platform_device_id)
self.IMS.force_delete_platform_model(platform_model_id)
self.IMS.force_delete_sensor_device(sensor_device_id)
self.IMS.force_delete_sensor_model(sensor_model_id)
#stuff we associate to
self.RR.delete(data_producer_id)
self.RR.delete(org_id)
示例8: test_agent_instance_config
# 需要导入模块: from pyon.util.containers import DotDict [as 别名]
# 或者: from pyon.util.containers.DotDict import resource_registry [as 别名]
def test_agent_instance_config(self):
"""
Verify that agent configurations are being built properly
"""
clients = DotDict()
clients.resource_registry = self.RR
clients.pubsub_management = self.PSC
clients.dataset_management = self.DSC
pconfig_builder = PlatformAgentConfigurationBuilder(clients)
iconfig_builder = InstrumentAgentConfigurationBuilder(clients)
tdom, sdom = time_series_domain()
sdom = sdom.dump()
tdom = tdom.dump()
org_obj = any_old(RT.Org)
org_id = self.RR2.create(org_obj)
inst_startup_config = {'startup': 'config'}
generic_alerts_config = {'lvl1': {'lvl2': 'lvl3val'}}
required_config_keys = [
'org_name',
'device_type',
'agent',
'driver_config',
'stream_config',
'startup_config',
'aparam_alert_config',
'children']
def verify_instrument_config(config, device_id):
for key in required_config_keys:
self.assertIn(key, config)
self.assertEqual(org_obj.name, config['org_name'])
self.assertEqual(RT.InstrumentDevice, config['device_type'])
self.assertIn('driver_config', config)
driver_config = config['driver_config']
expected_driver_fields = {'process_type': ('ZMQPyClassDriverLauncher',),
}
for k, v in expected_driver_fields.iteritems():
self.assertIn(k, driver_config)
self.assertEqual(v, driver_config[k])
self.assertEqual
self.assertEqual({'resource_id': device_id}, config['agent'])
self.assertEqual(inst_startup_config, config['startup_config'])
self.assertIn('aparam_alert_config', config)
self.assertEqual(generic_alerts_config, config['aparam_alert_config'])
self.assertIn('stream_config', config)
for key in ['children']:
self.assertEqual({}, config[key])
def verify_child_config(config, device_id, inst_device_id=None):
for key in required_config_keys:
self.assertIn(key, config)
self.assertEqual(org_obj.name, config['org_name'])
self.assertEqual(RT.PlatformDevice, config['device_type'])
self.assertEqual({'resource_id': device_id}, config['agent'])
self.assertIn('aparam_alert_config', config)
self.assertEqual(generic_alerts_config, config['aparam_alert_config'])
self.assertIn('stream_config', config)
self.assertIn('driver_config', config)
self.assertIn('foo', config['driver_config'])
self.assertEqual('bar', config['driver_config']['foo'])
self.assertIn('process_type', config['driver_config'])
self.assertEqual(('ZMQPyClassDriverLauncher',), config['driver_config']['process_type'])
if None is inst_device_id:
for key in ['children', 'startup_config']:
self.assertEqual({}, config[key])
else:
for key in ['startup_config']:
self.assertEqual({}, config[key])
self.assertIn(inst_device_id, config['children'])
verify_instrument_config(config['children'][inst_device_id], inst_device_id)
def verify_parent_config(config, parent_device_id, child_device_id, inst_device_id=None):
for key in required_config_keys:
self.assertIn(key, config)
self.assertEqual(org_obj.name, config['org_name'])
self.assertEqual(RT.PlatformDevice, config['device_type'])
self.assertIn('process_type', config['driver_config'])
self.assertEqual(('ZMQPyClassDriverLauncher',), config['driver_config']['process_type'])
self.assertEqual({'resource_id': parent_device_id}, config['agent'])
self.assertIn('aparam_alert_config', config)
self.assertEqual(generic_alerts_config, config['aparam_alert_config'])
self.assertIn('stream_config', config)
for key in ['startup_config']:
self.assertEqual({}, config[key])
self.assertIn(child_device_id, config['children'])
verify_child_config(config['children'][child_device_id], child_device_id, inst_device_id)
#.........这里部分代码省略.........
示例9: test_prepare_resource_support
# 需要导入模块: from pyon.util.containers import DotDict [as 别名]
# 或者: from pyon.util.containers.DotDict import resource_registry [as 别名]
#.........这里部分代码省略.........
self.assertEqual(instrument_agent_data.type_, OT.InstrumentAgentInstancePrepareSupport)
self.assertEqual(len(instrument_agent_data.associations['InstrumentDevice'].resources), 3)
self.assertEqual(len(instrument_agent_data.associations['InstrumentAgent'].resources), 1)
self.assertEqual(instrument_agent_data.associations['InstrumentAgent'].resources[0]._id, instrument_agent_id)
self.assertEqual(len(instrument_agent_data.associations['InstrumentDevice'].associated_resources), 1)
self.assertEqual(instrument_agent_data.associations['InstrumentDevice'].associated_resources[0].s, instrument_device_id)
self.assertEqual(instrument_agent_data.associations['InstrumentDevice'].associated_resources[0].o, instrument_agent_instance_id)
self.assertEqual(len(instrument_agent_data.associations['InstrumentAgent'].associated_resources), 1)
self.assertEqual(instrument_agent_data.associations['InstrumentAgent'].associated_resources[0].o, instrument_agent_id)
self.assertEqual(instrument_agent_data.associations['InstrumentAgent'].associated_resources[0].s, instrument_agent_instance_id)
self.assertEqual(instrument_agent_data.associations['InstrumentAgent'].assign_request.request_parameters['instrument_agent_instance_id'], instrument_agent_instance_id)
#test prepare for update of data product to see if it is associated with the instrument that was created
data_product_data = self.DP.prepare_data_product_support(data_product_id1)
#print simplejson.dumps(data_product_data, default=ion_object_encoder, indent=2)
self.assertEqual(data_product_data._id, data_product_id1)
self.assertEqual(data_product_data.type_, OT.DataProductPrepareSupport)
self.assertEqual(len(data_product_data.associations['StreamDefinition'].resources), 1)
self.assertEqual(len(data_product_data.associations['Dataset'].resources), 0)
self.assertEqual(len(data_product_data.associations['StreamDefinition'].associated_resources), 1)
self.assertEqual(data_product_data.associations['StreamDefinition'].associated_resources[0].s, data_product_id1)
self.assertEqual(len(data_product_data.associations['Dataset'].associated_resources), 0)
self.assertEqual(len(data_product_data.associations['InstrumentDeviceHasOutputProduct'].resources), 3)
self.assertEqual(len(data_product_data.associations['InstrumentDeviceHasOutputProduct'].associated_resources), 1)
self.assertEqual(data_product_data.associations['InstrumentDeviceHasOutputProduct'].associated_resources[0].s, instrument_device_id)
self.assertEqual(data_product_data.associations['InstrumentDeviceHasOutputProduct'].associated_resources[0].o, data_product_id1)
self.assertEqual(len(data_product_data.associations['PlatformDevice'].resources), 2)
platform_data = self.IMS.prepare_platform_device_support()
#print simplejson.dumps(platform_data, default=ion_object_encoder, indent=2)
self.assertEqual(platform_data._id, '')
self.assertEqual(platform_data.type_, OT.PlatformDevicePrepareSupport)
self.assertEqual(len(platform_data.associations['PlatformModel'].resources), 1)
self.assertEqual(platform_data.associations['PlatformModel'].resources[0]._id, platform_model_id)
self.assertEqual(len(platform_data.associations['PlatformAgentInstance'].resources), 1)
self.assertEqual(platform_data.associations['PlatformAgentInstance'].resources[0]._id, platform_agent_instance_id)
self.assertEqual(len(platform_data.associations['PlatformModel'].associated_resources), 0)
self.assertEqual(len(platform_data.associations['PlatformAgentInstance'].associated_resources), 0)
self.assertEqual(len(platform_data.associations['InstrumentDevice'].resources), 1)
platform_data = self.IMS.prepare_platform_device_support(platform_device_id)
#print simplejson.dumps(platform_data, default=ion_object_encoder, indent=2)
self.assertEqual(platform_data._id, platform_device_id)
self.assertEqual(platform_data.type_, OT.PlatformDevicePrepareSupport)
self.assertEqual(len(platform_data.associations['PlatformModel'].resources), 1)
self.assertEqual(platform_data.associations['PlatformModel'].resources[0]._id, platform_model_id)
self.assertEqual(len(platform_data.associations['PlatformAgentInstance'].resources), 1)
self.assertEqual(platform_data.associations['PlatformAgentInstance'].resources[0]._id, platform_agent_instance_id)
self.assertEqual(len(platform_data.associations['PlatformModel'].associated_resources), 1)
self.assertEqual(platform_data.associations['PlatformModel'].associated_resources[0].s, platform_device_id)
self.assertEqual(platform_data.associations['PlatformModel'].associated_resources[0].o, platform_model_id)
self.assertEqual(len(platform_data.associations['PlatformAgentInstance'].associated_resources), 1)
self.assertEqual(platform_data.associations['PlatformAgentInstance'].associated_resources[0].o, platform_agent_instance_id)
self.assertEqual(platform_data.associations['PlatformAgentInstance'].associated_resources[0].s, platform_device_id)
self.assertEqual(len(platform_data.associations['InstrumentDevice'].resources), 2)
#self.assertEqual(len(platform_data.associations['InstrumentDevice'].associated_resources), 1)
#self.assertEqual(platform_data.associations['InstrumentDevice'].associated_resources[0].s, platform_device_id)
#self.assertEqual(platform_data.associations['InstrumentDevice'].associated_resources[0].o, instrument_device_id)
self.assertEqual(platform_data.associations['PlatformModel'].assign_request.request_parameters['platform_device_id'], platform_device_id)
# cleanup
c = DotDict()
c.resource_registry = self.RR
self.RR2.pluck(instrument_agent_id)
self.RR2.pluck(instrument_model_id)
self.RR2.pluck(instrument_device_id)
self.RR2.pluck(platform_agent_id)
self.RR2.pluck(sensor_device_id)
self.RR2.pluck(sensor_device2_id)
self.IMS.force_delete_instrument_agent(instrument_agent_id)
self.IMS.force_delete_instrument_model(instrument_model_id)
self.IMS.force_delete_instrument_device(instrument_device_id)
self.IMS.force_delete_instrument_device(instrument_device2_id)
self.IMS.force_delete_platform_agent_instance(platform_agent_instance_id)
self.IMS.force_delete_platform_agent(platform_agent_id)
self.IMS.force_delete_platform_device(platform_device_id)
self.IMS.force_delete_platform_device(platform_device2_id)
self.IMS.force_delete_platform_model(platform_model_id)
self.IMS.force_delete_sensor_device(sensor_device_id)
self.IMS.force_delete_sensor_device(sensor_device2_id)
self.IMS.force_delete_sensor_model(sensor_model_id)
#stuff we associate to
self.RR.delete(data_producer_id)
self.RR.delete(org_id)
示例10: test_observatory_structure
# 需要导入模块: from pyon.util.containers import DotDict [as 别名]
# 或者: from pyon.util.containers.DotDict import resource_registry [as 别名]
def test_observatory_structure(self):
c = self.client
c2 = DotDict()
c2.resource_registry = self.client.RR
instrument_site_impl = InstrumentSiteImpl(c2)
platform_site_impl = PlatformSiteImpl(c2)
platform_agent_impl = PlatformAgentImpl(c2)
instrument_device_impl = InstrumentDeviceImpl(c2)
sensor_device_impl = SensorDeviceImpl(c2)
#generate a function that finds direct associations, using the more complex one in the service
def gen_find_oms_association(output_type):
def freeze():
def finder_fun(obj_id):
ret = c.OMS.find_related_frames_of_reference(obj_id, [output_type])
return ret[output_type]
return finder_fun
return freeze()
#resource_ids = self._low_level_init()
###############################################
#
# Assumptions or Order of Events for R2 Preloaded resources
#
# - orgs
# - sites
# - models
# - agents
# - devices
# - instances
# - attachments
#
###############################################
###############################################
#
# orgs
#
###############################################
###############################################
#
# sites
#
###############################################
log.info("Create an observatory")
observatory_id = self.generic_fcruf_script(RT.Observatory,
"observatory",
self.client.OMS,
True)
log.info("Create a subsite")
subsite_id = self.generic_fcruf_script(RT.Subsite,
"subsite",
self.client.OMS,
True)
log.info("Create a platform site")
platform_site_id = self.generic_fcruf_script(RT.PlatformSite,
"platform_site",
self.client.OMS,
True)
log.info("Create instrument site")
instrument_site_id = self.generic_fcruf_script(RT.InstrumentSite,
"instrument_site",
self.client.OMS,
True)
###############################################
#
# models
#
###############################################
log.info("Create a platform model")
platform_model_id = self.generic_fcruf_script(RT.PlatformModel,
"platform_model",
self.client.IMS,
True)
log.info("Create instrument model")
instrument_model_id = self.generic_fcruf_script(RT.InstrumentModel,
"instrument_model",
self.client.IMS,
True)
log.info("Create sensor model")
sensor_model_id = self.generic_fcruf_script(RT.SensorModel,
"sensor_model",
self.client.IMS,
#.........这里部分代码省略.........
示例11: test_observatory_structure
# 需要导入模块: from pyon.util.containers import DotDict [as 别名]
# 或者: from pyon.util.containers.DotDict import resource_registry [as 别名]
def test_observatory_structure(self):
"""
"""
c = self.client
c2 = DotDict()
c2.resource_registry = self.client.RR
instrument_site_impl = InstrumentSiteImpl(c2)
platform_site_impl = PlatformSiteImpl(c2)
platform_agent_impl = PlatformAgentImpl(c2)
instrument_device_impl = InstrumentDeviceImpl(c2)
sensor_device_impl = SensorDeviceImpl(c2)
#generate a function that finds direct associations, using the more complex one in the service
def gen_find_oms_association(output_type):
def freeze():
def finder_fun(obj_id):
ret = c.OMS.find_related_frames_of_reference(obj_id, [output_type])
return ret[output_type]
return finder_fun
return freeze()
#resource_ids = self._low_level_init()
###############################################
#
# Assumptions or Order of Events for R2 Preloaded resources
#
# - orgs
# - sites
# - models
# - agents
# - devices
# - instances
# - attachments
#
###############################################
###############################################
#
# orgs
#
###############################################
###############################################
#
# sites
#
###############################################
log.info("Create an observatory")
observatory_id = self.generic_fcruf_script(RT.Observatory,
"observatory",
self.client.OMS,
True)
log.info("Create a subsite")
subsite_id = self.generic_fcruf_script(RT.Subsite,
"subsite",
self.client.OMS,
True)
log.info("Create a platform site")
platform_site_id = self.generic_fcruf_script(RT.PlatformSite,
"platform_site",
self.client.OMS,
True)
log.info("Create instrument site")
instrument_site_id = self.generic_fcruf_script(RT.InstrumentSite,
"instrument_site",
self.client.OMS,
True)
###############################################
#
# models
#
###############################################
log.info("Create a platform model")
platform_model_id = self.generic_fcruf_script(RT.PlatformModel,
"platform_model",
self.client.IMS,
True)
log.info("Create instrument model")
instrument_model_id = self.generic_fcruf_script(RT.InstrumentModel,
"instrument_model",
self.client.IMS,
True)
log.info("Create sensor model")
#.........这里部分代码省略.........
示例12: test_observatory_structure
# 需要导入模块: from pyon.util.containers import DotDict [as 别名]
# 或者: from pyon.util.containers.DotDict import resource_registry [as 别名]
def test_observatory_structure(self):
"""
"""
c = self.client
c2 = DotDict()
c2.resource_registry = self.client.RR
instrument_site_impl = InstrumentSiteImpl(c2)
platform_site_impl = PlatformSiteImpl(c2)
platform_agent_impl = PlatformAgentImpl(c2)
instrument_device_impl = InstrumentDeviceImpl(c2)
sensor_device_impl = SensorDeviceImpl(c2)
resource_impl = ResourceImpl(c2)
#generate a function that finds direct associations, using the more complex one in the service
def gen_find_oms_association(output_type):
def freeze():
def finder_fun(obj_id):
ret = c.OMS.find_related_frames_of_reference(obj_id, [output_type])
return ret[output_type]
return finder_fun
return freeze()
#resource_ids = self._low_level_init()
###############################################
#
# Assumptions or Order of Events for R2 Preloaded resources
#
# - orgs
# - sites
# - models
# - agents
# - devices
# - instances
# - attachments
#
###############################################
###############################################
#
# orgs
#
###############################################
###############################################
#
# sites
#
###############################################
log.info("Create an observatory")
observatory_id = self.generic_fcruf_script(RT.Observatory,
"observatory",
self.client.OMS,
True)
log.info("Create a subsite")
subsite_id = self.generic_fcruf_script(RT.Subsite,
"subsite",
self.client.OMS,
True)
log.info("Create a platform site")
platform_site_id = self.generic_fcruf_script(RT.PlatformSite,
"platform_site",
self.client.OMS,
True)
log.info("Create instrument site")
instrument_site_id = self.generic_fcruf_script(RT.InstrumentSite,
"instrument_site",
self.client.OMS,
True)
###############################################
#
# models
#
###############################################
log.info("Create a platform model")
platform_model_id = self.generic_fcruf_script(RT.PlatformModel,
"platform_model",
self.client.IMS,
True)
log.info("Create instrument model")
instModel_obj = IonObject(RT.InstrumentModel,
name='SBE37IMModel',
description="SBE37IMModel",
#.........这里部分代码省略.........
示例13: test_prepare_resource_support
# 需要导入模块: from pyon.util.containers import DotDict [as 别名]
# 或者: from pyon.util.containers.DotDict import resource_registry [as 别名]
#.........这里部分代码省略.........
def ion_object_encoder(obj):
return obj.__dict__
#First call to create
instrument_data = self.IMS.prepare_instrument_device_support()
self.assertEqual(instrument_data._id, '')
self.assertEqual(instrument_data.type_, OT.InstrumentDevicePrepareSupport)
self.assertEqual(len(instrument_data.instrument_models), 1)
self.assertEqual(instrument_data.instrument_models[0]._id, instrument_model_id)
self.assertEqual(len(instrument_data.instrument_agents), 1)
self.assertEqual(instrument_data.instrument_agents[0]._id, instrument_agent_id)
self.assertEqual(len(instrument_data.instrument_device_model), 0)
self.assertEqual(len(instrument_data.instrument_agent_models), 1)
self.assertEqual(instrument_data.instrument_agent_models[0].o, instrument_model_id)
self.assertEqual(instrument_data.instrument_agent_models[0].s, instrument_agent_id)
self.assertEqual(len(instrument_data.sensor_devices), 1)
self.assertEqual(instrument_data.sensor_devices[0]._id, sensor_device_id)
#Next call to update
instrument_data = self.IMS.prepare_instrument_device_support(instrument_device_id)
self.assertEqual(instrument_data._id, instrument_device_id)
self.assertEqual(instrument_data.type_, OT.InstrumentDevicePrepareSupport)
self.assertEqual(len(instrument_data.instrument_models), 1)
self.assertEqual(instrument_data.instrument_models[0]._id, instrument_model_id)
self.assertEqual(len(instrument_data.instrument_agents), 1)
self.assertEqual(instrument_data.instrument_agents[0]._id, instrument_agent_id)
self.assertEqual(len(instrument_data.instrument_device_model), 1)
self.assertEqual(instrument_data.instrument_device_model[0].s, instrument_device_id)
self.assertEqual(instrument_data.instrument_device_model[0].o, instrument_model_id)
self.assertEqual(len(instrument_data.instrument_agent_models), 1)
self.assertEqual(instrument_data.instrument_agent_models[0].o, instrument_model_id)
self.assertEqual(instrument_data.instrument_agent_models[0].s, instrument_agent_id)
self.assertEqual(len(instrument_data.sensor_devices), 1)
self.assertEqual(instrument_data.sensor_devices[0]._id, sensor_device_id)
self.assertEqual(instrument_data.assign_instrument_model_request.request_parameters['instrument_device_id'], instrument_device_id)
platform_data = self.IMS.prepare_platform_device_support()
self.assertEqual(platform_data._id, '')
self.assertEqual(platform_data.type_, OT.PlatformDevicePrepareSupport)
self.assertEqual(len(platform_data.platform_models), 1)
self.assertEqual(platform_data.platform_models[0]._id, platform_model_id)
self.assertEqual(len(platform_data.platform_agents), 1)
self.assertEqual(platform_data.platform_agents[0]._id, platform_agent_id)
self.assertEqual(len(platform_data.platform_device_model), 0)
self.assertEqual(len(platform_data.platform_agent_models), 1)
self.assertEqual(platform_data.platform_agent_models[0].o, platform_model_id)
self.assertEqual(platform_data.platform_agent_models[0].s, platform_agent_id)
self.assertEqual(len(platform_data.instrument_devices), 1)
self.assertEqual(platform_data.instrument_devices[0]._id, instrument_device_id)
platform_data = self.IMS.prepare_platform_device_support(platform_device_id)
#print simplejson.dumps(platform_data, default=ion_object_encoder, indent= 2)
self.assertEqual(platform_data._id, platform_device_id)
self.assertEqual(platform_data.type_, OT.PlatformDevicePrepareSupport)
self.assertEqual(len(platform_data.platform_models), 1)
self.assertEqual(platform_data.platform_models[0]._id, platform_model_id)
self.assertEqual(len(platform_data.platform_agents), 1)
self.assertEqual(platform_data.platform_agents[0]._id, platform_agent_id)
self.assertEqual(len(platform_data.platform_device_model), 1)
self.assertEqual(platform_data.platform_device_model[0].s, platform_device_id)
self.assertEqual(platform_data.platform_device_model[0].o, platform_model_id)
self.assertEqual(len(platform_data.platform_agent_models), 1)
self.assertEqual(platform_data.platform_agent_models[0].o, platform_model_id)
self.assertEqual(platform_data.platform_agent_models[0].s, platform_agent_id)
self.assertEqual(len(platform_data.instrument_devices), 1)
self.assertEqual(platform_data.instrument_devices[0]._id, instrument_device_id)
self.assertEqual(platform_data.assign_platform_model_request.request_parameters['platform_device_id'], platform_device_id)
# cleanup
c = DotDict()
c.resource_registry = self.RR
self.RR2.pluck(instrument_agent_id)
self.RR2.pluck(instrument_model_id)
self.RR2.pluck(instrument_device_id)
self.RR2.pluck(platform_agent_id)
self.RR2.pluck(sensor_device_id)
self.IMS.force_delete_instrument_agent(instrument_agent_id)
self.IMS.force_delete_instrument_model(instrument_model_id)
self.IMS.force_delete_instrument_device(instrument_device_id)
self.IMS.force_delete_platform_agent_instance(platform_agent_instance_id)
self.IMS.force_delete_platform_agent(platform_agent_id)
self.IMS.force_delete_platform_device(platform_device_id)
self.IMS.force_delete_platform_model(platform_model_id)
self.IMS.force_delete_sensor_device(sensor_device_id)
self.IMS.force_delete_sensor_model(sensor_model_id)
#stuff we associate to
self.RR.delete(data_producer_id)
self.RR.delete(org_id)
开发者ID:jamie-cyber1,项目名称:coi-services,代码行数:104,代码来源:test_instrument_management_service_integration.py