| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "components/password_manager/content/common/credential_manager_messages
.h" | 5 #include "components/password_manager/content/common/credential_manager_messages
.h" |
| 6 #include "components/password_manager/content/renderer/credential_manager_client
.h" | 6 #include "components/password_manager/content/renderer/credential_manager_client
.h" |
| 7 #include "content/public/test/render_view_test.h" | 7 #include "content/public/test/render_view_test.h" |
| 8 #include "ipc/ipc_test_sink.h" | 8 #include "ipc/ipc_test_sink.h" |
| 9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
| 10 #include "third_party/WebKit/public/platform/WebCredential.h" | 10 #include "third_party/WebKit/public/platform/WebCredential.h" |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 45 // returns false, and the |request_id| is set to -1. | 45 // returns false, and the |request_id| is set to -1. |
| 46 // | 46 // |
| 47 // Clears any pending messages upon return. | 47 // Clears any pending messages upon return. |
| 48 bool ExtractRequestId(uint32 message_id, int& request_id) { | 48 bool ExtractRequestId(uint32 message_id, int& request_id) { |
| 49 request_id = -1; | 49 request_id = -1; |
| 50 const IPC::Message* message = sink().GetFirstMessageMatching(message_id); | 50 const IPC::Message* message = sink().GetFirstMessageMatching(message_id); |
| 51 if (!message) | 51 if (!message) |
| 52 return false; | 52 return false; |
| 53 | 53 |
| 54 switch (message_id) { | 54 switch (message_id) { |
| 55 case CredentialManagerHostMsg_NotifyFailedSignIn::ID: { | |
| 56 base::Tuple<int, CredentialInfo> param; | |
| 57 CredentialManagerHostMsg_NotifyFailedSignIn::Read(message, ¶m); | |
| 58 request_id = base::get<0>(param); | |
| 59 break; | |
| 60 } | |
| 61 | |
| 62 case CredentialManagerHostMsg_NotifySignedIn::ID: { | 55 case CredentialManagerHostMsg_NotifySignedIn::ID: { |
| 63 base::Tuple<int, CredentialInfo> param; | 56 base::Tuple<int, CredentialInfo> param; |
| 64 CredentialManagerHostMsg_NotifySignedIn::Read(message, ¶m); | 57 CredentialManagerHostMsg_NotifySignedIn::Read(message, ¶m); |
| 65 request_id = base::get<0>(param); | 58 request_id = base::get<0>(param); |
| 66 break; | 59 break; |
| 67 } | 60 } |
| 68 | 61 |
| 69 case CredentialManagerHostMsg_RequireUserMediation::ID: { | 62 case CredentialManagerHostMsg_RequireUserMediation::ID: { |
| 70 base::Tuple<int> param; | 63 base::Tuple<int> param; |
| 71 CredentialManagerHostMsg_RequireUserMediation::Read(message, ¶m); | 64 CredentialManagerHostMsg_RequireUserMediation::Read(message, ¶m); |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 139 virtual void onError(blink::WebCredentialManagerError* reason) { | 132 virtual void onError(blink::WebCredentialManagerError* reason) { |
| 140 test_->set_callback_errored(true); | 133 test_->set_callback_errored(true); |
| 141 } | 134 } |
| 142 | 135 |
| 143 private: | 136 private: |
| 144 CredentialManagerClientTest* test_; | 137 CredentialManagerClientTest* test_; |
| 145 }; | 138 }; |
| 146 | 139 |
| 147 } // namespace | 140 } // namespace |
| 148 | 141 |
| 149 TEST_F(CredentialManagerClientTest, SendNotifyFailedSignIn) { | |
| 150 int request_id; | |
| 151 EXPECT_FALSE(ExtractRequestId(CredentialManagerHostMsg_NotifyFailedSignIn::ID, | |
| 152 request_id)); | |
| 153 | |
| 154 scoped_ptr<TestNotificationCallbacks> callbacks( | |
| 155 new TestNotificationCallbacks(this)); | |
| 156 client_->dispatchFailedSignIn(*credential(), callbacks.release()); | |
| 157 | |
| 158 EXPECT_TRUE(ExtractRequestId(CredentialManagerHostMsg_NotifyFailedSignIn::ID, | |
| 159 request_id)); | |
| 160 | |
| 161 client_->OnAcknowledgeFailedSignIn(request_id); | |
| 162 EXPECT_TRUE(callback_succeeded()); | |
| 163 EXPECT_FALSE(callback_errored()); | |
| 164 } | |
| 165 | |
| 166 TEST_F(CredentialManagerClientTest, SendNotifySignedIn) { | 142 TEST_F(CredentialManagerClientTest, SendNotifySignedIn) { |
| 167 int request_id; | 143 int request_id; |
| 168 EXPECT_FALSE(ExtractRequestId(CredentialManagerHostMsg_NotifySignedIn::ID, | 144 EXPECT_FALSE(ExtractRequestId(CredentialManagerHostMsg_NotifySignedIn::ID, |
| 169 request_id)); | 145 request_id)); |
| 170 | 146 |
| 171 scoped_ptr<TestNotificationCallbacks> callbacks( | 147 scoped_ptr<TestNotificationCallbacks> callbacks( |
| 172 new TestNotificationCallbacks(this)); | 148 new TestNotificationCallbacks(this)); |
| 173 client_->dispatchSignedIn(*credential(), callbacks.release()); | 149 client_->dispatchSignedIn(*credential(), callbacks.release()); |
| 174 | 150 |
| 175 EXPECT_TRUE(ExtractRequestId(CredentialManagerHostMsg_NotifySignedIn::ID, | 151 EXPECT_TRUE(ExtractRequestId(CredentialManagerHostMsg_NotifySignedIn::ID, |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 228 EXPECT_TRUE(ExtractRequestId(CredentialManagerHostMsg_RequestCredential::ID, | 204 EXPECT_TRUE(ExtractRequestId(CredentialManagerHostMsg_RequestCredential::ID, |
| 229 request_id)); | 205 request_id)); |
| 230 | 206 |
| 231 CredentialInfo info; // Send an empty credential in response. | 207 CredentialInfo info; // Send an empty credential in response. |
| 232 client_->OnSendCredential(request_id, info); | 208 client_->OnSendCredential(request_id, info); |
| 233 EXPECT_TRUE(callback_succeeded()); | 209 EXPECT_TRUE(callback_succeeded()); |
| 234 EXPECT_FALSE(callback_errored()); | 210 EXPECT_FALSE(callback_errored()); |
| 235 } | 211 } |
| 236 | 212 |
| 237 } // namespace password_manager | 213 } // namespace password_manager |
| OLD | NEW |