def test_GIVEN_stream_with_one_pv_with_two_topics_WHEN_generating_forwarder_command_THEN_contains_one_converter_with_list( file, ): pv_name = "testPV" topic1 = "topic1" topic2 = "topic2" writer_module = "f142" group = file.create_group("test_group") group.attrs["NX_class"] = "NCstream" group.create_dataset("writer_module", data=writer_module) group.create_dataset("source", data=pv_name) group.create_dataset("topic", data=topic1) group2 = file.create_group("test_group2") group2.attrs["NX_class"] = "NCstream" group2.create_dataset("writer_module", data=writer_module) group2.create_dataset("topic", data=topic2) group2.create_dataset("source", data=pv_name) dummy_file = io.StringIO() generate_forwarder_command(dummy_file, file, "ca", "") streams_ = literal_eval(dummy_file.getvalue())["streams"] assert len(streams_) == 1 assert isinstance(streams_[0]["converter"], list) assert streams_[0]["channel"] == pv_name assert streams_[0]["converter"][0]["topic"] == topic1 assert streams_[0]["converter"][1]["topic"] == topic2
def test_GIVEN_stream_with_f142_command_and_non_forwarder_modules_THEN_only_f142_is_contained( file, ): group = file.create_group("test_group") group.attrs["NX_class"] = "NCstream" group.create_dataset("writer_module", data="ev42") group.create_dataset("source", data="source1") group.create_dataset("topic", data="topic1") group2 = file.create_group("test_group2") group2.attrs["NX_class"] = "NCstream" pv_name = "pv1" topic = "localhost:9092/someTopic" writer_module = "f142" group2.create_dataset("writer_module", data=writer_module) group2.create_dataset("topic", data=topic) group2.create_dataset("source", data=pv_name) dummy_file = io.StringIO() generate_forwarder_command(dummy_file, file, "ca", "") streams_ = literal_eval(dummy_file.getvalue())["streams"] assert len(streams_) == 1 assert streams_[0]["channel"] == pv_name assert streams_[0]["converter"]["topic"] == topic assert streams_[0]["converter"]["schema"] == writer_module
def test_GIVEN_stream_with_no_forwarder_streams_WHEN_generating_forwarder_command_THEN_output_does_not_contain_any_pvs( file, ): group_name = "test_group" group = file.create_group(group_name) group.attrs["NX_class"] = "NCstream" group.create_dataset("writer_module", data="ev42") group.create_dataset("source", data="source1") group.create_dataset("topic", data="topic1") dummy_file = io.StringIO() generate_forwarder_command(dummy_file, file, "ca", "") assert not literal_eval(dummy_file.getvalue())["streams"]
def test_GIVEN_stream_with_topic_not_including_broker_and_default_broker_not_provided_WHEN_generating_forwarder_command_THEN_topic_does_not_include_broker( file, ): pv_name = "testPV" topic = "topic1" writer_module = "f142" group = file.create_group("test_group") group.attrs["NX_class"] = "NCstream" group.create_dataset("writer_module", data=writer_module) group.create_dataset("source", data=pv_name) group.create_dataset("topic", data=topic) dummy_file = io.StringIO() generate_forwarder_command(dummy_file, file, "pva", "") streams_ = literal_eval(dummy_file.getvalue())["streams"] assert len(streams_) == 1 assert streams_[0]["converter"]["topic"] == topic
def test_GIVEN_stream_with_f142_command_WHEN_generating_forwarder_command_THEN_output_contains_pv( file, ): pv_name = "pv1" topic = "someTopic" writer_module = "f142" group_name = "test_group" group = file.create_group(group_name) group.attrs["NX_class"] = "NCstream" group.create_dataset("writer_module", data=writer_module) group.create_dataset("topic", data=topic) group.create_dataset("source", data=pv_name) dummy_file = io.StringIO() generate_forwarder_command(dummy_file, file, "ca", "") streams_ = literal_eval(dummy_file.getvalue())["streams"] assert len(streams_) == 1 assert streams_[0]["channel"] == pv_name assert streams_[0]["converter"]["topic"] == topic assert streams_[0]["converter"]["schema"] == writer_module