def test_returns_correct_messages_given_two_items():
    items = [
        build_spine_item(
            time="2019-12-31T23:37:55.334+0000",
            conversation_id="convo_abc",
            guid="message_a",
            interaction_id="urn:nhs:names:services:gp2gp/MCCI_IN010000UK13",
            message_sender="123456789012",
            message_recipient="121212121212",
            message_ref="NotProvided",
            jdi_event="NONE",
            raw="",
            from_system="EMIS",
            to_system="Unknown",
        ),
        build_spine_item(
            time="2019-12-31T22:16:02.249+0000",
            conversation_id="convo_xyz",
            guid="message_b",
            interaction_id="urn:nhs:names:services:gp2gp/MCCI_IN010000UK13",
            message_sender="456456456456",
            message_recipient="343434343434",
            message_ref="convo_xyz",
            jdi_event="23",
            raw="",
            from_system="Vision",
            to_system="TPP",
        ),
    ]

    expected = [
        Message(
            time=datetime(2019, 12, 31, 23, 37, 55, 334000, tzutc()),
            conversation_id="convo_abc",
            guid="message_a",
            interaction_id="urn:nhs:names:services:gp2gp/MCCI_IN010000UK13",
            from_party_asid="123456789012",
            to_party_asid="121212121212",
            message_ref=None,
            error_code=None,
            from_system="EMIS",
            to_system="Unknown",
        ),
        Message(
            time=datetime(2019, 12, 31, 22, 16, 2, 249000, tzutc()),
            conversation_id="convo_xyz",
            guid="message_b",
            interaction_id="urn:nhs:names:services:gp2gp/MCCI_IN010000UK13",
            from_party_asid="456456456456",
            to_party_asid="343434343434",
            message_ref="convo_xyz",
            error_code=23,
            from_system="Vision",
            to_system="TPP",
        ),
    ]

    actual = construct_messages_from_splunk_items(items)

    assert list(actual) == expected
def test_returns_correct_message_when_from_system_and_to_system_is_not_present(
):
    items = [
        build_spine_item(
            time="2019-12-31T23:37:55.334+0000",
            conversation_id="convo_abc",
            guid="message_a",
            interaction_id="urn:nhs:names:services:gp2gp/MCCI_IN010000UK13",
            message_sender="123456789012",
            message_recipient="121212121212",
            message_ref="NotProvided",
            jdi_event="NONE",
            raw="",
        ),
    ]

    expected = [
        Message(
            time=datetime(2019, 12, 31, 23, 37, 55, 334000, tzutc()),
            conversation_id="convo_abc",
            guid="message_a",
            interaction_id="urn:nhs:names:services:gp2gp/MCCI_IN010000UK13",
            from_party_asid="123456789012",
            to_party_asid="121212121212",
            message_ref=None,
            error_code=None,
            from_system=None,
            to_system=None,
        )
    ]

    actual = construct_messages_from_splunk_items(items)

    assert list(actual) == expected
def build_message(**kwargs):
    return Message(
        time=kwargs.get("time", a_datetime()),
        conversation_id=kwargs.get("conversation_id", a_string(36)),
        guid=kwargs.get("guid", a_string(36)),
        interaction_id=kwargs.get("interaction_id", a_string(17)),
        from_party_asid=kwargs.get("from_party_asid", a_string(6)),
        to_party_asid=kwargs.get("to_party_asid", a_string(6)),
        message_ref=kwargs.get("message_ref", None),
        error_code=kwargs.get("error_code", None),
        to_system=kwargs.get("to_system", a_string(4)),
        from_system=kwargs.get("from_system", a_string(4)),
    )
Ejemplo n.º 4
0
 def with_copc_fragment_continue(self, **kwargs):
     self._messages.append(
         Message(
             time=kwargs.get("time", a_datetime()),
             conversation_id=self._conversation_id,
             guid=a_string(),
             interaction_id=COMMON_POINT_TO_POINT,
             from_party_asid=self._requesting_asid,
             to_party_asid=self._sending_asid,
             message_ref=None,
             error_code=None,
             from_system=self._requesting_system,
             to_system=self._sending_system,
         ))
     return self
Ejemplo n.º 5
0
 def with_core_ehr(self, **kwargs):
     self._messages.append(
         Message(
             time=kwargs.get("time", a_datetime()),
             conversation_id=self._conversation_id,
             guid=kwargs.get("guid", a_string()),
             interaction_id=EHR_REQUEST_COMPLETED,
             from_party_asid=self._sending_asid,
             to_party_asid=self._requesting_asid,
             message_ref=None,
             error_code=None,
             from_system=self._sending_system,
             to_system=self._requesting_system,
         ))
     return self
Ejemplo n.º 6
0
 def with_requester_acknowledgement(self, *, message_ref, **kwargs):
     self._messages.append(
         Message(
             time=kwargs.get("time", a_datetime()),
             conversation_id=self._conversation_id,
             guid=a_string(),
             interaction_id=APPLICATION_ACK,
             from_party_asid=self._requesting_asid,
             to_party_asid=self._sending_asid,
             message_ref=message_ref,
             error_code=kwargs.get("error_code", None),
             from_system=self._requesting_system,
             to_system=self._sending_system,
         ))
     return self
def test_read_spine_messages_reads_single_message_correctly():
    csv_row = build_spine_item(
        time="2019-12-31T23:37:55.334+0000",
        conversation_id="abc",
        guid="message_a",
        interaction_id="an_interaction_id",
        message_sender="sender_x",
        message_recipient="recipient_y",
        message_ref="NotProvided",
        jdi_event="NONE",
        raw="",
        from_system="SupplierA",
        to_system="Unknown",
    )

    mock_s3_conn = MockS3(
        objects=[
            MockS3Object(
                bucket="test_bucket", key="data/1.csv.gz", contents=_spine_csv_gz([csv_row])
            )
        ]
    )

    io = TransferClassifierIO(s3_data_manager=S3DataManager(mock_s3_conn))

    expected_spine_message = Message(
        time=datetime(2019, 12, 31, 23, 37, 55, 334000, tzutc()),
        conversation_id="abc",
        guid="message_a",
        interaction_id="an_interaction_id",
        from_party_asid="sender_x",
        to_party_asid="recipient_y",
        message_ref=None,
        error_code=None,
        from_system="SupplierA",
        to_system="Unknown",
    )

    actual = io.read_spine_messages(["s3://test_bucket/data/1.csv.gz"])

    assert list(actual) == [expected_spine_message]