Advertisement
Guest User

Untitled

a guest
Apr 28th, 2015
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.50 KB | None | 0 0
  1.  
  2. #include <libqtdbustest/DBusTestRunner.h>
  3. #include <libqtdbusmock/DBusMock.h>
  4. #include <QSignalSpy>
  5. #include <gmock/gmock.h>
  6. #include <gtest/gtest.h>
  7.  
  8. using namespace std;
  9. using namespace testing;
  10. using namespace QtDBusTest;
  11. using namespace QtDBusMock;
  12.  
  13. namespace
  14. {
  15.  
  16. class MyServiceInterface;
  17.  
  18. class DbusTest: public Test
  19. {
  20. protected:
  21.     DbusTest() :
  22.             dbusMock(dbusTestRunner)
  23.     {}
  24.  
  25.     void
  26.     SetUp() override
  27.     {
  28.         DBusTypes::registerMetaTypes();
  29.  
  30.         dbusMock.registerNotificationDaemon();
  31.         dbusMock.registerNetworkManager();
  32.         dbusTestRunner.startServices();
  33.  
  34.         daemon.reset(new QProcessDBusService(DBusTypes::DBUS_NAME, QDBusConnection::SessionBus, NETWORK_SERVICE_BIN, QStringList()));
  35.         daemonInterface.reset(new MyServiceInterface("my.service.Name", "/my/service/Name", dbusTestRunner.sessionConnection()));
  36.     }
  37.  
  38.     void startDaemon()
  39.     {
  40.         daemon->start(dbusTestRunner.sessionConnection());
  41.     }
  42.  
  43.     DBusTestRunner dbusTestRunner;
  44.     DBusMock dbusMock;
  45.     std::shared_ptr<QProcessDBusService> daemon;
  46.     std::shared_ptr<MyServiceInterface> daemonInterface;
  47. };
  48.  
  49. TEST_F(DbusTest, GetSecretsWithNone)
  50. {
  51.     const auto& urfkill = dbusMock.urfkillInterface();
  52.     QSignalSpy urfkillSpy(&urfkill, SIGNAL(FlightModeChanged(bool)));
  53.  
  54.     daemonInterface->enableFlightMode();
  55.  
  56.     ASSERT_TRUE(urfkillSpy.wait());
  57.     ASSERT_FALSE(urfkillSpy.isEmpty());
  58.  
  59.     EXPECT_TRUE(bool(urfkill.IsFlightMode()));
  60. }
  61.  
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement