def test_valid(envelope):
    v = envelope.get_validator()

    assert not v.errors

    root = envelope.generate_xml()
    assert len(root.getchildren()) == 0

    Envelope.validate_xml(root)
def test_validation():
    msg = Envelope()

    errors = msg.get_errors()
    assert 'required field' in errors['origin']

    msg.origin = '01'
    errors = msg.get_errors()
    assert 'origin' not in errors
Esempio n. 3
0
def translate_episode_to_xml(episode, user, serial_number,
                             message_reference_number):
    bcds1 = get_bcds1(episode, user, message_reference_number)
    envelope = get_envelope(episode, user, serial_number)
    envelope.add_message(bcds1)
    assert not bcds1.get_errors(), bcds1.get_errors()
    assert not envelope.get_errors(), envelope.get_errors()
    root = envelope.generate_xml()
    Envelope.validate_xml(root)
Esempio n. 4
0
def from_message(number):
    bcds1 = generate_bcds1()
    envelope = generate_envelope()
    from_message_method = get_from_message_method(number)
    from_message_method(bcds1)
    envelope.add_message(bcds1)
    assert not bcds1.get_errors(), bcds1.get_errors()
    assert not envelope.get_errors(), envelope.get_errors()
    root = envelope.generate_xml()
    Envelope.validate_xml(root)
    return etree.tostring(root, encoding='unicode', pretty_print=True).strip()
Esempio n. 5
0
    def test_valid(self):
        msg = gen_envelope()

        v = msg.get_validator()
        errors = msg.get_errors()
        assert not errors

        root = msg.generate_xml()
        assert len(root.getchildren()) == 0

        Envelope.validate_xml(root)
Esempio n. 6
0
def from_model(number):
    patient = opal_models.Patient.objects.create()
    episode = patient.create_episode()
    patient.fp17dentalcareprovider_set.update(
        provider_location_number="site_number")
    bcds1 = generate_bcds1()
    envelope = generate_envelope()
    from_model_method = get_from_model_method(number)
    from_model_method(bcds1, patient, episode)
    envelope.add_message(bcds1)
    assert not bcds1.get_errors(), bcds1.get_errors()
    assert not envelope.get_errors(), envelope.get_errors()
    root = envelope.generate_xml()
    Envelope.validate_xml(root)
    return etree.tostring(root, encoding='unicode', pretty_print=True).strip()
Esempio n. 7
0
def generate_envelope():
    site_number = "site_number"
    serial_number = 1

    envelope = Envelope()
    envelope.origin = site_number
    envelope.destination = "1234"
    envelope.approval_number = 1
    envelope.release_timestamp = datetime.datetime.utcnow()
    envelope.test = True
    envelope.serial_number = serial_number
    return envelope
Esempio n. 8
0
def get_envelope(episode, user, serial_number):
    """
    Gets the envelope information
    """
    envelope = Envelope()
    care_provider = episode.patient.fp17dentalcareprovider_set.get()
    envelope.origin = care_provider.provider_location_number
    envelope.release_timestamp = datetime.datetime.utcnow()
    envelope.serial_number = serial_number

    print("Assumed destination is 1234")
    # This is probably the correct one, but the above is what we used in test messages
    # envelope.destination = "A0DPB"

    print("We are expecting to receive a approval number")
    envelope.approval_number = 1
    envelope.release_timestamp = datetime.datetime.utcnow()
    return envelope
Esempio n. 9
0
    def is_valid(self):
        performer_number = self.user.performernumber.first()
        if not performer_number:
            self._errors = "no performer information for user"
            return False

        envelope = get_envelope(self.episode, self.user, 1)
        errors = envelope.get_errors()
        if errors:
            self._errors = errors
            return False

        bdcs1 = get_bcds1(self.episode, self.user, "1")
        errors = bdcs1.get_errors()
        if errors:
            self._errors = errors
            return False
        root = envelope.generate_xml()
        errors = Envelope.validate_xml(root)
        if errors:
            self._errors = errors
            return False
        return True
def envelope():
    msg = Envelope()
    msg.origin = '01009'
    msg.destination = '01009'
    msg.release_timestamp = datetime.datetime(1985, 12, 16, 16, 40)
    msg.serial_number = 0
    msg.approval_number = 16
    msg.revision_level = 1
    msg.transmission_category = 1
    msg.test = True
    msg.interchange_control_count = 2

    return msg