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, ¶m); |
- request_id = param.a; |
- break; |
- } |
- |
- case CredentialManagerHostMsg_NotifySignedIn::ID: { |
- Tuple2<int, CredentialInfo> param; |
- CredentialManagerHostMsg_NotifySignedIn::Read(message, ¶m); |
- request_id = param.a; |
- break; |
- } |
- |
- case CredentialManagerHostMsg_NotifySignedOut::ID: { |
- Tuple1<int> param; |
- CredentialManagerHostMsg_NotifySignedOut::Read(message, ¶m); |
- request_id = param.a; |
- break; |
- } |
- |
- case CredentialManagerHostMsg_RequestCredential::ID: { |
- Tuple3<int, bool, std::vector<GURL> > param; |
- CredentialManagerHostMsg_RequestCredential::Read(message, ¶m); |
- 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 |