TEST_F(DBusDynamicLoadingBasicTest, CreatedProxiesAndServicesCanCommunicate) { std::shared_ptr<CommonAPI::Runtime> runtime = CommonAPI::Runtime::load(); ASSERT_TRUE((bool)runtime); std::shared_ptr<CommonAPI::Factory> proxyFactory = runtime->createFactory(); EXPECT_TRUE((bool)proxyFactory); auto defaultTestProxy = proxyFactory->buildProxy<commonapi::tests::TestInterfaceProxy>(testServiceAddress); ASSERT_TRUE((bool)defaultTestProxy); std::shared_ptr<CommonAPI::Factory> serviceFactory = runtime->createFactory(); EXPECT_TRUE((bool)serviceFactory); std::shared_ptr<CommonAPI::ServicePublisher> servicePublisher = runtime->getServicePublisher(); EXPECT_TRUE((bool)servicePublisher); auto myStub = std::make_shared<commonapi::tests::TestInterfaceStubDefault>(); servicePublisher->registerService(myStub, testServiceAddress, serviceFactory); for (uint32_t i = 0; i < 300 && !defaultTestProxy->isAvailable(); ++i) { usleep(1000); } EXPECT_TRUE(defaultTestProxy->isAvailable()); CommonAPI::CallStatus status; defaultTestProxy->testEmptyMethod(status); ASSERT_EQ(CommonAPI::CallStatus::SUCCESS, status); servicePublisher->unregisterService(testServiceAddress); }
void TestInterfaceStubDefault::testEmptyMethod(const std::shared_ptr<CommonAPI::ClientId> clientId) { // Call old style methods in default testEmptyMethod(); }