blob: 8865ff7f82eec8d7cf077ab875a804a8493960e0 [file] [log] [blame]
// Copyright 2025 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/push_messaging/app_identifier_test_support.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "url/gurl.h"
namespace push_messaging {
// static
AppIdentifier AppIdentifierTestSupport::GenerateId(
const GURL& origin,
int64_t service_worker_registration_id) {
// To bypass DCHECK in AppIdentifier::Generate, we just use
// it to generate app_id, and then use private constructor.
std::string app_id =
AppIdentifier::Generate(GURL("https://www.example.com/"), 1).app_id();
return AppIdentifier(app_id, origin, service_worker_registration_id);
}
// static
void AppIdentifierTestSupport::ExpectAppIdentifiersEqual(
const AppIdentifier& a,
const AppIdentifier& b) {
EXPECT_EQ(a.app_id(), b.app_id());
EXPECT_EQ(a.origin(), b.origin());
EXPECT_EQ(a.service_worker_registration_id(),
b.service_worker_registration_id());
EXPECT_EQ(a.expiration_time(), b.expiration_time());
}
// static
AppIdentifier AppIdentifierTestSupport::ReplaceAppId(
const AppIdentifier& origin,
std::string_view app_id) {
AppIdentifier copy = origin;
copy.app_id_ = app_id;
return copy;
}
// static
AppIdentifier AppIdentifierTestSupport::LegacyGenerateForTesting(
const GURL& origin,
int64_t service_worker_registration_id,
const std::optional<base::Time>& expiration_time /* = std::nullopt */) {
return AppIdentifier::GenerateInternal(origin, service_worker_registration_id,
false /* use_instance_id */,
expiration_time);
}
} // namespace push_messaging