def test_fail_closed_posting_list_serialization(posting_list: PostingList, shipping_label): posting_list.add_shipping_label(shipping_label) posting_list.close_with_id(number=12345) serializer = correios.PostingListSerializer() with pytest.raises(PostingListSerializerError): serializer.get_document(posting_list)
def test_posting_list_serialization_with_crazy_utf8_character( posting_list, shipping_label): shipping_label.receiver.neighborhood = 'Olho D’Água' posting_list.add_shipping_label(shipping_label) serializer = correios.PostingListSerializer() document = serializer.get_document(posting_list) serializer.validate(document) xml = serializer.get_xml(document) assert xml.startswith( b'<?xml version="1.0" encoding="ISO-8859-1"?><correioslog>')
def test_posting_list_serialization(posting_list, shipping_label): posting_list.add_shipping_label(shipping_label) serializer = correios.PostingListSerializer() document = serializer.get_document(posting_list) serializer.validate(document) xml = serializer.get_xml(document) assert xml.startswith( b'<?xml version="1.0" encoding="ISO-8859-1"?><correioslog>') assert b"<codigo_servico_adicional>019</codigo_servico_adicional>" not in xml assert b"<valor_declarado>10,29</valor_declarado>" not in xml
def test_limit_size_city_name(posting_list, shipping_label): shipping_label.receiver.city = 'Porto Alegre (Rio Grande do Sul)' shipping_label.sender.city = 'Santa Maria (Rio Grande do Sul)' posting_list.add_shipping_label(shipping_label) serializer = correios.PostingListSerializer() document = serializer.get_document(posting_list) serializer.validate(document) xml = serializer.get_xml(document) assert b"<cidade_destinatario><![CDATA[Porto Alegre (Rio Grande do Su]]></cidade_destinatario>" in xml assert b"<cidade_remetente><![CDATA[Santa Maria (Rio Grande do Sul]]></cidade_remetente>" in xml
def test_declared_value(posting_list, shipping_label): shipping_label.extra_services.append(ExtraService.get(EXTRA_SERVICE_VD)) shipping_label.real_value = 10.29 posting_list.add_shipping_label(shipping_label) serializer = correios.PostingListSerializer() document = serializer.get_document(posting_list) serializer.validate(document) xml = serializer.get_xml(document) assert shipping_label.service == Service.get(SERVICE_PAC) assert b"<codigo_servico_adicional>019</codigo_servico_adicional>" in xml assert b"<valor_declarado>18,00</valor_declarado>" in xml
def test_fail_empty_posting_list_serialization(posting_list): serializer = correios.PostingListSerializer() with pytest.raises(PostingListSerializerError): serializer.get_document(posting_list)