rewrite for eet 2.0 api version v4
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
#include "eetv4response.h"
|
||||
|
||||
#include <QtTest>
|
||||
|
||||
class EetV4ResponseTest : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
private slots:
|
||||
void parsesConfirmation();
|
||||
void parsesError();
|
||||
void parsesSoapFault();
|
||||
void rejectsInvalidResponse();
|
||||
};
|
||||
|
||||
void EetV4ResponseTest::parsesConfirmation()
|
||||
{
|
||||
const QByteArray soap =
|
||||
"<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"
|
||||
"<soap:Body><Odpoved xmlns=\"http://fs.gov.cz/eet/schema/v4\">"
|
||||
"<Hlavicka uuid_zpravy=\"123e4567-e89b-42d3-a456-426614174000\" "
|
||||
"dat_prij=\"2026-10-13T20:00:00+02:00\"/>"
|
||||
"<Potvrzeni pok=\"123e4567-e89b-42d3-a456-426614174000-01\" test=\"true\"/>"
|
||||
"<Varovani kod_varov=\"12\"/>"
|
||||
"</Odpoved></soap:Body></soap:Envelope>";
|
||||
EetV4Response response;
|
||||
QString error;
|
||||
QVERIFY2(EetV4ResponseParser::parseSoap(soap, &response, &error), qPrintable(error));
|
||||
QCOMPARE(response.status, EetV4ResponseStatus::Success);
|
||||
QCOMPARE(response.pok, QStringLiteral("123e4567-e89b-42d3-a456-426614174000-01"));
|
||||
QCOMPARE(response.messageUuid, QStringLiteral("123e4567-e89b-42d3-a456-426614174000"));
|
||||
QVERIFY(response.test);
|
||||
QCOMPARE(response.warningCodes, QList<int>{12});
|
||||
QVERIFY(response.receivedAt.isValid());
|
||||
}
|
||||
|
||||
void EetV4ResponseTest::parsesError()
|
||||
{
|
||||
const QByteArray soap =
|
||||
"<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"
|
||||
"<soap:Body><Odpoved xmlns=\"http://fs.gov.cz/eet/schema/v4\">"
|
||||
"<Hlavicka dat_odmit=\"2026-10-13T20:00:00Z\"/>"
|
||||
"<Chyba kod=\"-25\">Invalid certificate</Chyba>"
|
||||
"</Odpoved></soap:Body></soap:Envelope>";
|
||||
EetV4Response response;
|
||||
QVERIFY(EetV4ResponseParser::parseSoap(soap, &response));
|
||||
QCOMPARE(response.status, EetV4ResponseStatus::Error);
|
||||
QCOMPARE(response.errorCode, -25);
|
||||
QCOMPARE(response.message, QStringLiteral("Invalid certificate"));
|
||||
QVERIFY(response.rejectedAt.isValid());
|
||||
}
|
||||
|
||||
void EetV4ResponseTest::parsesSoapFault()
|
||||
{
|
||||
const QByteArray soap =
|
||||
"<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"
|
||||
"<soap:Body><soap:Fault><faultcode>soap:Server</faultcode>"
|
||||
"<faultstring>Service unavailable</faultstring></soap:Fault>"
|
||||
"</soap:Body></soap:Envelope>";
|
||||
EetV4Response response;
|
||||
QVERIFY(EetV4ResponseParser::parseSoap(soap, &response));
|
||||
QCOMPARE(response.status, EetV4ResponseStatus::SoapFault);
|
||||
QCOMPARE(response.message, QStringLiteral("soap:Server: Service unavailable"));
|
||||
}
|
||||
|
||||
void EetV4ResponseTest::rejectsInvalidResponse()
|
||||
{
|
||||
const QByteArray soap =
|
||||
"<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"
|
||||
"<soap:Body><Odpoved xmlns=\"http://fs.gov.cz/eet/schema/v4\">"
|
||||
"<Hlavicka/><Potvrzeni pok=\"not-a-pok\"/>"
|
||||
"</Odpoved></soap:Body></soap:Envelope>";
|
||||
EetV4Response response;
|
||||
QString error;
|
||||
QVERIFY(!EetV4ResponseParser::parseSoap(soap, &response, &error));
|
||||
QVERIFY(!error.isEmpty());
|
||||
}
|
||||
|
||||
QTEST_MAIN(EetV4ResponseTest)
|
||||
#include "eetv4response_test.moc"
|
||||
Reference in New Issue
Block a user