Skip to content

Commit

Permalink
[Extensions] Move printerProvider tests to chrome/browser/extensions.
Browse files Browse the repository at this point in the history
This CL moves printer_provider_apitest.cc and its related test
extensions and modifies the test base class so it derives from
ExtensionApiTest instead of ShellApiTest. This is a first step
toward potentially enabling the printerProvider API for Service
Worker-based extensions.

Bug: 1186580
Change-Id: I58af3fa4a9ddc2981910d91af937df83c8ef9d09
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2762619
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Reviewed-by: Karan Bhatia <karandeepb@chromium.org>
Commit-Queue: David Bertoni <dbertoni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#863597}
  • Loading branch information
David Bertoni authored and Chromium LUCI CQ committed Mar 17, 2021
1 parent d0af66b commit a8eea25
Show file tree
Hide file tree
Showing 15 changed files with 44 additions and 47 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@
#include "base/strings/stringprintf.h"
#include "base/strings/utf_string_conversions.h"
#include "base/threading/thread_restrictions.h"
#include "build/build_config.h"
#include "chrome/browser/extensions/extension_apitest.h"
#include "chrome/browser/profiles/profile.h"
#include "content/public/test/browser_test.h"
#include "extensions/browser/api/printer_provider/printer_provider_api.h"
#include "extensions/browser/api/printer_provider/printer_provider_api_factory.h"
#include "extensions/browser/api/printer_provider/printer_provider_print_job.h"
Expand All @@ -23,7 +27,6 @@
#include "extensions/browser/unloaded_extension_reason.h"
#include "extensions/common/extension.h"
#include "extensions/common/value_builder.h"
#include "extensions/shell/test/shell_apitest.h"
#include "extensions/test/extension_test_message_listener.h"
#include "extensions/test/result_catcher.h"
#include "services/device/public/cpp/test/fake_usb_device_manager.h"
Expand Down Expand Up @@ -87,7 +90,7 @@ void ExpectValueAndRunCallback(const base::Value* expected_value,
}

