open-vault/ui/tests/unit/adapters/kmip/role-test.js

84 lines
2.1 KiB
JavaScript

import { module, test } from 'qunit';
import { setupTest } from 'ember-qunit';
module('Unit | Adapter | kmip/role', function (hooks) {
setupTest(hooks);
let serializeTests = [
[
'operation_all is the only operation item present after serialization',
{
serialize() {
return { operation_all: true, operation_get: true, operation_create: true, tls_ttl: '10s' };
},
record: {
nonOperationFields: ['tlsTtl'],
},
},
{
operation_all: true,
tls_ttl: '10s',
},
],
[
'serialize does not include nonOperationFields values if they are not set',
{
serialize() {
return { operation_all: true, operation_get: true, operation_create: true };
},
record: {
nonOperationFields: ['tlsTtl'],
},
},
{
operation_all: true,
},
],
[
'operation_none is the only operation item present after serialization',
{
serialize() {
return { operation_none: true, operation_get: true, operation_add_attribute: true, tls_ttl: '10s' };
},
record: {
nonOperationFields: ['tlsTtl'],
},
},
{
operation_none: true,
tls_ttl: '10s',
},
],
[
'operation_all and operation_none are removed if not truthy',
{
serialize() {
return {
operation_all: false,
operation_none: false,
operation_get: true,
operation_add_attribute: true,
operation_destroy: true,
};
},
record: {
nonOperationFields: ['tlsTtl'],
},
},
{
operation_get: true,
operation_add_attribute: true,
operation_destroy: true,
},
],
];
for (let testCase of serializeTests) {
let [name, snapshotStub, expected] = testCase;
test(`adapter serialize: ${name}`, function (assert) {
let adapter = this.owner.lookup('adapter:kmip/role');
let result = adapter.serialize(snapshotStub);
assert.deepEqual(result, expected, 'output matches expected');
});
}
});