| <!DOCTYPE html> |
| <title>Federated Credential Management API network request tests.</title> |
| <link rel="help" href="https://fedidcg.github.io/FedCM"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/resources/testdriver.js"></script> |
| <script src="/resources/testdriver-vendor.js"></script> |
| |
| <script type="module"> |
| import {fedcm_test, |
| request_options_with_mediation_required, |
| fedcm_get_and_select_first_account} from './support/fedcm-helper.sub.js'; |
| |
| fedcm_test(async t => { |
| let test_options = request_options_with_mediation_required(); |
| test_options.identity.providers = []; |
| const cred = fedcm_get_and_select_first_account(t, test_options); |
| return promise_rejects_js(t, TypeError, cred); |
| }, "Reject when provider list is empty"); |
| |
| fedcm_test(async t => { |
| let test_options = request_options_with_mediation_required(); |
| delete test_options.identity.providers[0].configURL; |
| const cred = fedcm_get_and_select_first_account(t, test_options); |
| return promise_rejects_js(t, TypeError, cred); |
| }, "Reject when configURL is missing" ); |
| |
| fedcm_test(async t => { |
| let test_options = request_options_with_mediation_required(); |
| test_options.identity.providers[0].configURL = 'test'; |
| const cred = fedcm_get_and_select_first_account(t, test_options); |
| return promise_rejects_dom(t, "InvalidStateError", cred); |
| }, "Reject when configURL is invalid"); |
| |
| fedcm_test(async t => { |
| let test_options = request_options_with_mediation_required(); |
| test_options.identity.providers[0].clientId = ''; |
| const cred = fedcm_get_and_select_first_account(t, test_options); |
| return promise_rejects_dom(t, "InvalidStateError", cred); |
| }, "Reject when clientId is empty"); |
| |
| fedcm_test(async t => { |
| let test_options = request_options_with_mediation_required(); |
| delete test_options.identity.providers[0].clientId; |
| const cred = fedcm_get_and_select_first_account(t, test_options); |
| return promise_rejects_js(t, TypeError, cred); |
| }, "Reject when clientId is missing" ); |
| </script> |