// Tests for chrome.printerProvider API.
class PrinterProviderApiTest : public ShellApiTest {
class PrinterProviderApiTest : public ExtensionApiTest {
public:
enum PrintRequestDataType {
PRINT_REQUEST_DATA_TYPE_NOT_SET,
Expand All @@ -100,7 +103,7 @@ class PrinterProviderApiTest : public ShellApiTest {
void StartGetPrintersRequest(
const PrinterProviderAPI::GetPrintersCallback& callback) {
PrinterProviderAPIFactory::GetInstance()
->GetForBrowserContext(browser_context())
->GetForBrowserContext(profile())
->DispatchGetPrintersRequested(callback);
}

Expand All @@ -109,7 +112,7 @@ class PrinterProviderApiTest : public ShellApiTest {
const device::mojom::UsbDeviceInfo& device,
PrinterProviderAPI::GetPrinterInfoCallback callback) {
PrinterProviderAPIFactory::GetInstance()
->GetForBrowserContext(browser_context())
->GetForBrowserContext(profile())
->DispatchGetUsbPrinterInfoRequested(extension_id, device,
std::move(callback));
}
Expand All @@ -122,7 +125,7 @@ class PrinterProviderApiTest : public ShellApiTest {
job.content_type = "application/pdf";

PrinterProviderAPIFactory::GetInstance()
->GetForBrowserContext(browser_context())
->GetForBrowserContext(profile())
->DispatchPrintRequested(std::move(job), std::move(callback));
}

Expand All @@ -139,15 +142,15 @@ class PrinterProviderApiTest : public ShellApiTest {
new base::RefCountedBytes(kDocumentBytes, base::size(kDocumentBytes));

PrinterProviderAPIFactory::GetInstance()
->GetForBrowserContext(browser_context())
->GetForBrowserContext(profile())
->DispatchPrintRequested(std::move(job), std::move(callback));
}

void StartCapabilityRequest(
const std::string& extension_id,
PrinterProviderAPI::GetCapabilityCallback callback) {
PrinterProviderAPIFactory::GetInstance()
->GetForBrowserContext(browser_context())
->GetForBrowserContext(profile())
->DispatchGetCapabilityRequested(extension_id + ":printer_id",
std::move(callback));
}
Expand All @@ -167,7 +170,8 @@ class PrinterProviderApiTest : public ShellApiTest {
ExtensionTestMessageListener loaded_listener("loaded", true);
ExtensionTestMessageListener ready_listener("ready", false);

const Extension* extension = LoadApp(app_path);
const Extension* extension =
LoadExtension(test_data_dir_.AppendASCII(app_path));
ASSERT_TRUE(extension);
const std::string extension_id = extension->id();

Expand All @@ -192,7 +196,7 @@ class PrinterProviderApiTest : public ShellApiTest {
ResultCatcher catcher;

std::string extension_id;
InitializePrinterProviderTestApp("api_test/printer_provider/request_print",
InitializePrinterProviderTestApp("printer_provider/request_print",
test_param, &extension_id);
if (extension_id.empty())
return;
Expand Down Expand Up @@ -230,9 +234,8 @@ class PrinterProviderApiTest : public ShellApiTest {
ResultCatcher catcher;

std::string extension_id;
InitializePrinterProviderTestApp(
"api_test/printer_provider/request_capability", test_param,
&extension_id);
InitializePrinterProviderTestApp("printer_provider/request_capability",
test_param, &extension_id);
if (extension_id.empty())
return;

Expand All @@ -258,7 +261,7 @@ class PrinterProviderApiTest : public ShellApiTest {
usb_manager_.CreateAndAddDevice(0, 0, "Google", "USB Printer", "");

std::string extension_id;
InitializePrinterProviderTestApp("api_test/printer_provider/usb_printers",
InitializePrinterProviderTestApp("printer_provider/usb_printers",
test_param, &extension_id);
ASSERT_FALSE(extension_id.empty());

Expand All @@ -275,8 +278,7 @@ class PrinterProviderApiTest : public ShellApiTest {
}

bool SimulateExtensionUnload(const std::string& extension_id) {
ExtensionRegistry* extension_registry =
ExtensionRegistry::Get(browser_context());
ExtensionRegistry* extension_registry = ExtensionRegistry::Get(profile());

const Extension* extension = extension_registry->GetExtensionById(
extension_id, ExtensionRegistry::ENABLED);
Expand Down Expand Up @@ -350,7 +352,7 @@ IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest, PrintRequestAppUnloaded) {
ResultCatcher catcher;

std::string extension_id;
InitializePrinterProviderTestApp("api_test/printer_provider/request_print",
InitializePrinterProviderTestApp("printer_provider/request_print",
"IGNORE_CALLBACK", &extension_id);
ASSERT_FALSE(extension_id.empty());

Expand Down Expand Up @@ -395,9 +397,8 @@ IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest, GetCapabilityAppUnloaded) {
ResultCatcher catcher;

std::string extension_id;
InitializePrinterProviderTestApp(
"api_test/printer_provider/request_capability", "IGNORE_CALLBACK",
&extension_id);
InitializePrinterProviderTestApp("printer_provider/request_capability",
"IGNORE_CALLBACK", &extension_id);
ASSERT_FALSE(extension_id.empty());

base::RunLoop run_loop;
Expand All @@ -417,8 +418,8 @@ IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest, GetPrintersSuccess) {
ResultCatcher catcher;

std::string extension_id;
InitializePrinterProviderTestApp("api_test/printer_provider/request_printers",
"OK", &extension_id);
InitializePrinterProviderTestApp("printer_provider/request_printers", "OK",
&extension_id);
ASSERT_FALSE(extension_id.empty());

base::RunLoop run_loop;
Expand Down Expand Up @@ -456,7 +457,7 @@ IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest, GetPrintersAsyncSuccess) {
ResultCatcher catcher;

std::string extension_id;
InitializePrinterProviderTestApp("api_test/printer_provider/request_printers",
InitializePrinterProviderTestApp("printer_provider/request_printers",
"ASYNC_RESPONSE", &extension_id);
ASSERT_FALSE(extension_id.empty());

Expand Down Expand Up @@ -487,14 +488,13 @@ IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest, GetPrintersTwoExtensions) {
ResultCatcher catcher;

std::string extension_id_1;
InitializePrinterProviderTestApp("api_test/printer_provider/request_printers",
"OK", &extension_id_1);
InitializePrinterProviderTestApp("printer_provider/request_printers", "OK",
&extension_id_1);
ASSERT_FALSE(extension_id_1.empty());

std::string extension_id_2;
InitializePrinterProviderTestApp(
"api_test/printer_provider/request_printers_second", "OK",
&extension_id_2);
InitializePrinterProviderTestApp("printer_provider/request_printers_second",
"OK", &extension_id_2);
ASSERT_FALSE(extension_id_2.empty());

base::RunLoop run_loop;
Expand Down Expand Up @@ -550,14 +550,13 @@ IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest,
ResultCatcher catcher;

std::string extension_id_1;
InitializePrinterProviderTestApp("api_test/printer_provider/request_printers",
InitializePrinterProviderTestApp("printer_provider/request_printers",
"IGNORE_CALLBACK", &extension_id_1);
ASSERT_FALSE(extension_id_1.empty());

std::string extension_id_2;
InitializePrinterProviderTestApp(
"api_test/printer_provider/request_printers_second", "IGNORE_CALLBACK",
&extension_id_2);
InitializePrinterProviderTestApp("printer_provider/request_printers_second",
"IGNORE_CALLBACK", &extension_id_2);
ASSERT_FALSE(extension_id_2.empty());

base::RunLoop run_loop;
Expand All @@ -582,14 +581,13 @@ IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest,
ResultCatcher catcher;

std::string extension_id_1;
InitializePrinterProviderTestApp("api_test/printer_provider/request_printers",
InitializePrinterProviderTestApp("printer_provider/request_printers",
"NOT_ARRAY", &extension_id_1);
ASSERT_FALSE(extension_id_1.empty());

std::string extension_id_2;
InitializePrinterProviderTestApp(
"api_test/printer_provider/request_printers_second", "OK",
&extension_id_2);
InitializePrinterProviderTestApp("printer_provider/request_printers_second",
"OK", &extension_id_2);
ASSERT_FALSE(extension_id_2.empty());

base::RunLoop run_loop;
Expand Down Expand Up @@ -629,14 +627,13 @@ IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest,
ResultCatcher catcher;

std::string extension_id_1;
InitializePrinterProviderTestApp("api_test/printer_provider/request_printers",
InitializePrinterProviderTestApp("printer_provider/request_printers",
"NO_LISTENER", &extension_id_1);
ASSERT_FALSE(extension_id_1.empty());

std::string extension_id_2;
InitializePrinterProviderTestApp(
"api_test/printer_provider/request_printers_second", "OK",
&extension_id_2);
InitializePrinterProviderTestApp("printer_provider/request_printers_second",
"OK", &extension_id_2);
ASSERT_FALSE(extension_id_2.empty());

base::RunLoop run_loop;
Expand Down Expand Up @@ -675,7 +672,7 @@ IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest, GetPrintersNoListener) {
ResultCatcher catcher;

std::string extension_id;
InitializePrinterProviderTestApp("api_test/printer_provider/request_printers",
InitializePrinterProviderTestApp("printer_provider/request_printers",
"NO_LISTENER", &extension_id);
ASSERT_FALSE(extension_id.empty());

Expand All @@ -696,7 +693,7 @@ IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest, GetPrintersNotArray) {
ResultCatcher catcher;

std::string extension_id;
InitializePrinterProviderTestApp("api_test/printer_provider/request_printers",
InitializePrinterProviderTestApp("printer_provider/request_printers",
"NOT_ARRAY", &extension_id);
ASSERT_FALSE(extension_id.empty());

Expand All @@ -718,7 +715,7 @@ IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest,
ResultCatcher catcher;

std::string extension_id;
InitializePrinterProviderTestApp("api_test/printer_provider/request_printers",
InitializePrinterProviderTestApp("printer_provider/request_printers",
"INVALID_PRINTER_TYPE", &extension_id);
ASSERT_FALSE(extension_id.empty());

Expand All @@ -739,7 +736,7 @@ IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest, GetPrintersInvalidPrinterValue) {
ResultCatcher catcher;

std::string extension_id;
InitializePrinterProviderTestApp("api_test/printer_provider/request_printers",
InitializePrinterProviderTestApp("printer_provider/request_printers",
"INVALID_PRINTER", &extension_id);
ASSERT_FALSE(extension_id.empty());

Expand All @@ -762,11 +759,11 @@ IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest, GetUsbPrinterInfo) {
usb_manager_.CreateAndAddDevice(0, 0, "Google", "USB Printer", "");

std::string extension_id;
InitializePrinterProviderTestApp("api_test/printer_provider/usb_printers",
"OK", &extension_id);
InitializePrinterProviderTestApp("printer_provider/usb_printers", "OK",
&extension_id);
ASSERT_FALSE(extension_id.empty());

UsbDeviceManager* device_manager = UsbDeviceManager::Get(browser_context());
UsbDeviceManager* device_manager = UsbDeviceManager::Get(profile());
std::unique_ptr<base::Value> expected_printer_info(
DictionaryBuilder()
.Set("description", "This printer is a USB device.")
Expand Down
1 change: 1 addition & 0 deletions chrome/test/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -2127,6 +2127,7 @@ if (!is_android) {
"../browser/extensions/navigation_observer_browsertest.cc",
"../browser/extensions/options_page_apitest.cc",
"../browser/extensions/page_action_browsertest.cc",
"../browser/extensions/printer_provider_apitest.cc",
"../browser/extensions/process_management_browsertest.cc",
"../browser/extensions/process_manager_browsertest.cc",
"../browser/extensions/renderer_initialization_browsertest.cc",
Expand Down
1 change: 0 additions & 1 deletion extensions/browser/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -471,7 +471,6 @@ source_set("browser_tests") {
"api/dns/dns_apitest.cc",
"api/feedback_private/feedback_private_apitest.cc",
"api/hid/hid_apitest.cc",
"api/printer_provider/printer_provider_apitest.cc",
"api/socket/socket_apitest.cc",
"api/sockets_tcp/sockets_tcp_apitest.cc",
"api/sockets_tcp_server/sockets_tcp_server_apitest.cc",
Expand Down

0 comments on commit a8eea25

Please sign in to comment.