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

Unified Diff: apps/saved_devices_service_unittest.cc

Issue 606503002: Rewrite apps::SavedDevicesService as extensions::DevicePermissionsManager. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added comments. Created 6 years, 3 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: apps/saved_devices_service_unittest.cc
diff --git a/apps/saved_devices_service_unittest.cc b/apps/saved_devices_service_unittest.cc
deleted file mode 100644
index b48e8a67e908780cd709ef78d689d9c131bf0777..0000000000000000000000000000000000000000
--- a/apps/saved_devices_service_unittest.cc
+++ /dev/null
@@ -1,152 +0,0 @@
-// Copyright 2014 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 "apps/saved_devices_service.h"
-#include "base/run_loop.h"
-#include "base/strings/utf_string_conversions.h"
-#include "base/test/values_test_util.h"
-#include "chrome/browser/extensions/test_extension_environment.h"
-#include "chrome/test/base/testing_profile.h"
-#include "device/usb/usb_device.h"
-#include "device/usb/usb_device_handle.h"
-#include "extensions/browser/extension_prefs.h"
-#include "extensions/common/extension.h"
-#include "testing/gmock/include/gmock/gmock.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace apps {
-
-namespace {
-
-using device::UsbDevice;
-using device::UsbDeviceHandle;
-using device::UsbEndpointDirection;
-using device::UsbTransferCallback;
-using testing::Return;
-
-class MockUsbDevice : public UsbDevice {
- public:
- MockUsbDevice(const std::string& serial_number, uint32 unique_id)
- : UsbDevice(0, 0, unique_id), serial_number_(serial_number) {}
-
- MOCK_METHOD0(Open, scoped_refptr<UsbDeviceHandle>());
- MOCK_METHOD1(Close, bool(scoped_refptr<UsbDeviceHandle>));
-#if defined(OS_CHROMEOS)
- MOCK_METHOD2(RequestUsbAccess, void(int, const base::Callback<void(bool)>&));
-#endif
- MOCK_METHOD0(GetConfiguration, const device::UsbConfigDescriptor&());
- MOCK_METHOD1(GetManufacturer, bool(base::string16*));
- MOCK_METHOD1(GetProduct, bool(base::string16*));
-
- bool GetSerialNumber(base::string16* serial) OVERRIDE {
- if (serial_number_.empty()) {
- return false;
- }
-
- *serial = base::UTF8ToUTF16(serial_number_);
- return true;
- }
-
- void NotifyDisconnect() { UsbDevice::NotifyDisconnect(); }
-
- private:
- virtual ~MockUsbDevice() {}
-
- const std::string serial_number_;
-};
-}
-
-class SavedDevicesServiceTest : public testing::Test {
- protected:
- virtual void SetUp() OVERRIDE {
- testing::Test::SetUp();
- env_.GetExtensionPrefs(); // Force creation before adding extensions.
- extension_ = env_.MakeExtension(*base::test::ParseJson(
- "{"
- " \"app\": {"
- " \"background\": {"
- " \"scripts\": [\"background.js\"]"
- " }"
- " },"
- " \"permissions\": ["
- " \"usb\""
- " ]"
- "}"));
- service_ = SavedDevicesService::Get(env_.profile());
- device0 = new MockUsbDevice("ABCDE", 0);
- device1 = new MockUsbDevice("", 1);
- device2 = new MockUsbDevice("12345", 2);
- device3 = new MockUsbDevice("", 3);
- }
-
- extensions::TestExtensionEnvironment env_;
- const extensions::Extension* extension_;
- SavedDevicesService* service_;
- scoped_refptr<MockUsbDevice> device0;
- scoped_refptr<MockUsbDevice> device1;
- scoped_refptr<MockUsbDevice> device2;
- scoped_refptr<MockUsbDevice> device3;
-};
-
-TEST_F(SavedDevicesServiceTest, RegisterDevices) {
- SavedDevicesService::SavedDevices* saved_devices =
- service_->GetOrInsert(extension_->id());
-
- base::string16 serial_number(base::ASCIIToUTF16("ABCDE"));
- saved_devices->RegisterDevice(device0, &serial_number);
- saved_devices->RegisterDevice(device1, NULL);
-
- // This is necessary as writing out registered devices happens in a task on
- // the UI thread.
- base::RunLoop run_loop;
- run_loop.RunUntilIdle();
-
- ASSERT_TRUE(saved_devices->IsRegistered(device0));
- ASSERT_TRUE(saved_devices->IsRegistered(device1));
- ASSERT_FALSE(saved_devices->IsRegistered(device2));
- ASSERT_FALSE(saved_devices->IsRegistered(device3));
-
- std::vector<SavedDeviceEntry> device_entries =
- service_->GetAllDevices(extension_->id());
- ASSERT_EQ(1U, device_entries.size());
- ASSERT_EQ(base::ASCIIToUTF16("ABCDE"), device_entries[0].serial_number);
-
- device1->NotifyDisconnect();
-
- ASSERT_TRUE(saved_devices->IsRegistered(device0));
- ASSERT_FALSE(saved_devices->IsRegistered(device1));
- ASSERT_FALSE(saved_devices->IsRegistered(device2));
- ASSERT_FALSE(saved_devices->IsRegistered(device3));
-
- service_->Clear(extension_->id());
-
- // App is normally restarted, clearing its reference to the SavedDevices.
- saved_devices = service_->GetOrInsert(extension_->id());
- ASSERT_FALSE(saved_devices->IsRegistered(device0));
- device_entries = service_->GetAllDevices(extension_->id());
- ASSERT_EQ(0U, device_entries.size());
-}
-
-TEST_F(SavedDevicesServiceTest, LoadPrefs) {
- scoped_ptr<base::Value> prefs_value = base::test::ParseJson(
- "["
- " {"
- " \"product_id\": 0,"
- " \"serial_number\": \"ABCDE\","
- " \"type\": \"usb\","
- " \"vendor_id\": 0"
- " }"
- "]");
- env_.GetExtensionPrefs()->UpdateExtensionPref(
- extension_->id(), "devices", prefs_value.release());
-
- SavedDevicesService::SavedDevices* saved_devices =
- service_->GetOrInsert(extension_->id());
- ASSERT_TRUE(saved_devices->IsRegistered(device0));
- ASSERT_FALSE(saved_devices->IsRegistered(device1));
- ASSERT_FALSE(saved_devices->IsRegistered(device2));
- ASSERT_FALSE(saved_devices->IsRegistered(device3));
-}
-
-} // namespace apps
« no previous file with comments | « apps/saved_devices_service_factory.cc ('k') | chrome/browser/extensions/api/device_permissions_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698