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") {
deps = [
":csv",
"//base",
"//base/test:test_support",
"//components/autofill/core/common",
"//testing/gmock",
"//testing/gtest",
......
......@@ -9,6 +9,7 @@
#include "base/logging.h"
#include "base/strings/string_util.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/import/csv_field_parser.h"
#include "url/gurl.h"
......@@ -106,6 +107,7 @@ CSVPassword::Status CSVPassword::ParseImpl(PasswordForm* form) const {
form->origin = std::move(origin);
form->username_value = Convert(username);
form->password_value = Convert(password);
form->date_created = base::Time::Now();
return Status::kOK;
}
......
......@@ -9,6 +9,7 @@
#include "base/stl_util.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 "testing/gtest/include/gtest/gtest.h"
......@@ -33,7 +34,13 @@ TEST(CSVPasswordIteratorTest, Operations) {
CSVPasswordIterator iter(kColMap, kCSV);
// Because kCSV is just one row, it can be used to create a CSVPassword
// 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.
CSVPasswordIterator copy = iter;
......
......@@ -8,6 +8,8 @@
#include <utility>
#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"
namespace password_manager {
......@@ -18,6 +20,9 @@ using Label = CSVPassword::Label;
using Status = CSVPassword::Status;
TEST(CSVPasswordTest, Construction) {
base::test::SingleThreadTaskEnvironment env(
base::test::TaskEnvironment::TimeSource::MOCK_TIME);
const CSVPassword::ColumnMap kColMap = {
{0, Label::kOrigin},
{1, Label::kUsername},
......@@ -31,6 +36,7 @@ TEST(CSVPasswordTest, Construction) {
EXPECT_EQ(expected_origin.GetOrigin().spec(), result.signon_realm);
EXPECT_EQ(base::ASCIIToUTF16("user"), result.username_value);
EXPECT_EQ(base::ASCIIToUTF16("password"), result.password_value);
EXPECT_EQ(base::Time::Now(), result.date_created);
}
struct TestCase {
......@@ -93,7 +99,11 @@ class TestCaseBuilder {
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) {
const TestCase& test_case = GetParam();
......@@ -109,6 +119,7 @@ TEST_P(CSVPasswordTestSuccess, Parse) {
EXPECT_EQ(base::UTF8ToUTF16(test_case.username), result.username_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());
}
......
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