def test_LabelXmlBuilder_exception_setLabelType(): """Passing the wrong values to LabelXmlBuilder should throw a InvalidLabelValueError""" builder = LabelXmlBuilder() assert_raises(InvalidLabelValueError, builder.setLabelType, "wrong") assert_raises(InvalidLabelValueError, builder.setLabelSubType, "wrong") assert_raises(InvalidLabelValueError, builder.setLabelSize, "wrong") assert_raises(InvalidLabelValueError, builder.setImageFormat, "wrong") assert_raises(InvalidLabelValueError, builder.setImageResolution, "wrong") assert_raises(InvalidLabelValueError, builder.setMailClass, "wrong") assert_raises(InvalidLabelValueError, builder.setMailPieceShape, "wrong")
def build_label(): def mockToAddress(): ret = ( E.ToCompany("fake"), E.ToAddress1("1234 Fake St"), E.ToAddress2("Apartment 1"), E.ToCity("Faketilly"), E.ToState("VA"), E.ToPostalCode("12345"), ) return ret def mockFromAddress(): ret = ( E.FromName("Fakeson"), E.FromCompany("Fake company"), E.ReturnAddress1("12345 Fake ave."), E.ReturnAddress2("Room 10"), E.FromCity("Fakeville"), E.FromState("VA"), E.FromPostalCode("12345"), ) return ret builder = LabelXmlBuilder() builder.setTest() builder.setLabelType("Default") builder.setLabelSubType("None") builder.setLabelSize("4x6") builder.setImageFormat("JPEG") builder.setImageResolution("300") builder.setRequestID("123456") builder.setAccountID("123456") builder.setPassPhrase("x") builder.setMailClass("First") builder.setDateAdvance(0) builder.setWeightOunces(4.1) builder.setMailPieceShape("Letter") builder.setDimensions((10, 10, 0.5)) builder.setToAddress(mockToAddress) builder.setFromAddress(mockFromAddress) builder.setShipDate("10/7/2012") builder.setPartnerCustomerID("123456") builder.setPartnerTransactionID("123456") return builder.xml
def test_LabelRequest_make_request(): """LabelRequest should return a successful request with a status == 0 and a proper label returned""" request = LabelRequest() def mockToAddress(): ret = ( #E.ToCompany( "fake" ), E.ToName("Sean"), E.ToAddress1("123 Fake"), E.ToAddress2(""), E.ToCity("faketilly"), E.ToState("VA"), E.ToPostalCode("20000"), #E.ToZIP4( "1234" ), #E.ToPhone( "1234567890" ), #E.ToEMail( "*****@*****.**" ) ) return ret def mockFromAddress(): ret = ( E.FromName("David"), #E.FromCompany( "Fake company" ), E.ReturnAddress1("123 fake"), E.ReturnAddress2(""), E.FromCity("faketilly"), E.FromState("VA"), E.FromPostalCode("20000"), #E.FromZIP4( "1234" ), #E.FromPhone( "1234567890" ) ) return ret builder = LabelXmlBuilder() builder.setTest() builder.setLabelType("Domestic") builder.setLabelSubType("None") builder.setLabelSize("4x6") builder.setImageFormat("JPEG") builder.setImageResolution("300") builder.setRequestID("123456") builder.setAccountID("123456") builder.setPassPhrase("x") builder.setMailClass("First") builder.setDateAdvance(0) builder.setWeightOunces(4.1) builder.setMailPieceShape("Parcel") builder.setDimensions((10.0, 10.0, 1)) builder.setToAddress(mockToAddress) builder.setFromAddress(mockFromAddress) builder.setPartnerCustomerID("123456") builder.setPartnerTransactionID("123456") _map = request.get(builder) dumpToFile("test/data/test_images/test_domestic.jpg", _map["Base64LabelImage"]) assert _map["Status"] == 0 builder.setLabelType("Default") _map = request.get(builder) dumpToFile("test/data/test_images/test_default.jpg", _map["Base64LabelImage"]) assert _map["Status"] == 0
def test_LavelXmlBuilder_to_xml(): """The to_string() should return a valid XML request""" def mockToAddress(): ret = ( #E.ToCompany( "fake" ), E.ToAddress1("1234 Fake St"), E.ToAddress2("Apartment 1"), E.ToCity("Faketilly"), E.ToState("VA"), E.ToPostalCode("12345"), #E.ToZIP4( "1234" ), #E.ToPhone( "1234567890" ), #E.ToEMail( "*****@*****.**" ) ) return ret def mockFromAddress(): ret = ( E.FromName("Fakeson"), #E.FromCompany( "Fake company" ), E.ReturnAddress1("12345 Fake ave."), E.ReturnAddress2("Room 10"), E.FromCity("Fakeville"), E.FromState("VA"), E.FromPostalCode("12345"), #E.FromZIP4( "1234" ), #E.FromPhone( "1234567890" ) ) return ret builder = LabelXmlBuilder() builder.setTest() builder.setLabelType("Default") builder.setLabelSubType("None") builder.setLabelSize("4x6") builder.setImageFormat("JPEG") builder.setImageResolution("300") builder.setRequestID("123456") builder.setAccountID("123456") builder.setPassPhrase("x") builder.setMailClass("First") builder.setDateAdvance(0) builder.setWeightOunces(4.1) builder.setMailPieceShape("Parcel") builder.setDimensions((10, 10, 0.5)) builder.setToAddress(mockToAddress) builder.setFromAddress(mockFromAddress) builder.setPartnerCustomerID("123456") builder.setPartnerTransactionID("123456") ret = builder.to_xml() assert ret.tag == "LabelRequest" assert ret[0].tag == "Test" #assert ret[1].tag == "LabelType" #assert ret[2].tag == "LabelSubType" assert ret[1].tag == "LabelSize" assert ret[2].tag == "ImageFormat" assert ret[3].tag == "ImageResolution" assert ret[4].tag == "RequesterID" assert ret[5].tag == "AccountID" assert ret[6].tag == "PassPhrase" assert ret[7].tag == "MailClass" #assert ret[10].tag == "DateAdvance" assert ret[8].tag == "WeightOz" assert ret[9].tag == "MailpieceShape" assert ret[10].tag == "PartnerCustomerID" assert ret[11].tag == "PartnerTransactionID" assert ret[12].tag == "LabelType" assert ret[13].tag == "LabelSubType" assert ret[14].tag == "MailpieceDimensions"
def test_LabelXmlBuilder_exception_setDateAdvance(): """Passing a value outside of the [0,7] range should throw a InvalidLabelValueError""" builder = LabelXmlBuilder() assert_raises(InvalidLabelValueError, builder.setDateAdvance, -1) assert_raises(InvalidLabelValueError, builder.setDateAdvance, 8)
def test_LabelXmlBuilder_test_shot_raise_the_required_exceptions_on_improper_values_or_missing_options( ): """This should raise certain exceptions at certain times to signify wrong parameters or missing options for the label xml""" def build_label(): def mockToAddress(): ret = ( E.ToCompany("fake"), E.ToAddress1("1234 Fake St"), E.ToAddress2("Apartment 1"), E.ToCity("Faketilly"), E.ToState("VA"), E.ToPostalCode("12345"), ) return ret def mockFromAddress(): ret = ( E.FromName("Fakeson"), E.FromCompany("Fake company"), E.ReturnAddress1("12345 Fake ave."), E.ReturnAddress2("Room 10"), E.FromCity("Fakeville"), E.FromState("VA"), E.FromPostalCode("12345"), ) return ret builder = LabelXmlBuilder() builder.setTest() builder.setLabelType("Default") builder.setLabelSubType("None") builder.setLabelSize("4x6") builder.setImageFormat("JPEG") builder.setImageResolution("300") builder.setRequestID("123456") builder.setAccountID("123456") builder.setPassPhrase("x") builder.setMailClass("First") builder.setDateAdvance(0) builder.setWeightOunces(4.1) builder.setMailPieceShape("Letter") builder.setDimensions((10, 10, 0.5)) builder.setToAddress(mockToAddress) builder.setFromAddress(mockFromAddress) builder.setShipDate("10/7/2012") builder.setPartnerCustomerID("123456") builder.setPartnerTransactionID("123456") return builder.xml builder = LabelXmlBuilder() xml = build_label() xml["LabelType"] = "Domestic" del xml["LabelSubType"] assert_raises(RequiredBecauseLabelValueError, builder.setByMap, xml) xml = build_label() del xml["AccountID"] assert_raises(RequiredLabelValueError, builder.setByMap, xml) xml = build_label() del xml["RequesterID"] assert_raises(RequiredLabelValueError, builder.setByMap, xml) xml = build_label() del xml["PassPhrase"] assert_raises(RequiredLabelValueError, builder.setByMap, xml) xml = build_label() del xml["WeightOz"] assert_raises(RequiredLabelValueError, builder.setByMap, xml) xml = build_label() del xml["MailpieceShape"] assert_raises(RequiredLabelValueError, builder.setByMap, xml) xml = build_label() del xml["MailpieceDimensions"] assert_raises(RequiredLabelValueError, builder.setByMap, xml) xml = build_label() del xml["ShipDate"] assert_raises(RequiredLabelValueError, builder.setByMap, xml) xml = build_label() del xml["ToAddress"] assert_raises(RequiredLabelValueError, builder.setByMap, xml) xml = build_label() del xml["FromAddress"] assert_raises(RequiredLabelValueError, builder.setByMap, xml) xml = build_label() del xml["PartnerCustomerID"] assert_raises(RequiredLabelValueError, builder.setByMap, xml) xml = build_label() del xml["PartnerTransactionID"] assert_raises(RequiredLabelValueError, builder.setByMap, xml)
def test_LabelXmlBuilder_test_should_notn_raise_exception_when_setup_from_correct_map( ): """This should not raise any exceptions because the information is valid""" def mockToAddress(): ret = ( E.ToCompany("fake"), E.ToAddress1("1234 Fake St"), E.ToAddress2("Apartment 1"), E.ToCity("Faketilly"), E.ToState("VA"), E.ToPostalCode("12345"), #E.ToZIP4( "1234" ), #E.ToPhone( "1234567890" ), #E.ToEMail( "*****@*****.**" ) ) return ret def mockFromAddress(): ret = ( E.FromName("Fakeson"), E.FromCompany("Fake company"), E.ReturnAddress1("12345 Fake ave."), E.ReturnAddress2("Room 10"), E.FromCity("Fakeville"), E.FromState("VA"), E.FromPostalCode("12345"), #E.FromZIP4( "1234" ), #E.FromPhone( "1234567890" ) ) return ret builder = LabelXmlBuilder() builder.setTest() builder.setLabelType("Default") builder.setLabelSubType("None") builder.setLabelSize("4x6") builder.setImageFormat("JPEG") builder.setImageResolution("300") builder.setRequestID("123456") builder.setAccountID("123456") builder.setPassPhrase("x") builder.setMailClass("First") builder.setDateAdvance(0) builder.setWeightOunces(4.1) builder.setMailPieceShape("Letter") builder.setDimensions((10, 10, 0.5)) builder.setToAddress(mockToAddress) builder.setFromAddress(mockFromAddress) builder.setShipDate("10/7/2012") builder.setPartnerCustomerID("123456") builder.setPartnerTransactionID("123456") _map = builder.xml def test_closure(): global _xml try: builder.setByMap(_map) raise Exception("Everything is fine") except: raise InvalidLabelValueError("") assert_raises(Exception, test_closure)