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

Unified Diff: chrome/browser/extensions/api/networking_private/networking_private_apitest.cc

Issue 2751423004: Move NetworkingPrivateDelegate::CryptoVerify to networking_cast_private (Closed)
Patch Set: blocking pool removed Created 3 years, 9 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/networking_private/networking_private_apitest.cc
diff --git a/chrome/browser/extensions/api/networking_private/networking_private_apitest.cc b/chrome/browser/extensions/api/networking_private/networking_private_apitest.cc
index f06b425efe72654c8e80c504c8eca1deea63a345..77b6959e47a4d65838c917103159cfcee37eafd5 100644
--- a/chrome/browser/extensions/api/networking_private/networking_private_apitest.cc
+++ b/chrome/browser/extensions/api/networking_private/networking_private_apitest.cc
@@ -9,11 +9,14 @@
#include <utility>
#include <vector>
+#include "base/bind.h"
+#include "base/callback.h"
#include "base/command_line.h"
#include "base/logging.h"
#include "base/macros.h"
#include "base/memory/ptr_util.h"
#include "build/build_config.h"
+#include "chrome/browser/extensions/api/networking_cast_private/chrome_networking_cast_private_delegate.h"
#include "chrome/browser/extensions/extension_apitest.h"
#include "components/keyed_service/core/keyed_service.h"
#include "components/onc/onc_constants.h"
@@ -38,12 +41,12 @@ const char kFailure[] = "Failure";
const char kSuccess[] = "Success";
const char kGuid[] = "SOME_GUID";
-class TestDelegate : public NetworkingPrivateDelegate {
+class TestNetworkingPrivateDelegate : public NetworkingPrivateDelegate {
public:
- explicit TestDelegate(std::unique_ptr<VerifyDelegate> verify_delegate)
- : NetworkingPrivateDelegate(std::move(verify_delegate)), fail_(false) {}
+ explicit TestNetworkingPrivateDelegate(bool test_failure)
+ : fail_(test_failure) {}
- ~TestDelegate() override {}
+ ~TestNetworkingPrivateDelegate() override {}
// Asynchronous methods
void GetProperties(const std::string& guid,
@@ -255,60 +258,83 @@ class TestDelegate : public NetworkingPrivateDelegate {
std::map<std::string, bool> disabled_;
std::vector<bool> scan_requested_;
- DISALLOW_COPY_AND_ASSIGN(TestDelegate);
+ DISALLOW_COPY_AND_ASSIGN(TestNetworkingPrivateDelegate);
};
-class TestVerifyDelegate : public NetworkingPrivateDelegate::VerifyDelegate {
+class TestNetworkingCastPrivateDelegate
+ : public ChromeNetworkingCastPrivateDelegate {
public:
- TestVerifyDelegate() : owner_(NULL) {}
+ explicit TestNetworkingCastPrivateDelegate(bool test_failure)
+ : fail_(test_failure) {}
- ~TestVerifyDelegate() override {}
+ ~TestNetworkingCastPrivateDelegate() override {}
- void VerifyDestination(
- const VerificationProperties& verification_properties,
- const BoolCallback& success_callback,
- const FailureCallback& failure_callback) override {
- owner_->BoolResult(success_callback, failure_callback);
+ void VerifyDestination(std::unique_ptr<Credentials> credentials,
+ const VerifiedCallback& success_callback,
+ const FailureCallback& failure_callback) override {
+ if (fail_) {
+ failure_callback.Run(kFailure);
+ } else {
+ success_callback.Run(true);
+ }
}
+
void VerifyAndEncryptCredentials(
const std::string& guid,
- const VerificationProperties& verification_properties,
- const StringCallback& success_callback,
+ std::unique_ptr<Credentials> credentials,
+ const DataCallback& success_callback,
const FailureCallback& failure_callback) override {
- owner_->StringResult(success_callback, failure_callback);
+ if (fail_) {
+ failure_callback.Run(kFailure);
+ } else {
+ success_callback.Run("encrypted_credentials");
+ }
}
- void VerifyAndEncryptData(
- const VerificationProperties& verification_properties,
- const std::string& data,
- const StringCallback& success_callback,
- const FailureCallback& failure_callback) override {
- owner_->StringResult(success_callback, failure_callback);
+ void VerifyAndEncryptData(const std::string& data,
+ std::unique_ptr<Credentials> credentials,
+ const DataCallback& success_callback,
+ const FailureCallback& failure_callback) override {
+ if (fail_) {
+ failure_callback.Run(kFailure);
+ } else {
+ success_callback.Run("encrypted_data");
+ }
}
- void set_owner(TestDelegate* owner) { owner_ = owner; }
-
private:
- TestDelegate* owner_;
+ bool fail_;
- DISALLOW_COPY_AND_ASSIGN(TestVerifyDelegate);
+ DISALLOW_COPY_AND_ASSIGN(TestNetworkingCastPrivateDelegate);
};
class NetworkingPrivateApiTest : public ExtensionApiTest {
public:
- NetworkingPrivateApiTest() {
- if (!s_test_delegate_) {
- TestVerifyDelegate* verify_delegate = new TestVerifyDelegate;
- std::unique_ptr<NetworkingPrivateDelegate::VerifyDelegate>
- verify_delegate_ptr(verify_delegate);
- s_test_delegate_ = new TestDelegate(std::move(verify_delegate_ptr));
- verify_delegate->set_owner(s_test_delegate_);
- }
- }
+ using TestNetworkingPrivateDelegateFactory =
+ base::Callback<std::unique_ptr<KeyedService>()>;
static std::unique_ptr<KeyedService> GetNetworkingPrivateDelegate(
content::BrowserContext* profile) {
- CHECK(s_test_delegate_);
- return base::WrapUnique(s_test_delegate_);
+ CHECK(s_networking_private_delegate_factory_ptr);
+ return s_networking_private_delegate_factory_ptr->Run();
+ }
+
+ NetworkingPrivateApiTest() = default;
+ ~NetworkingPrivateApiTest() override = default;
+
+ void SetUp() override {
+ networking_cast_delegate_factory_ = base::Bind(
+ &NetworkingPrivateApiTest::CreateTestNetworkingCastPrivateDelegate,
+ base::Unretained(this), test_failure_);
+ ChromeNetworkingCastPrivateDelegate::SetFactoryCallbackForTest(
+ &networking_cast_delegate_factory_);
+
+ networking_private_delegate_factory_ = base::Bind(
+ &NetworkingPrivateApiTest::CreateTestNetworkingPrivateDelegate,
+ base::Unretained(this), test_failure_);
+ s_networking_private_delegate_factory_ptr =
+ &networking_private_delegate_factory_;
+
+ ExtensionApiTest::SetUp();
}
void SetUpCommandLine(base::CommandLine* command_line) override {
@@ -323,19 +349,27 @@ class NetworkingPrivateApiTest : public ExtensionApiTest {
ExtensionApiTest::SetUpOnMainThread();
NetworkingPrivateDelegateFactory::GetInstance()->SetTestingFactory(
profile(), &NetworkingPrivateApiTest::GetNetworkingPrivateDelegate);
- content::RunAllPendingInMessageLoop();
+ }
+
+ void TearDown() override {
+ ExtensionApiTest::TearDown();
+
+ s_networking_private_delegate_factory_ptr = nullptr;
+ ChromeNetworkingCastPrivateDelegate::SetFactoryCallbackForTest(nullptr);
+
+ networking_private_delegate_ = nullptr;
}
bool GetEnabled(const std::string& type) {
- return s_test_delegate_->GetEnabled(type);
+ return networking_private_delegate_->GetEnabled(type);
}
bool GetDisabled(const std::string& type) {
- return s_test_delegate_->GetDisabled(type);
+ return networking_private_delegate_->GetDisabled(type);
}
size_t GetScanRequested() {
- return s_test_delegate_->GetScanRequested();
+ return networking_private_delegate_->GetScanRequested();
}
protected:
@@ -345,15 +379,44 @@ class NetworkingPrivateApiTest : public ExtensionApiTest {
kFlagEnableFileAccess | kFlagLoadAsComponent);
}
- // Static pointer to the TestDelegate so that it can be accessed in
- // GetNetworkingPrivateDelegate() passed to SetTestingFactory().
- static TestDelegate* s_test_delegate_;
+ private:
+ std::unique_ptr<ChromeNetworkingCastPrivateDelegate>
+ CreateTestNetworkingCastPrivateDelegate(bool test_failure) {
+ return base::MakeUnique<TestNetworkingCastPrivateDelegate>(test_failure);
+ }
+
+ std::unique_ptr<KeyedService> CreateTestNetworkingPrivateDelegate(
+ bool test_failure) {
+ CHECK(!networking_private_delegate_);
+ auto delegate =
+ base::MakeUnique<TestNetworkingPrivateDelegate>(test_failure);
+ networking_private_delegate_ = delegate.get();
+ return delegate;
+ }
+
+ protected:
+ bool test_failure_ = false;
+
+ private:
+ // Pointer to a networking private delegate created by the test factory
+ // callback.
+ TestNetworkingPrivateDelegate* networking_private_delegate_ = nullptr;
+
+ TestNetworkingPrivateDelegateFactory networking_private_delegate_factory_;
+ // Static pointer to |test_delegate_factory_|, so it can be used from
+ // |CreateNetwokringPrivateDelegate|.
+ static TestNetworkingPrivateDelegateFactory*
+ s_networking_private_delegate_factory_ptr;
+
+ ChromeNetworkingCastPrivateDelegate::FactoryCallback
+ networking_cast_delegate_factory_;
DISALLOW_COPY_AND_ASSIGN(NetworkingPrivateApiTest);
};
-// static
-TestDelegate* NetworkingPrivateApiTest::s_test_delegate_ = NULL;
+NetworkingPrivateApiTest::TestNetworkingPrivateDelegateFactory*
+ NetworkingPrivateApiTest::s_networking_private_delegate_factory_ptr =
+ nullptr;
} // namespace
@@ -475,7 +538,9 @@ IN_PROC_BROWSER_TEST_F(NetworkingPrivateApiTest, GetGlobalPolicy) {
class NetworkingPrivateApiTestFail : public NetworkingPrivateApiTest {
public:
- NetworkingPrivateApiTestFail() { s_test_delegate_->set_fail(true); }
+ NetworkingPrivateApiTestFail() { test_failure_ = true; }
+
+ ~NetworkingPrivateApiTestFail() override = default;
protected:
DISALLOW_COPY_AND_ASSIGN(NetworkingPrivateApiTestFail);

Powered by Google App Engine
This is Rietveld 408576698