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

Unified Diff: components/password_manager/content/renderer/credential_manager_client_unittest.cc

Issue 533493004: Credential Manager: Refactor password_manager::CredentialManagerClient. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Explicit. 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: components/password_manager/content/renderer/credential_manager_client_unittest.cc
diff --git a/components/password_manager/content/renderer/credential_manager_client_unittest.cc b/components/password_manager/content/renderer/credential_manager_client_unittest.cc
deleted file mode 100644
index 31d5c7300f2097c8e684e7a6693467178ec39a78..0000000000000000000000000000000000000000
--- a/components/password_manager/content/renderer/credential_manager_client_unittest.cc
+++ /dev/null
@@ -1,219 +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 "components/password_manager/content/common/credential_manager_messages.h"
-#include "components/password_manager/content/renderer/credential_manager_client.h"
-#include "components/password_manager/content/renderer/test_credential_manager_client.h"
-#include "content/public/test/mock_render_thread.h"
-#include "content/test/blink_test_environment.h"
-#include "ipc/ipc_test_sink.h"
-#include "testing/gtest/include/gtest/gtest.h"
-#include "third_party/WebKit/public/platform/WebCredential.h"
-#include "third_party/WebKit/public/platform/WebCredentialManagerClient.h"
-#include "third_party/WebKit/public/platform/WebCredentialManagerError.h"
-
-namespace password_manager {
-
-namespace {
-
-class CredentialManagerClientTest : public testing::Test {
- public:
- CredentialManagerClientTest()
- : callback_errored_(false),
- callback_succeeded_(false) {
- blink::WebString string = blink::WebString::fromUTF8("");
- GURL url("https://example.com/image");
- credential_.reset(new blink::WebCredential(string, string, url));
- }
- virtual ~CredentialManagerClientTest() {}
-
- static void SetUpTestCase() { content::SetUpBlinkTestEnvironment(); }
-
- static void TearDownTestCase() { content::TearDownBlinkTestEnvironment(); }
-
- IPC::TestSink& sink() { return render_thread_.sink(); }
-
- blink::WebCredential* credential() { return credential_.get(); }
-
- // The browser's response to any of the messages the client sends must contain
- // a request ID so that the client knows which request is being serviced. This
- // method grabs the ID from an outgoing |message_id| message, and sets the
- // |request_id| param to its value. If no request ID can be found, the method
- // returns false, and the |request_id| is set to -1.
- //
- // Clears any pending messages upon return.
- bool ExtractRequestId(uint32 message_id, int& request_id) {
- request_id = -1;
- const IPC::Message* message = sink().GetFirstMessageMatching(message_id);
- if (!message)
- return false;
-
- switch (message_id) {
- case CredentialManagerHostMsg_NotifyFailedSignIn::ID: {
- Tuple2<int, CredentialInfo> param;
- CredentialManagerHostMsg_NotifyFailedSignIn::Read(message, &param);
- request_id = param.a;
- break;
- }
-
- case CredentialManagerHostMsg_NotifySignedIn::ID: {
- Tuple2<int, CredentialInfo> param;
- CredentialManagerHostMsg_NotifySignedIn::Read(message, &param);
- request_id = param.a;
- break;
- }
-
- case CredentialManagerHostMsg_NotifySignedOut::ID: {
- Tuple1<int> param;
- CredentialManagerHostMsg_NotifySignedOut::Read(message, &param);
- request_id = param.a;
- break;
- }
-
- case CredentialManagerHostMsg_RequestCredential::ID: {
- Tuple3<int, bool, std::vector<GURL> > param;
- CredentialManagerHostMsg_RequestCredential::Read(message, &param);
- request_id = param.a;
- break;
- }
-
- default:
- break;
- }
- sink().ClearMessages();
- return request_id != -1;
- }
-
- bool callback_errored() const { return callback_errored_; }
- void set_callback_errored(bool state) { callback_errored_ = state; }
- bool callback_succeeded() const { return callback_succeeded_; }
- void set_callback_succeeded(bool state) { callback_succeeded_ = state; }
-
- protected:
- content::MockRenderThread render_thread_;
- TestCredentialManagerClient client_;
-
- // True if a message's callback's 'onSuccess'/'onError' methods were called,
- // false otherwise. We put these on the test object rather than on the
- // Test*Callbacks objects because ownership of those objects passes into the
- // client, which destroys the callbacks after calling them to resolve the
- // pending Blink-side Promise.
- bool callback_errored_;
- bool callback_succeeded_;
-
- scoped_ptr<blink::WebCredential> credential_;
-};
-
-class TestNotificationCallbacks
- : public blink::WebCredentialManagerClient::NotificationCallbacks {
- public:
- explicit TestNotificationCallbacks(CredentialManagerClientTest* test)
- : test_(test) {
- }
-
- virtual ~TestNotificationCallbacks() {}
-
- virtual void onSuccess() OVERRIDE { test_->set_callback_succeeded(true); }
-
- virtual void onError(blink::WebCredentialManagerError* reason) OVERRIDE {
- test_->set_callback_errored(true);
- }
-
- private:
- CredentialManagerClientTest* test_;
-};
-
-class TestRequestCallbacks
- : public blink::WebCredentialManagerClient::RequestCallbacks {
- public:
- explicit TestRequestCallbacks(CredentialManagerClientTest* test)
- : test_(test) {
- }
-
- virtual ~TestRequestCallbacks() {}
-
- virtual void onSuccess(blink::WebCredential*) OVERRIDE {
- test_->set_callback_succeeded(true);
- }
-
- virtual void onError(blink::WebCredentialManagerError* reason) OVERRIDE {
- test_->set_callback_errored(true);
- }
-
- private:
- CredentialManagerClientTest* test_;
-};
-
-} // namespace
-
-TEST_F(CredentialManagerClientTest, SendNotifyFailedSignIn) {
- int request_id;
- EXPECT_FALSE(ExtractRequestId(CredentialManagerHostMsg_NotifyFailedSignIn::ID,
- request_id));
-
- scoped_ptr<TestNotificationCallbacks> callbacks(
- new TestNotificationCallbacks(this));
- client_.dispatchFailedSignIn(*credential(), callbacks.release());
-
- EXPECT_TRUE(ExtractRequestId(CredentialManagerHostMsg_NotifyFailedSignIn::ID,
- request_id));
-
- client_.OnAcknowledgeFailedSignIn(request_id);
- EXPECT_TRUE(callback_succeeded());
- EXPECT_FALSE(callback_errored());
-}
-
-TEST_F(CredentialManagerClientTest, SendNotifySignedIn) {
- int request_id;
- EXPECT_FALSE(ExtractRequestId(CredentialManagerHostMsg_NotifySignedIn::ID,
- request_id));
-
- scoped_ptr<TestNotificationCallbacks> callbacks(
- new TestNotificationCallbacks(this));
- client_.dispatchSignedIn(*credential(), callbacks.release());
-
- EXPECT_TRUE(ExtractRequestId(CredentialManagerHostMsg_NotifySignedIn::ID,
- request_id));
-
- client_.OnAcknowledgeSignedIn(request_id);
- EXPECT_TRUE(callback_succeeded());
- EXPECT_FALSE(callback_errored());
-}
-
-TEST_F(CredentialManagerClientTest, SendNotifySignedOut) {
- int request_id;
- EXPECT_FALSE(ExtractRequestId(CredentialManagerHostMsg_NotifySignedOut::ID,
- request_id));
-
- scoped_ptr<TestNotificationCallbacks> callbacks(
- new TestNotificationCallbacks(this));
- client_.dispatchSignedOut(callbacks.release());
-
- EXPECT_TRUE(ExtractRequestId(CredentialManagerHostMsg_NotifySignedOut::ID,
- request_id));
-
- client_.OnAcknowledgeSignedOut(request_id);
- EXPECT_TRUE(callback_succeeded());
- EXPECT_FALSE(callback_errored());
-}
-
-TEST_F(CredentialManagerClientTest, SendRequestCredential) {
- int request_id;
- EXPECT_FALSE(ExtractRequestId(CredentialManagerHostMsg_RequestCredential::ID,
- request_id));
-
- scoped_ptr<TestRequestCallbacks> callbacks(new TestRequestCallbacks(this));
- std::vector<GURL> federations;
- client_.dispatchRequest(false, federations, callbacks.release());
-
- EXPECT_TRUE(ExtractRequestId(CredentialManagerHostMsg_RequestCredential::ID,
- request_id));
-
- CredentialInfo info;
- client_.OnSendCredential(request_id, info);
- EXPECT_TRUE(callback_succeeded());
- EXPECT_FALSE(callback_errored());
-}
-
-} // namespace password_manager

Powered by Google App Engine
This is Rietveld 408576698