def test_observer_metadata(two_nodes): nA, nB = two_nodes obs = Observer() try: nB.transport.join_event() # Necesarry, but not user friendly uri = 'test://test_isac_value/test_observer_metadata/test_observer' ivA = IsacValue(nA, uri, survey_last_value=False, survey_static_tags=False) ivB = IsacValue(nB, uri, survey_last_value=False, survey_static_tags=False) ivB.metadata_observers += obs.observer ivA.metadata = {'this': 'is', 'meta': 'data'} for i in range(10): green.sleep(0.5) if obs.args is not None: break assert obs.args, 'Callback not received' iv_recv, metadata, source_peer = obs.args assert iv_recv == ivB assert metadata == ivA.metadata assert source_peer['peer_name'] == nA.name assert source_peer['peer_uuid'] == str(nA.transport.uuid()) finally: nB.transport.leave_event()
def test_observer_metadata(two_nodes): # noqa: F811 nA, nB = two_nodes obs = Observer() try: nB.transport.join_event() # Necesarry, but not user friendly uri = 'test://test_isac_value/test_observer_metadata/test_observer' ivA = IsacValue(nA, uri, survey_last_value=False, survey_static_tags=False) ivB = IsacValue(nB, uri, survey_last_value=False, survey_static_tags=False) ivB.metadata_observers += obs.observer green.sleep(0.25) ivA.metadata = {'this': 'is', 'meta': 'data'} for i in range(10): green.sleep(0.5) if obs.args is not None: break assert obs.args, 'Callback not received' iv_recv, metadata, source_peer = obs.args assert iv_recv == ivB assert metadata == ivA.metadata assert source_peer['peer_name'] == nA.name assert source_peer['peer_uuid'] == str(nA.transport.uuid()) finally: nB.transport.leave_event()
def test_update_metadata(config, root_client, clean_db, one_node): iv = IsacValue(one_node, 'test://test_update/test_update_metadata/test', survey_last_value=False, survey_static_tags=False) try: archiver = arch.InfluxDBArchiver(config) iv.metadata = {'meta': 'data'} green.sleep(0.25) stored_values = read_data(config, root_client, 'SELECT * FROM /.*/ GROUP BY authority, path ORDER BY time DESC LIMIT 1') for uri, points in stored_values.items(): uri = uri.replace('metadata', points[0]['scheme'], 1) assert uri == iv.uri assert points[0]['meta'] == iv.metadata['meta'] finally: archiver.shutdown()
def test_property_metadata(two_nodes): nA, nB = two_nodes uri = 'test://test_isac_value/test_property_metadata/test_property_metadata' ivA = IsacValue(nA, uri, survey_last_value=False, survey_static_tags=False) ivB = IsacValue(nB, uri, survey_static_tags=False) assert ivA.metadata is None assert ivB.metadata is None metadata = {'this': 'is', 'meta': 'data'} ivA.metadata = metadata assert ivA.metadata == metadata assert ivB.metadata is None ivB.survey_metadata() assert ivB.metadata == metadata
def test_property_metadata(two_nodes): # noqa: F811 nA, nB = two_nodes uri = 'test://test_isac_value/test_property_metadata/test_property_metadata' ivA = IsacValue(nA, uri, survey_last_value=False, survey_static_tags=False) ivB = IsacValue(nB, uri, survey_static_tags=False) assert ivA.metadata is None assert ivB.metadata is None metadata = {'this': 'is', 'meta': 'data'} ivA.metadata = metadata assert ivA.metadata == metadata assert ivB.metadata is None ivB.survey_metadata() assert ivB.metadata == metadata