diff --git a/test/auto/request/tst_soaptest.cpp b/test/auto/request/tst_soaptest.cpp index c2d94a7..345eb5f 100644 --- a/test/auto/request/tst_soaptest.cpp +++ b/test/auto/request/tst_soaptest.cpp @@ -18,9 +18,11 @@ public: private: Q_SLOT void construct(); - Q_SLOT void public_soap_xml(); + /*Q_SLOT*/ void geocode_soap(); - Q_SLOT void public_soap_test(); + /*Q_SLOT*/ void public_soap_xml(); + + /*Q_SLOT*/ void public_soap_test(); Q_SLOT void public_soap_test_data(); }; @@ -42,10 +44,58 @@ void SoapTest::construct() //QCOMPARE(Utils::sourceData("test/cmd/LatLonListSubgrid-response.xml").count(), 1298); } +void SoapTest::geocode_soap() +{ + const QString soapAction = "https://geoservices.tamu.edu/GeocodeAddressNonParsed"; + const QString host = "https://geoservices.tamu.edu"; + const QString endpoint = "/Services/Geocode/WebService/GeocoderService_V04_01.asmx"; + const QString url = host + endpoint; + + QString xml = QString(R"( + + + + string + string + string + string + string + double + boolean + Unknown or NineteenNinety or TwoThousand or TwoThousandTen or AllAvailable + boolean + boolean + + + )"); + + QByteArray xmlRequest = xml.toUtf8(); + + // SOAP download + RequestManager soap; + auto response = std::make_shared(soapAction, url, xmlRequest); + QCOMPARE(response.use_count(), 1L ); + soap.processRequest(response); + QVERIFY(soap.mRequestMap.count() == 1); + QSignalSpy spyFinished(&soap, &RequestManager::downloadFinished); + + QVERIFY(spyFinished.wait()); + //QCOMPARE(response.use_count(), 2L ); // this context + Soap + spyFinished.clear(); + QCOMPARE(response.use_count(), 1L ); // this context + Soap + + // Response + QByteArray xmlResponse = Test::sourceData("soap/bankapi-response.xml"); + QVERIFY( ! xmlResponse.isEmpty()); + + QCOMPARE(response.use_count(), 1L ); // this context + Soap + QCOMPARE(response->responseData(), xmlResponse); +} + void SoapTest::public_soap_xml() { QString soapAction = "blz:getBank"; - QString endpoint = "http://www.thomas-bayer.com/axis2/services/BLZService"; + QString url = "http://www.thomas-bayer.com/axis2/services/BLZService"; QString xml = QString("" @@ -61,7 +111,7 @@ void SoapTest::public_soap_xml() // SOAP download RequestManager soap; - auto response = std::make_shared(soapAction, endpoint, xmlRequest); + auto response = std::make_shared(soapAction, url, xmlRequest); QCOMPARE(response.use_count(), 1L ); soap.processRequest(response); QVERIFY(soap.mRequestMap.count() == 1); diff --git a/test/data/soap/bankapi-1.2-response.xml b/test/data/soap/bankapi-1.2-response.xml index 27ed395..e69de29 100644 --- a/test/data/soap/bankapi-1.2-response.xml +++ b/test/data/soap/bankapi-1.2-response.xml @@ -1 +0,0 @@ -BHF-BANKBHFBDEFF100Berlin10117 \ No newline at end of file diff --git a/test/data/soap/bankapi-1.2.sh b/test/data/soap/bankapi-1.2.sh index b50801d..ecec82c 100755 --- a/test/data/soap/bankapi-1.2.sh +++ b/test/data/soap/bankapi-1.2.sh @@ -4,11 +4,11 @@ ACTION_YOU_WANT_TO_CALL="blz:getBank" -XMLFILENAME=test03-1.2.xml +XMLFILENAME=bankapi-1.2.xml URL_OF_THE_SOAP_WEB_SERVICE_ENDPOINT="http://www.thomas-bayer.com/axis2/services/BLZService" curl -X POST $URL_OF_THE_SOAP_WEB_SERVICE_ENDPOINT \ -H 'Content-Type: application/soap+xml;action=$ACTION_YOU_WANT_TO_CALL' \ -H 'SOAPAction: $ACTION_YOU_WANT_TO_CALL' \ - --data @$XMLFILENAME > test03-1.2-response.xml + --data @$XMLFILENAME > bankapi-1.2-response.xml diff --git a/test/data/soap/bankapi.sh b/test/data/soap/bankapi.sh index 2ef4bb5..3c6f56d 100755 --- a/test/data/soap/bankapi.sh +++ b/test/data/soap/bankapi.sh @@ -4,11 +4,11 @@ ACTION_YOU_WANT_TO_CALL="blz:getBank" -XMLFILENAME=test03.xml +XMLFILENAME=bankapi.xml URL_OF_THE_SOAP_WEB_SERVICE_ENDPOINT="http://www.thomas-bayer.com/axis2/services/BLZService" curl -X POST $URL_OF_THE_SOAP_WEB_SERVICE_ENDPOINT \ -H 'Content-Type: text/xml' \ -H 'SOAPAction: $ACTION_YOU_WANT_TO_CALL' \ - --data @$XMLFILENAME > test03-response.xml + --data @$XMLFILENAME > bankapi-response.xml