blob: ef144a088160389e7475d64ff01e9bc5f48f3f97 [file] [log] [blame]
// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/webid/identity_provider_permission_request.h"
#include <memory>
#include "base/test/mock_callback.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "url/gurl.h"
#include "url/origin.h"
class IdentityProviderPermissionRequestTest : public testing::Test {
public:
IdentityProviderPermissionRequestTest() = default;
~IdentityProviderPermissionRequestTest() override = default;
IdentityProviderPermissionRequestTest(
IdentityProviderPermissionRequestTest&) = delete;
IdentityProviderPermissionRequestTest& operator=(
IdentityProviderPermissionRequestTest&) = delete;
void SetUp() override {}
};
TEST_F(IdentityProviderPermissionRequestTest, PermissionGranted) {
base::MockCallback<base::OnceCallback<void(bool accepted)>> callback;
EXPECT_CALL(callback, Run(true)).WillOnce(testing::Return());
auto request = std::make_unique<IdentityProviderPermissionRequest>(
url::Origin::Create(GURL("https://idp.example")), callback.Get());
request->PermissionGranted(/**is_one_time=*/false);
}
TEST_F(IdentityProviderPermissionRequestTest, PermissionDenied) {
base::MockCallback<base::OnceCallback<void(bool accepted)>> callback;
EXPECT_CALL(callback, Run(false)).WillOnce(testing::Return());
auto request = std::make_unique<IdentityProviderPermissionRequest>(
url::Origin::Create(GURL("https://idp.example")), callback.Get());
request->PermissionDenied();
}
TEST_F(IdentityProviderPermissionRequestTest, PermissionCancelled) {
base::MockCallback<base::OnceCallback<void(bool accepted)>> callback;
EXPECT_CALL(callback, Run(false)).WillOnce(testing::Return());
auto request = std::make_unique<IdentityProviderPermissionRequest>(
url::Origin::Create(GURL("https://idp.example")), callback.Get());
request->Cancelled();
}