<!DOCTYPE html>
<meta charset="utf-8">
<title>IdentityCredential.logoutRPs() promise resolution</title>
<link rel="author" title="Peter Kotwicz" href="mailto:pkotwicz@chromium.org">
<link rel="help" href="https://wicg.github.io/FedCM/#browser-api-idp-sign-out">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>

<script type="module">
  import {fedcm_mojo_mock_test} from './support/fedcm-mojojs-helper.js';

  fedcm_mojo_mock_test(async (t, mock) => {
    mock.logoutRpsReturn("kError");
    return promise_rejects_dom(t, "NetworkError",
      IdentityCredential.logoutRPs([{
        accountId: "1234",
        url: "https://rp.example/logout.php"
      }])
    );
  }, "IdentityCredential.logoutRPs() error.");

  fedcm_mojo_mock_test(async (t, mock) => {
    mock.logoutRpsReturn("kSuccess");
    await IdentityCredential.logoutRPs([{
      accountId: "1234",
      url: "https://rp.example/logout.php"
    }]);
  }, "IdentityCredential.logoutRPs() success.");

  fedcm_mojo_mock_test(async (t, mock) => {
    return promise_rejects_dom(t, "NetworkError",
      IdentityCredential.logoutRPs([{
        accountId: "1234",
        url: "https://other-rp.example/logout.php"
      }])
    );
  }, "Logout URL should honor Content-Security-Policy.");
</script>
