1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- // Copyright 2021 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 "android_webview/common/metrics/app_package_name_logging_rule.h"
- #include "base/time/time.h"
- #include "base/version.h"
- #include "testing/gtest/include/gtest/gtest.h"
- #include "third_party/abseil-cpp/absl/types/optional.h"
- namespace android_webview {
- namespace {
- constexpr char kTestAllowlistVersion[] = "123.456.789.10";
- } // namespace
- class AppPackageNameLoggingRuleTest : public testing::Test {
- public:
- AppPackageNameLoggingRuleTest() = default;
- AppPackageNameLoggingRuleTest& operator=(
- const AppPackageNameLoggingRuleTest&) = delete;
- AppPackageNameLoggingRuleTest(AppPackageNameLoggingRuleTest&&) = delete;
- AppPackageNameLoggingRuleTest& operator=(AppPackageNameLoggingRuleTest&&) =
- delete;
- };
- TEST_F(AppPackageNameLoggingRuleTest, TestFromDictionary) {
- base::Version version(kTestAllowlistVersion);
- base::Time one_day_from_now = base::Time::Now() + base::Days(1);
- {
- AppPackageNameLoggingRule expected_record(version, one_day_from_now);
- absl::optional<AppPackageNameLoggingRule> record =
- AppPackageNameLoggingRule::FromDictionary(
- expected_record.ToDictionary());
- ASSERT_TRUE(record.has_value());
- EXPECT_TRUE(expected_record.IsSameAs(record.value()));
- }
- {
- AppPackageNameLoggingRule expected_record(version, base::Time::Min());
- absl::optional<AppPackageNameLoggingRule> record =
- AppPackageNameLoggingRule::FromDictionary(
- expected_record.ToDictionary());
- ASSERT_TRUE(record.has_value());
- EXPECT_TRUE(expected_record.IsSameAs(record.value()));
- }
- {
- absl::optional<AppPackageNameLoggingRule> record =
- AppPackageNameLoggingRule::FromDictionary(
- base::Value(base::Value::Type::DICTIONARY));
- EXPECT_FALSE(record.has_value());
- }
- }
- } // namespace android_webview
|