blob: fb2b44898e2861a608d9edd3e1f79dee39d9c422 [file]
// 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 <variant>
#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(/*prompt_options=*/std::monostate(),
/*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();
}