Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1691)

Unified Diff: chrome/browser/extensions/api/mdns/dns_sd_registry_unittest.cc

Issue 2876703002: [mDns] Move dns_sd_registry from extension/api/mdns to media/router/discovery/mdns (Closed)
Patch Set: rebase with master Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/api/mdns/dns_sd_registry_unittest.cc
diff --git a/chrome/browser/extensions/api/mdns/dns_sd_registry_unittest.cc b/chrome/browser/extensions/api/mdns/dns_sd_registry_unittest.cc
deleted file mode 100644
index a95e68a2078230ea75bff8c5ea7f46889a7e1aad..0000000000000000000000000000000000000000
--- a/chrome/browser/extensions/api/mdns/dns_sd_registry_unittest.cc
+++ /dev/null
@@ -1,264 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/extensions/api/mdns/dns_sd_registry.h"
-#include "chrome/browser/extensions/api/mdns/dns_sd_delegate.h"
-#include "chrome/browser/extensions/api/mdns/dns_sd_device_lister.h"
-#include "testing/gmock/include/gmock/gmock.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace extensions {
-
-class MockDnsSdDeviceLister : public DnsSdDeviceLister {
- public:
- MockDnsSdDeviceLister() : DnsSdDeviceLister(NULL, NULL, "") {}
- ~MockDnsSdDeviceLister() override {}
-
- MOCK_METHOD1(Discover, void(bool force_update));
-};
-
-class TestDnsSdRegistry : public DnsSdRegistry {
- public:
- TestDnsSdRegistry() : DnsSdRegistry(NULL), delegate_(NULL) {}
- ~TestDnsSdRegistry() override {}
-
- MockDnsSdDeviceLister* GetListerForService(const std::string& service_type) {
- return listers_[service_type];
- }
-
- int GetServiceListenerCount(const std::string& service_type) {
- if (service_data_map_.find(service_type) == service_data_map_.end())
- return 0;
-
- return service_data_map_[service_type]->GetListenerCount();
- }
-
- MockDnsSdDeviceLister* GetLister(const std::string& service_type) {
- return listers_.find(service_type) != listers_.end()
- ? listers_[service_type]
- : nullptr;
- }
-
- DnsSdDelegate* GetDelegate() {
- return delegate_;
- }
-
- protected:
- DnsSdDeviceLister* CreateDnsSdDeviceLister(
- DnsSdDelegate* delegate,
- const std::string& service_type,
- local_discovery::ServiceDiscoverySharedClient* discovery_client)
- override {
- delegate_ = delegate;
- MockDnsSdDeviceLister* lister = new MockDnsSdDeviceLister();
- listers_[service_type] = lister;
- return lister;
- };
-
- private:
- std::map<std::string, MockDnsSdDeviceLister*> listers_;
- // The last delegate used or NULL.
- DnsSdDelegate* delegate_;
-};
-
-class MockDnsSdObserver : public DnsSdRegistry::DnsSdObserver {
- public:
- MOCK_METHOD2(OnDnsSdEvent, void(const std::string&,
- const DnsSdRegistry::DnsSdServiceList&));
-};
-
-class DnsSdRegistryTest : public testing::Test {
- public:
- DnsSdRegistryTest() {}
- ~DnsSdRegistryTest() override {}
-
- void SetUp() override {
- registry_.reset(new TestDnsSdRegistry());
- registry_->AddObserver(&observer_);
- }
-
- protected:
- std::unique_ptr<TestDnsSdRegistry> registry_;
- MockDnsSdObserver observer_;
-};
-
-// Tests registering 2 listeners and removing one. The device lister should
-// not be destroyed.
-TEST_F(DnsSdRegistryTest, RegisterUnregisterListeners) {
- const std::string service_type = "_testing._tcp.local";
-
- EXPECT_CALL(observer_, OnDnsSdEvent(service_type,
- DnsSdRegistry::DnsSdServiceList())).Times(2);
-
- registry_->RegisterDnsSdListener(service_type);
- registry_->RegisterDnsSdListener(service_type);
- registry_->UnregisterDnsSdListener(service_type);
- EXPECT_EQ(1, registry_->GetServiceListenerCount(service_type));
-
- registry_->UnregisterDnsSdListener(service_type);
- EXPECT_EQ(0, registry_->GetServiceListenerCount(service_type));
-}
-
-// Tests that verify calls to ForceDiscovery() are propagated to registered
-// listeners.
-TEST_F(DnsSdRegistryTest, ForceDiscovery) {
- const std::string service_type1 = "_testing1._tcp.local";
- const std::string service_type2 = "_testing2._tcp.local";
-
- EXPECT_CALL(observer_,
- OnDnsSdEvent(service_type1, DnsSdRegistry::DnsSdServiceList()));
- EXPECT_CALL(observer_,
- OnDnsSdEvent(service_type2, DnsSdRegistry::DnsSdServiceList()));
-
- registry_->RegisterDnsSdListener(service_type1);
- registry_->RegisterDnsSdListener(service_type2);
- EXPECT_EQ(1, registry_->GetServiceListenerCount(service_type1));
- EXPECT_EQ(1, registry_->GetServiceListenerCount(service_type2));
-
- EXPECT_CALL(*registry_->GetLister(service_type1), Discover(false));
- EXPECT_CALL(*registry_->GetLister(service_type2), Discover(false));
- registry_->ForceDiscovery();
-}
-
-// Tests registering a listener and receiving an added and updated event.
-TEST_F(DnsSdRegistryTest, AddAndUpdate) {
- const std::string service_type = "_testing._tcp.local";
- const std::string ip_address1 = "192.168.0.100";
- const std::string ip_address2 = "192.168.0.101";
-
- DnsSdService service;
- service.service_name = "_myDevice." + service_type;
- service.ip_address = ip_address1;
-
- DnsSdRegistry::DnsSdServiceList service_list;
-
- EXPECT_CALL(observer_, OnDnsSdEvent(service_type, service_list));
-
- // Add first service.
- service_list.push_back(service);
- EXPECT_CALL(observer_, OnDnsSdEvent(service_type, service_list));
-
- // Clear services and add same one with different IP address.
- service_list.clear();
- service.ip_address = ip_address2;
- service_list.push_back(service);
- EXPECT_CALL(observer_, OnDnsSdEvent(service_type, service_list));
-
- registry_->RegisterDnsSdListener(service_type);
- service.ip_address = ip_address1;
- registry_->GetDelegate()->ServiceChanged(service_type, true, service);
- service.ip_address = ip_address2;
- registry_->GetDelegate()->ServiceChanged(service_type, false, service);
-}
-
-// Tests registering a listener and receiving an added and removed event.
-TEST_F(DnsSdRegistryTest, AddAndRemove) {
- const std::string service_type = "_testing._tcp.local";
-
- DnsSdService service;
- service.service_name = "_myDevice." + service_type;
- service.ip_address = "192.168.0.100";
-
- DnsSdRegistry::DnsSdServiceList service_list;
- // Expect to be called twice with empty list (once on register, once after
- // removing).
- EXPECT_CALL(observer_, OnDnsSdEvent(service_type, service_list)).Times(2);
- service_list.push_back(service);
- // Expect to be called twice with 1 item (once after adding, once after adding
- // again after removal).
- EXPECT_CALL(observer_, OnDnsSdEvent(service_type, service_list)).Times(2);
-
- registry_->RegisterDnsSdListener(service_type);
- registry_->GetDelegate()->ServiceChanged(service_type, true, service);
- registry_->GetDelegate()->ServiceRemoved(service_type, service.service_name);
- registry_->GetDelegate()->ServiceChanged(service_type, true, service);
-}
-
-// Tests adding multiple services.
-TEST_F(DnsSdRegistryTest, AddMultipleServices) {
- const std::string service_type = "_testing._tcp.local";
-
- DnsSdService service;
- service.service_name = "_myDevice." + service_type;
- service.ip_address = "192.168.0.100";
-
- DnsSdService service2;
- service.service_name = "_myDevice2." + service_type;
- service.ip_address = "192.168.0.101";
-
- DnsSdRegistry::DnsSdServiceList service_list;
- EXPECT_CALL(observer_, OnDnsSdEvent(service_type, service_list));
- service_list.push_back(service);
- EXPECT_CALL(observer_, OnDnsSdEvent(service_type, service_list));
- service_list.push_back(service2);
- EXPECT_CALL(observer_, OnDnsSdEvent(service_type, service_list));
-
- registry_->RegisterDnsSdListener(service_type);
- registry_->GetDelegate()->ServiceChanged(service_type, true, service);
- registry_->GetDelegate()->ServiceChanged(service_type, true, service2);
-}
-
-// Tests adding multiple services and handling a flush event.
-TEST_F(DnsSdRegistryTest, FlushCache) {
- testing::InSequence s;
- const std::string service_type = "_testing._tcp.local";
-
- DnsSdService service;
- service.service_name = "_myDevice." + service_type;
- service.ip_address = "192.168.0.100";
-
- DnsSdService service2;
- service.service_name = "_myDevice2." + service_type;
- service.ip_address = "192.168.0.101";
-
- DnsSdRegistry::DnsSdServiceList service_list;
- EXPECT_CALL(observer_, OnDnsSdEvent(service_type, service_list));
- service_list.push_back(service);
- EXPECT_CALL(observer_, OnDnsSdEvent(service_type, service_list));
- service_list.push_back(service2);
- EXPECT_CALL(observer_, OnDnsSdEvent(service_type, service_list));
- service_list.clear();
- EXPECT_CALL(observer_, OnDnsSdEvent(service_type, service_list));
-
- registry_->RegisterDnsSdListener(service_type);
- registry_->GetDelegate()->ServiceChanged(service_type, true, service);
- registry_->GetDelegate()->ServiceChanged(service_type, true, service2);
- registry_->GetDelegate()->ServicesFlushed(service_type);
-}
-
-// Tests receiving an update from the DnsSdDelegate that does not change the
-// service object does not notify the observer.
-TEST_F(DnsSdRegistryTest, UpdateOnlyIfChanged) {
- const std::string service_type = "_testing._tcp.local";
- const std::string ip_address = "192.168.0.100";
-
- DnsSdService service;
- service.service_name = "_myDevice." + service_type;
- service.ip_address = ip_address;
-
- DnsSdRegistry::DnsSdServiceList service_list;
- EXPECT_CALL(observer_, OnDnsSdEvent(service_type, service_list));
-
- // Expect service_list with initial service.
- service_list.push_back(service);
- EXPECT_CALL(observer_, OnDnsSdEvent(service_type, service_list));
-
- // Expect service_list with updated service.
- service_list.clear();
- service.ip_address = "192.168.0.101";
- service_list.push_back(service);
- EXPECT_CALL(observer_, OnDnsSdEvent(service_type, service_list));
- // No more calls to observer_.
-
- registry_->RegisterDnsSdListener(service_type);
- service.ip_address = "192.168.0.100";
- registry_->GetDelegate()->ServiceChanged(service_type, true, service);
- // Update with changed ip address.
- service.ip_address = "192.168.0.101";
- registry_->GetDelegate()->ServiceChanged(service_type, false, service);
- // Update with no changes to the service.
- registry_->GetDelegate()->ServiceChanged(service_type, false, service);
-}
-
-} // namespace extensions
« no previous file with comments | « chrome/browser/extensions/api/mdns/dns_sd_registry.cc ('k') | chrome/browser/extensions/api/mdns/mdns_api.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698