* chore: 🤖 Upgrade eslint config for admin ui * chore: 🤖 Fix eslint issues for admin * chore: 🤖 Upgrade eslint config for desktop * chore: 🤖 Fix linting errors in desktop * chore: 🤖 Upgrade eslint for api addon * chore: 🤖 Fix eslint issues in api addon * chore: 🤖 Upgrade eslint for auth addon * chore: 🤖 Fix eslint issues in auth addon * chore: 🤖 Upgrade core eslint config * chore: 🤖 Fix eslint issue for core addon * chore: 🤖 Upgrade eslint config for rose addon * chore: 🤖 Fix eslint issue for rose addon * chore: 🤖 Upgrade e2e eslint config * chore: 🤖 Fix eslint issues in e2e * chore: 🤖 Fix CI linting issues * chore: 🤖 Add back linting server files for the future * chore: 🤖 Update qunit rules to use extends
47 lines
1.3 KiB
JavaScript
47 lines
1.3 KiB
JavaScript
/**
|
|
* Copyright IBM Corp. 2021, 2026
|
|
* SPDX-License-Identifier: BUSL-1.1
|
|
*/
|
|
|
|
import { module, test } from 'qunit';
|
|
import { setupTest } from 'ember-qunit';
|
|
import Pretender from 'pretender';
|
|
|
|
module('Unit | Authenticator | OIDC', function (hooks) {
|
|
setupTest(hooks);
|
|
|
|
let server;
|
|
|
|
hooks.beforeEach(() => {
|
|
server = new Pretender();
|
|
});
|
|
|
|
hooks.afterEach(() => {
|
|
server.shutdown();
|
|
});
|
|
|
|
test('`startAuthentication` initiates the authentication flow and returns the response', async function (assert) {
|
|
const authenticator = this.owner.lookup('authenticator:oidc');
|
|
server.post(authenticator.buildAuthEndpointURL(), () => [
|
|
200,
|
|
{},
|
|
JSON.stringify({ foo: 'bar' }),
|
|
]);
|
|
const response = await authenticator.startAuthentication();
|
|
assert.ok(true, 'authentication succeeded');
|
|
assert.deepEqual(response, { foo: 'bar' });
|
|
});
|
|
|
|
test('`startAuthentication` rejects/errors if API returns an error response', async function (assert) {
|
|
assert.expect(1);
|
|
const authenticator = this.owner.lookup('authenticator:oidc');
|
|
server.post(authenticator.buildAuthEndpointURL(), () => [400]);
|
|
// Because assert.throws doesn't work with async errors/promise rejections
|
|
try {
|
|
await authenticator.startAuthentication();
|
|
} catch {
|
|
assert.ok(true);
|
|
}
|
|
});
|
|
});
|