AusweisApp2/test/qt/jsonapi/test_MsgContext.cpp

88 lines
2.2 KiB
C++
Raw Normal View History

2017-07-03 09:30:10 +02:00
/*!
* \brief Unit tests for \ref MsgContext
*
2019-05-22 10:08:38 +02:00
* \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany
2017-07-03 09:30:10 +02:00
*/
#include "messages/MsgContext.h"
#include "InternalActivationContext.h"
#include "messages/MsgHandler.h"
#include <QSignalSpy>
#include <QtTest>
using namespace governikus;
class test_MsgContext
: public QObject
{
Q_OBJECT
private Q_SLOTS:
void apiLevel()
{
MsgDispatcherContext ctx;
const MsgContext& readOnly = ctx;
QCOMPARE(readOnly.getApiLevel(), MsgHandler::DEFAULT_MSG_LEVEL);
ctx.setApiLevel(MsgLevel::v1);
QCOMPARE(readOnly.getApiLevel(), MsgLevel::v1);
}
void stateMsg()
{
MsgDispatcherContext ctx;
const MsgContext& readOnly = ctx;
QCOMPARE(readOnly.getLastStateMsg(), MsgType::INTERNAL_ERROR);
ctx.addStateMsg(MsgType::INSERT_CARD);
QCOMPARE(readOnly.getLastStateMsg(), MsgType::INSERT_CARD);
ctx.addStateMsg(MsgType::ENTER_PIN);
QCOMPARE(readOnly.getLastStateMsg(), MsgType::ENTER_PIN);
ctx.clear();
QCOMPARE(readOnly.getLastStateMsg(), MsgType::INTERNAL_ERROR);
}
void workflowContext()
{
MsgDispatcherContext ctx;
const MsgContext& readOnly = ctx;
QVERIFY(!readOnly.isActiveWorkflow());
QVERIFY(!readOnly.getAuthContext());
QVERIFY(!ctx.getAuthContext());
QVERIFY(!readOnly.getWorkflowContext());
ctx.setWorkflowContext(QSharedPointer<WorkflowContext>(new WorkflowContext));
QVERIFY(readOnly.isActiveWorkflow());
QVERIFY(!readOnly.getAuthContext());
QVERIFY(!ctx.getAuthContext());
QVERIFY(readOnly.getWorkflowContext());
ctx.clear();
QVERIFY(!readOnly.isActiveWorkflow());
QVERIFY(!readOnly.getAuthContext());
QVERIFY(!ctx.getAuthContext());
QVERIFY(!readOnly.getWorkflowContext());
2017-12-20 14:54:05 +01:00
ctx.setWorkflowContext(QSharedPointer<AuthContext>(new AuthContext(QSharedPointer<InternalActivationContext>::create(QUrl("http://www.bla.de")))));
2017-07-03 09:30:10 +02:00
QVERIFY(readOnly.isActiveWorkflow());
QVERIFY(readOnly.getAuthContext());
QVERIFY(ctx.getAuthContext());
QVERIFY(readOnly.getWorkflowContext());
QVERIFY(ctx.isActiveWorkflow());
QVERIFY(ctx.getAuthContext());
QVERIFY(ctx.getAuthContext());
QVERIFY(ctx.getWorkflowContext());
}
};
QTEST_GUILESS_MAIN(test_MsgContext)
#include "test_MsgContext.moc"