mirror of https://github.com/hashicorp/consul
50 lines
2.0 KiB
JavaScript
50 lines
2.0 KiB
JavaScript
import createIsValidServerError from 'consul-ui/utils/http/acl/is-valid-server-error';
|
|
import { module, test } from 'qunit';
|
|
|
|
module('Unit | Utility | http/acl/is valid server error', function() {
|
|
const createEmberDataError = function(response) {
|
|
return {
|
|
errors: [
|
|
{
|
|
detail: response,
|
|
},
|
|
],
|
|
};
|
|
};
|
|
test('it returns a function', function(assert) {
|
|
const isValidServerError = createIsValidServerError();
|
|
assert.ok(typeof isValidServerError === 'function');
|
|
});
|
|
test("it returns false if there is no 'correctly' formatted error", function(assert) {
|
|
const isValidServerError = createIsValidServerError();
|
|
assert.notOk(isValidServerError());
|
|
assert.notOk(isValidServerError({}));
|
|
assert.notOk(isValidServerError({ errors: {} }));
|
|
assert.notOk(isValidServerError({ errors: [{}] }));
|
|
assert.notOk(isValidServerError({ errors: [{ notDetail: '' }] }));
|
|
});
|
|
// don't go too crazy with these, just enough for sanity check, we are essentially testing indexOf
|
|
test("it returns false if the response doesn't contain the exact error response", function(assert) {
|
|
const isValidServerError = createIsValidServerError();
|
|
[
|
|
"pc error making call: rpc: can't find method ACL",
|
|
"rpc error making call: rpc: can't find method",
|
|
"rpc rror making call: rpc: can't find method ACL",
|
|
].forEach(function(response) {
|
|
const e = createEmberDataError(response);
|
|
assert.notOk(isValidServerError(e));
|
|
});
|
|
});
|
|
test('it returns true if the response contains the exact error response', function(assert) {
|
|
const isValidServerError = createIsValidServerError();
|
|
[
|
|
"rpc error making call: rpc: can't find method ACL",
|
|
" rpc error making call: rpc: can't find method ACL",
|
|
"rpc error making call: rpc: rpc error making call: rpc: rpc error making call: rpc: can't find method ACL",
|
|
].forEach(function(response) {
|
|
const e = createEmberDataError(response);
|
|
assert.ok(isValidServerError(e));
|
|
});
|
|
});
|
|
});
|