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

Unified Diff: components/password_manager/core/browser/credential_manager_logger_unittest.cc

Issue 2293443002: Implement logging of the Credential Manager API calls to chrome://password-manager-internals. (Closed)
Patch Set: nits Created 4 years, 4 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/core/browser/credential_manager_logger_unittest.cc
diff --git a/components/password_manager/core/browser/credential_manager_logger_unittest.cc b/components/password_manager/core/browser/credential_manager_logger_unittest.cc
new file mode 100644
index 0000000000000000000000000000000000000000..af6a98faba50b986812c83faa09198314ceb8226
--- /dev/null
+++ b/components/password_manager/core/browser/credential_manager_logger_unittest.cc
@@ -0,0 +1,78 @@
+// Copyright 2016 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/core/browser/credential_manager_logger.h"
+
+#include "components/password_manager/core/browser/stub_log_manager.h"
+#include "testing/gmock/include/gmock/gmock.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace password_manager {
+namespace {
+
+using ::testing::AllOf;
+using ::testing::HasSubstr;
+using ::testing::Return;
+
+const char kSiteOrigin[] = "https://example.com";
+const char kFederationOrigin[] = "https://google.com";
+
+class MockLogManager : public StubLogManager {
+ public:
+ MockLogManager() = default;
+ ~MockLogManager() override = default;
+
+ MOCK_CONST_METHOD1(LogSavePasswordProgress, void(const std::string& text));
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(MockLogManager);
+};
+
+class CredentialManagerLoggerTest : public testing::Test {
+ public:
+ CredentialManagerLoggerTest();
+ ~CredentialManagerLoggerTest() override;
+
+ MockLogManager& log_manager() { return log_manager_; }
+ CredentialManagerLogger& logger() { return logger_; }
+
+ private:
+ MockLogManager log_manager_;
+ CredentialManagerLogger logger_;
+
+ DISALLOW_COPY_AND_ASSIGN(CredentialManagerLoggerTest);
+};
+
+CredentialManagerLoggerTest::CredentialManagerLoggerTest()
+ : logger_(&log_manager_) {}
+
+CredentialManagerLoggerTest::~CredentialManagerLoggerTest() = default;
+
+TEST_F(CredentialManagerLoggerTest, LogRequestCredential) {
+ EXPECT_CALL(log_manager(),
+ LogSavePasswordProgress(
+ AllOf(HasSubstr(kSiteOrigin), HasSubstr(kFederationOrigin))));
+ logger().LogRequestCredential(GURL(kSiteOrigin), true,
+ {GURL(kFederationOrigin)});
+}
+
+TEST_F(CredentialManagerLoggerTest, LogSendCredential) {
+ EXPECT_CALL(log_manager(), LogSavePasswordProgress(HasSubstr(kSiteOrigin)));
+ logger().LogSendCredential(GURL(kSiteOrigin),
+ CredentialType::CREDENTIAL_TYPE_PASSWORD);
+}
+
+TEST_F(CredentialManagerLoggerTest, LogStoreCredential) {
+ EXPECT_CALL(log_manager(), LogSavePasswordProgress(HasSubstr(kSiteOrigin)));
+ logger().LogStoreCredential(GURL(kSiteOrigin),
+ CredentialType::CREDENTIAL_TYPE_PASSWORD);
+}
+
+TEST_F(CredentialManagerLoggerTest, LogRequireUserMediation) {
+ EXPECT_CALL(log_manager(), LogSavePasswordProgress(HasSubstr(kSiteOrigin)));
+ logger().LogRequireUserMediation(GURL(kSiteOrigin));
+}
+
+} // namespace
+} // namespace password_manager

Powered by Google App Engine
This is Rietveld 408576698