jose/test-browser/generate_secrets.js

92 lines
2.2 KiB
JavaScript

import * as Bowser from 'bowser';
import generateSecret from '../dist/browser/util/generate_secret';
const browser = Bowser.parse(window.navigator.userAgent);
const aes192 = browser.engine.name !== 'Blink';
QUnit.test('HS256', async (assert) => {
assert.ok(await generateSecret('HS256'));
});
QUnit.test('extractable', async (assert) => {
let secret = await generateSecret('HS256');
assert.false(secret.extractable);
secret = await generateSecret('HS256', { extractable: true });
assert.true(secret.extractable);
});
QUnit.test('HS384', async (assert) => {
assert.ok(await generateSecret('HS384'));
});
QUnit.test('HS512', async (assert) => {
assert.ok(await generateSecret('HS512'));
});
QUnit.test('A128CBC-HS256', async (assert) => {
assert.ok(await generateSecret('A128CBC-HS256'));
});
QUnit.test('A192CBC-HS384', async (assert) => {
assert.ok(await generateSecret('A192CBC-HS384'));
});
QUnit.test('A256CBC-HS512', async (assert) => {
assert.ok(await generateSecret('A256CBC-HS512'));
});
QUnit.test('A128KW', async (assert) => {
assert.ok(await generateSecret('A128KW'));
});
if (aes192) {
QUnit.test('A192KW', async (assert) => {
assert.ok(await generateSecret('A192KW'));
});
} else {
QUnit.test('A192KW', async (assert) => {
await assert.rejects(generateSecret('A192KW'));
});
}
QUnit.test('A256KW', async (assert) => {
assert.ok(await generateSecret('A256KW'));
});
QUnit.test('A128GCMKW', async (assert) => {
assert.ok(await generateSecret('A128GCMKW'));
});
if (aes192) {
QUnit.test('A192GCMKW', async (assert) => {
assert.ok(await generateSecret('A192GCMKW'));
});
} else {
QUnit.test('A192GCMKW', async (assert) => {
await assert.rejects(generateSecret('A192GCMKW'));
});
}
QUnit.test('A256GCMKW', async (assert) => {
assert.ok(await generateSecret('A256GCMKW'));
});
QUnit.test('A128GCM', async (assert) => {
assert.ok(await generateSecret('A128GCM'));
});
if (aes192) {
QUnit.test('A192GCM', async (assert) => {
assert.ok(await generateSecret('A192GCM'));
});
} else {
QUnit.test('A192GCM', async (assert) => {
await assert.rejects(generateSecret('A192GCM'));
});
}
QUnit.test('A256GCM', async (assert) => {
assert.ok(await generateSecret('A256GCM'));
});