1 /*! 2 * \brief Unit tests for \ref MsgContext 3 * 4 * \copyright Copyright (c) 2016-2021 Governikus GmbH & Co. KG, Germany 5 */ 6 7 #include "messages/MsgContext.h" 8 9 #include "context/AuthContext.h" 10 #include "InternalActivationContext.h" 11 #include "messages/MsgHandler.h" 12 13 #include <QtTest> 14 15 using namespace governikus; 16 17 class test_MsgContext 18 : public QObject 19 { 20 Q_OBJECT 21 22 private Q_SLOTS: apiLevel()23 void apiLevel() 24 { 25 MsgDispatcherContext ctx; 26 const MsgContext& readOnly = ctx; 27 28 QCOMPARE(readOnly.getApiLevel(), MsgHandler::DEFAULT_MSG_LEVEL); 29 ctx.setApiLevel(MsgLevel::v1); 30 QCOMPARE(readOnly.getApiLevel(), MsgLevel::v1); 31 } 32 33 stateMsg()34 void stateMsg() 35 { 36 MsgDispatcherContext ctx; 37 const MsgContext& readOnly = ctx; 38 39 QCOMPARE(readOnly.getLastStateMsg(), MsgType::INTERNAL_ERROR); 40 ctx.addStateMsg(MsgType::INSERT_CARD); 41 QCOMPARE(readOnly.getLastStateMsg(), MsgType::INSERT_CARD); 42 ctx.addStateMsg(MsgType::ENTER_PIN); 43 QCOMPARE(readOnly.getLastStateMsg(), MsgType::ENTER_PIN); 44 ctx.clear(); 45 QCOMPARE(readOnly.getLastStateMsg(), MsgType::INTERNAL_ERROR); 46 } 47 48 workflowContext()49 void workflowContext() 50 { 51 MsgDispatcherContext ctx; 52 const MsgContext& readOnly = ctx; 53 54 QVERIFY(!readOnly.isActiveWorkflow()); 55 QVERIFY(!readOnly.getContext<AuthContext>()); 56 QVERIFY(!ctx.getContext<AuthContext>()); 57 QVERIFY(!readOnly.getContext()); 58 59 ctx.setWorkflowContext(QSharedPointer<WorkflowContext>(new WorkflowContext())); 60 QVERIFY(readOnly.isActiveWorkflow()); 61 QVERIFY(!readOnly.getContext<AuthContext>()); 62 QVERIFY(!ctx.getContext<AuthContext>()); 63 QVERIFY(readOnly.getContext()); 64 65 ctx.clear(); 66 QVERIFY(!readOnly.isActiveWorkflow()); 67 QVERIFY(!readOnly.getContext<AuthContext>()); 68 QVERIFY(!ctx.getContext<AuthContext>()); 69 QVERIFY(!readOnly.getContext()); 70 71 ctx.setWorkflowContext(QSharedPointer<AuthContext>(new AuthContext(QSharedPointer<InternalActivationContext>::create(QUrl("http://www.bla.de"))))); 72 QVERIFY(readOnly.isActiveWorkflow()); 73 QVERIFY(readOnly.getContext<AuthContext>()); 74 QVERIFY(ctx.getContext<AuthContext>()); 75 QVERIFY(readOnly.getContext()); 76 77 QVERIFY(ctx.isActiveWorkflow()); 78 QVERIFY(ctx.getContext<AuthContext>()); 79 QVERIFY(ctx.getContext<AuthContext>()); 80 QVERIFY(ctx.getContext()); 81 } 82 83 84 }; 85 86 QTEST_GUILESS_MAIN(test_MsgContext) 87 #include "test_MsgContext.moc" 88