diff options
-rw-r--r-- | osp/impl/mdns_responder_service_unittest.cc | 1 | ||||
-rw-r--r-- | osp/impl/presentation/presentation_connection_unittest.cc | 11 | ||||
-rw-r--r-- | osp/impl/presentation/presentation_controller.cc | 4 | ||||
-rw-r--r-- | osp/impl/presentation/presentation_controller_unittest.cc | 9 | ||||
-rw-r--r-- | osp/impl/presentation/presentation_receiver_unittest.cc | 4 | ||||
-rw-r--r-- | osp/impl/presentation/testing/mock_connection_delegate.h | 2 | ||||
-rw-r--r-- | osp/impl/presentation/url_availability_requester_unittest.cc | 30 | ||||
-rw-r--r-- | osp/impl/quic/testing/quic_test_support.h | 8 | ||||
-rw-r--r-- | osp/impl/service_listener_impl_unittest.cc | 20 | ||||
-rw-r--r-- | osp/impl/service_publisher_impl_unittest.cc | 8 | ||||
-rw-r--r-- | platform/base/logging.cc | 2 | ||||
-rw-r--r-- | tools/cddl/logging.cc | 1 |
12 files changed, 71 insertions, 29 deletions
diff --git a/osp/impl/mdns_responder_service_unittest.cc b/osp/impl/mdns_responder_service_unittest.cc index 2628a323..cebf6890 100644 --- a/osp/impl/mdns_responder_service_unittest.cc +++ b/osp/impl/mdns_responder_service_unittest.cc @@ -682,6 +682,7 @@ TEST_F(MdnsResponderServiceTest, ServiceQueriesStoppedPtrFirst) { } TEST_F(MdnsResponderServiceTest, MultipleInterfaceRemove) { + EXPECT_CALL(observer_, OnStarted()); service_listener_->Start(); auto* mdns_responder = mdns_responder_factory_->last_mdns_responder(); diff --git a/osp/impl/presentation/presentation_connection_unittest.cc b/osp/impl/presentation/presentation_connection_unittest.cc index e52fed48..0c5096cf 100644 --- a/osp/impl/presentation/presentation_connection_unittest.cc +++ b/osp/impl/presentation/presentation_connection_unittest.cc @@ -22,8 +22,11 @@ namespace presentation { using ::testing::_; using ::testing::Invoke; +using ::testing::NiceMock; -class MockParentDelegate final : public Connection::ParentDelegate { +namespace { + +class MockParentDelegate : public Connection::ParentDelegate { public: MockParentDelegate() = default; ~MockParentDelegate() override = default; @@ -49,6 +52,8 @@ class MockConnectRequest final MOCK_METHOD1(OnConnectionFailed, void(uint64_t request_id)); }; +} // namespace + class ConnectionTest : public ::testing::Test { protected: void SetUp() override { @@ -76,8 +81,8 @@ class ConnectionTest : public ::testing::Test { quic_bridge_.controller_demuxer.get()}; ConnectionManager receiver_connection_manager_{ quic_bridge_.receiver_demuxer.get()}; - MockParentDelegate mock_controller_; - MockParentDelegate mock_receiver_; + NiceMock<MockParentDelegate> mock_controller_; + NiceMock<MockParentDelegate> mock_receiver_; }; TEST_F(ConnectionTest, ConnectAndSend) { diff --git a/osp/impl/presentation/presentation_controller.cc b/osp/impl/presentation/presentation_controller.cc index de10290b..fa62a3df 100644 --- a/osp/impl/presentation/presentation_controller.cc +++ b/osp/impl/presentation/presentation_controller.cc @@ -679,8 +679,8 @@ ErrorOr<size_t> Controller::TerminationListener::OnStreamMessage( // static std::string Controller::MakePresentationId(const std::string& url, const std::string& service_id) { - OSP_UNIMPLEMENTED(); - // TODO(btolsch): This is just a placeholder for the demo. + // TODO(btolsch): This is just a placeholder for the demo. It should + // eventually become a GUID/unguessable token routine. std::string safe_id = service_id; for (auto& c : safe_id) if (c < ' ' || c > '~') diff --git a/osp/impl/presentation/presentation_controller_unittest.cc b/osp/impl/presentation/presentation_controller_unittest.cc index e1758c85..5b09d10c 100644 --- a/osp/impl/presentation/presentation_controller_unittest.cc +++ b/osp/impl/presentation/presentation_controller_unittest.cc @@ -23,6 +23,9 @@ namespace presentation { using std::chrono::seconds; using ::testing::_; using ::testing::Invoke; +using ::testing::NiceMock; + +namespace { const char kTestUrl[] = "https://example.foo"; @@ -68,6 +71,8 @@ class MockRequestDelegate final : public RequestDelegate { MOCK_METHOD1(OnError, void(const Error& error)); }; +} // namespace + class ControllerTest : public ::testing::Test { protected: void SetUp() override { @@ -381,7 +386,7 @@ TEST_F(ControllerTest, ReceiverWatchCancel) { TEST_F(ControllerTest, StartPresentation) { MockMessageCallback mock_callback; - MockConnectionDelegate mock_connection_delegate; + NiceMock<MockConnectionDelegate> mock_connection_delegate; std::unique_ptr<Connection> connection; StartPresentation(&mock_callback, &mock_connection_delegate, &connection); } @@ -461,7 +466,7 @@ TEST_F(ControllerTest, CloseConnection) { TEST_F(ControllerTest, Reconnect) { MockMessageCallback mock_callback; - MockConnectionDelegate mock_connection_delegate; + NiceMock<MockConnectionDelegate> mock_connection_delegate; std::unique_ptr<Connection> connection; StartPresentation(&mock_callback, &mock_connection_delegate, &connection); diff --git a/osp/impl/presentation/presentation_receiver_unittest.cc b/osp/impl/presentation/presentation_receiver_unittest.cc index 9a6e0dbd..51e01aa9 100644 --- a/osp/impl/presentation/presentation_receiver_unittest.cc +++ b/osp/impl/presentation/presentation_receiver_unittest.cc @@ -20,10 +20,12 @@ namespace openscreen { namespace presentation { + namespace { using ::testing::_; using ::testing::Invoke; +using ::testing::NiceMock; class MockConnectRequest final : public ProtocolConnectionClient::ConnectionRequestCallback { @@ -170,7 +172,7 @@ TEST_F(PresentationReceiverTest, StartPresentation) { EXPECT_EQ(presentation_id, info.id); EXPECT_EQ(url1_, info.url); - MockConnectionDelegate null_connection_delegate; + NiceMock<MockConnectionDelegate> null_connection_delegate; Connection connection(Connection::PresentationInfo{presentation_id, url1_}, &null_connection_delegate, Receiver::Get()); Receiver::Get()->OnPresentationStarted(presentation_id, &connection, diff --git a/osp/impl/presentation/testing/mock_connection_delegate.h b/osp/impl/presentation/testing/mock_connection_delegate.h index 85c3c113..08960686 100644 --- a/osp/impl/presentation/testing/mock_connection_delegate.h +++ b/osp/impl/presentation/testing/mock_connection_delegate.h @@ -11,7 +11,7 @@ namespace openscreen { namespace presentation { -class MockConnectionDelegate final : public Connection::Delegate { +class MockConnectionDelegate : public Connection::Delegate { public: ~MockConnectionDelegate() override = default; diff --git a/osp/impl/presentation/url_availability_requester_unittest.cc b/osp/impl/presentation/url_availability_requester_unittest.cc index 5b8c2f8f..9732fc38 100644 --- a/osp/impl/presentation/url_availability_requester_unittest.cc +++ b/osp/impl/presentation/url_availability_requester_unittest.cc @@ -24,9 +24,12 @@ namespace presentation { using ::testing::_; using ::testing::Invoke; +using ::testing::Mock; using ::testing::Test; -class MockReceiverObserver final : public ReceiverObserver { +namespace { + +class MockReceiverObserver : public ReceiverObserver { public: ~MockReceiverObserver() override = default; @@ -37,14 +40,7 @@ class MockReceiverObserver final : public ReceiverObserver { void(const std::string&, const std::string&)); }; -class NullObserver final : public ProtocolConnectionServiceObserver { - public: - ~NullObserver() override = default; - void OnRunning() override {} - void OnStopped() override {} - void OnMetrics(const NetworkMetrics& metrics) override {} - void OnError(const Error& error) override {} -}; +} // namespace class UrlAvailabilityRequesterTest : public Test { public: @@ -367,12 +363,15 @@ TEST_F(UrlAvailabilityRequesterTest, RemoveObserverUrls) { EXPECT_CALL(mock_observer1, OnReceiverUnavailable(url1_, service_id_)) .Times(0); quic_bridge_.RunTasksUntilIdle(); + Mock::VerifyAndClearExpectations(&mock_observer1); MockReceiverObserver mock_observer2; + EXPECT_CALL(mock_observer2, OnReceiverAvailable(url1_, service_id_)); listener_.AddObserver({url1_, url2_}, &mock_observer2); ExpectStreamMessage(&mock_callback_, &request); quic_bridge_.RunTasksUntilIdle(); + Mock::VerifyAndClearExpectations(&mock_observer2); EXPECT_EQ(std::vector<std::string>{url2_}, request.urls); @@ -385,6 +384,8 @@ TEST_F(UrlAvailabilityRequesterTest, RemoveObserverUrls) { EXPECT_CALL(mock_observer2, OnReceiverAvailable(_, service_id_)).Times(0); EXPECT_CALL(mock_observer2, OnReceiverUnavailable(url2_, service_id_)); quic_bridge_.RunTasksUntilIdle(); + Mock::VerifyAndClearExpectations(&mock_observer1); + Mock::VerifyAndClearExpectations(&mock_observer2); SendAvailabilityEvent( url1_watch_id, @@ -395,6 +396,8 @@ TEST_F(UrlAvailabilityRequesterTest, RemoveObserverUrls) { .Times(0); EXPECT_CALL(mock_observer2, OnReceiverUnavailable(url1_, service_id_)); quic_bridge_.RunTasksUntilIdle(); + Mock::VerifyAndClearExpectations(&mock_observer1); + Mock::VerifyAndClearExpectations(&mock_observer2); } TEST_F(UrlAvailabilityRequesterTest, RemoveObserver) { @@ -421,12 +424,15 @@ TEST_F(UrlAvailabilityRequesterTest, RemoveObserver) { EXPECT_CALL(mock_observer1, OnReceiverUnavailable(url1_, service_id_)) .Times(0); quic_bridge_.RunTasksUntilIdle(); + Mock::VerifyAndClearExpectations(&mock_observer1); MockReceiverObserver mock_observer2; + EXPECT_CALL(mock_observer2, OnReceiverAvailable(url1_, service_id_)); listener_.AddObserver({url1_, url2_}, &mock_observer2); ExpectStreamMessage(&mock_callback_, &request); quic_bridge_.RunTasksUntilIdle(); + Mock::VerifyAndClearExpectations(&mock_observer2); uint64_t url2_watch_id = request.watch_id; EXPECT_EQ(std::vector<std::string>{url2_}, request.urls); @@ -440,6 +446,8 @@ TEST_F(UrlAvailabilityRequesterTest, RemoveObserver) { EXPECT_CALL(mock_observer2, OnReceiverAvailable(_, service_id_)).Times(0); EXPECT_CALL(mock_observer2, OnReceiverUnavailable(url2_, service_id_)); quic_bridge_.RunTasksUntilIdle(); + Mock::VerifyAndClearExpectations(&mock_observer1); + Mock::VerifyAndClearExpectations(&mock_observer2); SendAvailabilityEvent( url1_watch_id, @@ -450,6 +458,8 @@ TEST_F(UrlAvailabilityRequesterTest, RemoveObserver) { .Times(0); EXPECT_CALL(mock_observer2, OnReceiverUnavailable(url1_, service_id_)); quic_bridge_.RunTasksUntilIdle(); + Mock::VerifyAndClearExpectations(&mock_observer1); + Mock::VerifyAndClearExpectations(&mock_observer2); listener_.RemoveObserver(&mock_observer2); @@ -466,6 +476,8 @@ TEST_F(UrlAvailabilityRequesterTest, RemoveObserver) { EXPECT_CALL(mock_observer1, OnReceiverUnavailable(_, service_id_)).Times(0); EXPECT_CALL(mock_observer2, OnReceiverUnavailable(_, service_id_)).Times(0); quic_bridge_.RunTasksUntilIdle(); + Mock::VerifyAndClearExpectations(&mock_observer1); + Mock::VerifyAndClearExpectations(&mock_observer2); } TEST_F(UrlAvailabilityRequesterTest, EventUpdate) { diff --git a/osp/impl/quic/testing/quic_test_support.h b/osp/impl/quic/testing/quic_test_support.h index 9ee59e20..6f1720b9 100644 --- a/osp/impl/quic/testing/quic_test_support.h +++ b/osp/impl/quic/testing/quic_test_support.h @@ -21,7 +21,7 @@ namespace openscreen { -class MockServiceObserver final : public ProtocolConnectionServiceObserver { +class MockServiceObserver : public ProtocolConnectionServiceObserver { public: ~MockServiceObserver() override = default; @@ -31,7 +31,7 @@ class MockServiceObserver final : public ProtocolConnectionServiceObserver { MOCK_METHOD1(OnError, void(const Error& error)); }; -class MockServerObserver final : public ProtocolConnectionServer::Observer { +class MockServerObserver : public ProtocolConnectionServer::Observer { public: ~MockServerObserver() override = default; @@ -65,8 +65,8 @@ class FakeQuicBridge { std::unique_ptr<QuicClient> quic_client; std::unique_ptr<QuicServer> quic_server; std::unique_ptr<FakeQuicConnectionFactoryBridge> fake_bridge; - MockServiceObserver mock_client_observer; - MockServerObserver mock_server_observer; + ::testing::NiceMock<MockServiceObserver> mock_client_observer; + ::testing::NiceMock<MockServerObserver> mock_server_observer; }; } // namespace openscreen diff --git a/osp/impl/service_listener_impl_unittest.cc b/osp/impl/service_listener_impl_unittest.cc index da91150d..3f3cf571 100644 --- a/osp/impl/service_listener_impl_unittest.cc +++ b/osp/impl/service_listener_impl_unittest.cc @@ -15,9 +15,13 @@ namespace { using ::testing::_; using ::testing::ElementsAre; using ::testing::Expectation; +using ::testing::Mock; +using ::testing::NiceMock; using State = ServiceListener::State; +namespace { + class MockObserver final : public ServiceListener::Observer { public: ~MockObserver() = default; @@ -37,7 +41,7 @@ class MockObserver final : public ServiceListener::Observer { MOCK_METHOD1(OnMetrics, void(ServiceListener::Metrics)); }; -class MockMdnsDelegate final : public ServiceListenerImpl::Delegate { +class MockMdnsDelegate : public ServiceListenerImpl::Delegate { public: MockMdnsDelegate() = default; ~MockMdnsDelegate() override = default; @@ -53,13 +57,15 @@ class MockMdnsDelegate final : public ServiceListenerImpl::Delegate { MOCK_METHOD0(RunTasksListener, void()); }; +} // namespace + class ServiceListenerImplTest : public ::testing::Test { protected: void SetUp() override { service_listener_ = std::make_unique<ServiceListenerImpl>(&mock_delegate_); } - MockMdnsDelegate mock_delegate_; + NiceMock<MockMdnsDelegate> mock_delegate_; std::unique_ptr<ServiceListenerImpl> service_listener_; }; @@ -280,23 +286,31 @@ TEST_F(ServiceListenerImplTest, ObserveFromSearching) { MockObserver observer; service_listener_->AddObserver(&observer); + EXPECT_CALL(observer, OnStarted()); service_listener_->Start(); mock_delegate_.SetState(State::kRunning); + Mock::VerifyAndClearExpectations(&observer); + EXPECT_CALL(observer, OnSearching()); service_listener_->SearchNow(); mock_delegate_.SetState(State::kSearching); + Mock::VerifyAndClearExpectations(&observer); - service_listener_->Suspend(); EXPECT_CALL(observer, OnSuspended()); + service_listener_->Suspend(); mock_delegate_.SetState(State::kSuspended); + Mock::VerifyAndClearExpectations(&observer); + EXPECT_CALL(observer, OnSearching()); EXPECT_TRUE(service_listener_->SearchNow()); mock_delegate_.SetState(State::kSearching); + Mock::VerifyAndClearExpectations(&observer); service_listener_->Resume(); EXPECT_CALL(observer, OnStarted()); mock_delegate_.SetState(State::kRunning); service_listener_->RemoveObserver(&observer); + Mock::VerifyAndClearExpectations(&observer); } TEST_F(ServiceListenerImplTest, ReceiverObserverPassThrough) { diff --git a/osp/impl/service_publisher_impl_unittest.cc b/osp/impl/service_publisher_impl_unittest.cc index 004c7204..8f838bcc 100644 --- a/osp/impl/service_publisher_impl_unittest.cc +++ b/osp/impl/service_publisher_impl_unittest.cc @@ -13,6 +13,8 @@ namespace openscreen { namespace { using ::testing::Expectation; +using ::testing::NiceMock; + using State = ServicePublisher::State; class MockObserver final : public ServicePublisher::Observer { @@ -28,7 +30,7 @@ class MockObserver final : public ServicePublisher::Observer { MOCK_METHOD1(OnMetrics, void(ServicePublisher::Metrics)); }; -class MockMdnsDelegate final : public ServicePublisherImpl::Delegate { +class MockMdnsDelegate : public ServicePublisherImpl::Delegate { public: MockMdnsDelegate() = default; ~MockMdnsDelegate() override = default; @@ -50,7 +52,7 @@ class ServicePublisherImplTest : public ::testing::Test { std::make_unique<ServicePublisherImpl>(nullptr, &mock_delegate_); } - MockMdnsDelegate mock_delegate_; + NiceMock<MockMdnsDelegate> mock_delegate_; std::unique_ptr<ServicePublisherImpl> service_publisher_; }; @@ -131,7 +133,7 @@ TEST_F(ServicePublisherImplTest, SuspendAndResume) { TEST_F(ServicePublisherImplTest, ObserverTransitions) { MockObserver observer; - MockMdnsDelegate mock_delegate; + NiceMock<MockMdnsDelegate> mock_delegate; service_publisher_ = std::make_unique<ServicePublisherImpl>(&observer, &mock_delegate); diff --git a/platform/base/logging.cc b/platform/base/logging.cc index 5d8bf86f..2b447e79 100644 --- a/platform/base/logging.cc +++ b/platform/base/logging.cc @@ -14,7 +14,7 @@ namespace openscreen { namespace platform { namespace { -LogLevel g_log_level = LogLevel::kInfo; +LogLevel g_log_level = LogLevel::kWarning; std::ostream& operator<<(std::ostream& os, const LogLevel& level) { os << LogLevelToString(level); diff --git a/tools/cddl/logging.cc b/tools/cddl/logging.cc index 4cb694e6..a984c409 100644 --- a/tools/cddl/logging.cc +++ b/tools/cddl/logging.cc @@ -35,6 +35,7 @@ void Logger::VerifyInitialized() { Logger::Logger() { this->is_initialized_ = false; openscreen::platform::LogInit(nullptr); + openscreen::platform::SetLogLevel(openscreen::platform::LogLevel::kInfo); } // Static: Logger* Logger::Get() { |