Commit ff371741 authored by Jan Wilken Dörrie's avatar Jan Wilken Dörrie Committed by Commit Bot

[Passwords] Set date_created during import

Bug: 934326
Change-Id: I90790d9dfc1d84ac72b04a2b9d4814a8b0589e35
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2095057
Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org>
Auto-Submit: Jan Wilken Dörrie <jdoerrie@chromium.org>
Reviewed-by: default avatarVasilii Sukhanov <vasilii@chromium.org>
Cr-Commit-Position: refs/heads/master@{#748201}
parent 180ff2a6
...@@ -357,6 +357,7 @@ source_set("csv_unittests") { ...@@ -357,6 +357,7 @@ source_set("csv_unittests") {
deps = [ deps = [
":csv", ":csv",
"//base", "//base",
"//base/test:test_support",
"//components/autofill/core/common", "//components/autofill/core/common",
"//testing/gmock", "//testing/gmock",
"//testing/gtest", "//testing/gtest",
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#include "base/logging.h" #include "base/logging.h"
#include "base/strings/string_util.h" #include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
#include "base/time/time.h"
#include "components/password_manager/core/browser/android_affiliation/affiliation_utils.h" #include "components/password_manager/core/browser/android_affiliation/affiliation_utils.h"
#include "components/password_manager/core/browser/import/csv_field_parser.h" #include "components/password_manager/core/browser/import/csv_field_parser.h"
#include "url/gurl.h" #include "url/gurl.h"
...@@ -106,6 +107,7 @@ CSVPassword::Status CSVPassword::ParseImpl(PasswordForm* form) const { ...@@ -106,6 +107,7 @@ CSVPassword::Status CSVPassword::ParseImpl(PasswordForm* form) const {
form->origin = std::move(origin); form->origin = std::move(origin);
form->username_value = Convert(username); form->username_value = Convert(username);
form->password_value = Convert(password); form->password_value = Convert(password);
form->date_created = base::Time::Now();
return Status::kOK; return Status::kOK;
} }
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#include "base/stl_util.h" #include "base/stl_util.h"
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
#include "base/test/task_environment.h"
#include "components/password_manager/core/browser/import/csv_password.h" #include "components/password_manager/core/browser/import/csv_password.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
...@@ -33,7 +34,13 @@ TEST(CSVPasswordIteratorTest, Operations) { ...@@ -33,7 +34,13 @@ TEST(CSVPasswordIteratorTest, Operations) {
CSVPasswordIterator iter(kColMap, kCSV); CSVPasswordIterator iter(kColMap, kCSV);
// Because kCSV is just one row, it can be used to create a CSVPassword // Because kCSV is just one row, it can be used to create a CSVPassword
// directly. // directly.
EXPECT_EQ(iter->ParseValid(), CSVPassword(kColMap, kCSV).ParseValid());
// Mock time so that date_created matches.
{
base::test::SingleThreadTaskEnvironment env(
base::test::TaskEnvironment::TimeSource::MOCK_TIME);
EXPECT_EQ(iter->ParseValid(), CSVPassword(kColMap, kCSV).ParseValid());
}
// Copy. // Copy.
CSVPasswordIterator copy = iter; CSVPasswordIterator copy = iter;
......
...@@ -8,6 +8,8 @@ ...@@ -8,6 +8,8 @@
#include <utility> #include <utility>
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
#include "base/test/task_environment.h"
#include "base/time/time.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
namespace password_manager { namespace password_manager {
...@@ -18,6 +20,9 @@ using Label = CSVPassword::Label; ...@@ -18,6 +20,9 @@ using Label = CSVPassword::Label;
using Status = CSVPassword::Status; using Status = CSVPassword::Status;
TEST(CSVPasswordTest, Construction) { TEST(CSVPasswordTest, Construction) {
base::test::SingleThreadTaskEnvironment env(
base::test::TaskEnvironment::TimeSource::MOCK_TIME);
const CSVPassword::ColumnMap kColMap = { const CSVPassword::ColumnMap kColMap = {
{0, Label::kOrigin}, {0, Label::kOrigin},
{1, Label::kUsername}, {1, Label::kUsername},
...@@ -31,6 +36,7 @@ TEST(CSVPasswordTest, Construction) { ...@@ -31,6 +36,7 @@ TEST(CSVPasswordTest, Construction) {
EXPECT_EQ(expected_origin.GetOrigin().spec(), result.signon_realm); EXPECT_EQ(expected_origin.GetOrigin().spec(), result.signon_realm);
EXPECT_EQ(base::ASCIIToUTF16("user"), result.username_value); EXPECT_EQ(base::ASCIIToUTF16("user"), result.username_value);
EXPECT_EQ(base::ASCIIToUTF16("password"), result.password_value); EXPECT_EQ(base::ASCIIToUTF16("password"), result.password_value);
EXPECT_EQ(base::Time::Now(), result.date_created);
} }
struct TestCase { struct TestCase {
...@@ -93,7 +99,11 @@ class TestCaseBuilder { ...@@ -93,7 +99,11 @@ class TestCaseBuilder {
TestCase test_case_; TestCase test_case_;
}; };
class CSVPasswordTestSuccess : public ::testing::TestWithParam<TestCase> {}; class CSVPasswordTestSuccess : public ::testing::TestWithParam<TestCase> {
private:
base::test::SingleThreadTaskEnvironment env_{
base::test::TaskEnvironment::TimeSource::MOCK_TIME};
};
TEST_P(CSVPasswordTestSuccess, Parse) { TEST_P(CSVPasswordTestSuccess, Parse) {
const TestCase& test_case = GetParam(); const TestCase& test_case = GetParam();
...@@ -109,6 +119,7 @@ TEST_P(CSVPasswordTestSuccess, Parse) { ...@@ -109,6 +119,7 @@ TEST_P(CSVPasswordTestSuccess, Parse) {
EXPECT_EQ(base::UTF8ToUTF16(test_case.username), result.username_value); EXPECT_EQ(base::UTF8ToUTF16(test_case.username), result.username_value);
EXPECT_EQ(base::UTF8ToUTF16(test_case.password), result.password_value); EXPECT_EQ(base::UTF8ToUTF16(test_case.password), result.password_value);
EXPECT_EQ(base::Time::Now(), result.date_created);
EXPECT_EQ(result, csv_pwd.ParseValid()); EXPECT_EQ(result, csv_pwd.ParseValid());
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment