This source file includes following definitions.
- IsMonitored
- TEST_F
- TEST_F
#include "components/password_manager/core/browser/password_manager_metrics_util.h"
#include <iterator>
#include <map>
#include "base/basictypes.h"
#include "base/prefs/scoped_user_pref_update.h"
#include "base/values.h"
#include "chrome/test/base/testing_profile.h"
#include "components/password_manager/core/common/password_manager_pref_names.h"
#include "testing/gtest/include/gtest/gtest.h"
class PasswordManagerMetricsUtilTest : public testing::Test {
public:
PasswordManagerMetricsUtilTest() {}
protected:
bool IsMonitored(const char* url_host) {
size_t group_id = password_manager_metrics_util::MonitoredDomainGroupId(
url_host, profile_.GetPrefs());
return group_id > 0;
}
TestingProfile profile_;
};
TEST_F(PasswordManagerMetricsUtilTest, MonitoredDomainGroupAssigmentTest) {
const char* const kMonitoredWebsites[] = {
"https://www.google.com",
"https://www.yahoo.com",
"https://www.baidu.com",
"https://www.wikipedia.org",
"https://www.linkedin.com",
"https://www.twitter.com",
"https://www.facebook.com",
"https://www.amazon.com",
"https://www.ebay.com",
"https://www.tumblr.com",
};
const size_t kMonitoredWebsitesLength = arraysize(kMonitoredWebsites);
std::map<size_t, size_t> groups;
for (size_t i = 0; i < kMonitoredWebsitesLength; ++i) {
for (size_t j = 0; j < password_manager_metrics_util::kGroupsPerDomain;
++j) {
{
ListPrefUpdate group_indices(profile_.GetPrefs(),
prefs::kPasswordManagerGroupsForDomains);
group_indices->Set(i, new base::FundamentalValue(static_cast<int>(j)));
}
++groups[password_manager_metrics_util::MonitoredDomainGroupId(
kMonitoredWebsites[i], profile_.GetPrefs())];
}
}
size_t number_of_assigment = groups.begin()->second;
for (std::map<size_t, size_t>::iterator it = groups.begin();
it != groups.end(); ++it) {
EXPECT_EQ(it->second, number_of_assigment) << " group id = " << it->first;
}
}
TEST_F(PasswordManagerMetricsUtilTest, MonitoredDomainGroupTest) {
EXPECT_TRUE(IsMonitored("https://www.linkedin.com"));
EXPECT_TRUE(IsMonitored("https://www.amazon.com"));
EXPECT_TRUE(IsMonitored("https://www.facebook.com"));
EXPECT_TRUE(IsMonitored("http://wikipedia.org"));
EXPECT_FALSE(IsMonitored("http://thisisnotwikipedia.org"));
}