Пример #1
0
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
Пример #2
0
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
Пример #3
0
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"]
Пример #4
0
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
Пример #5
0
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