* add `onFound` callback to schemas * add warning to method docs (for #4957) * implement Docker OAuth2 init block support * update docs * add OAUTH_SCOPE_SEPARATOR * drop OAuth env from Dockerfile and run script * don't indent the first oauth block line * drop unused `dedent` import * touch up warning message * add more test cases * return an empty block if no OAuth content is generated * fix broken doc line
58 lines
1.6 KiB
JavaScript
58 lines
1.6 KiB
JavaScript
const expect = require("expect")
|
|
const oauthBlockBuilder = require("../../docker/configurator/oauth")
|
|
const dedent = require("dedent")
|
|
|
|
describe("docker: env translator - oauth block", function() {
|
|
it("should omit the block if there are no valid keys", function () {
|
|
const input = {}
|
|
|
|
expect(oauthBlockBuilder(input)).toEqual(``)
|
|
})
|
|
it("should omit the block if there are no valid keys", function () {
|
|
const input = {
|
|
NOT_A_VALID_KEY: "asdf1234"
|
|
}
|
|
|
|
expect(oauthBlockBuilder(input)).toEqual(``)
|
|
})
|
|
it("should generate a block from empty values", function() {
|
|
const input = {
|
|
OAUTH_CLIENT_ID: ``,
|
|
OAUTH_CLIENT_SECRET: ``,
|
|
OAUTH_REALM: ``,
|
|
OAUTH_APP_NAME: ``,
|
|
OAUTH_SCOPE_SEPARATOR: "",
|
|
OAUTH_ADDITIONAL_PARAMS: ``,
|
|
}
|
|
|
|
expect(oauthBlockBuilder(input)).toEqual(dedent(`
|
|
ui.initOAuth({
|
|
clientId: "",
|
|
clientSecret: "",
|
|
realm: "",
|
|
appName: "",
|
|
scopeSeparator: "",
|
|
additionalQueryStringParams: undefined,
|
|
})`))
|
|
})
|
|
it("should generate a full block", function() {
|
|
const input = {
|
|
OAUTH_CLIENT_ID: `myId`,
|
|
OAUTH_CLIENT_SECRET: `mySecret`,
|
|
OAUTH_REALM: `myRealm`,
|
|
OAUTH_APP_NAME: `myAppName`,
|
|
OAUTH_SCOPE_SEPARATOR: "%21",
|
|
OAUTH_ADDITIONAL_PARAMS: `{ "a": 1234, "b": "stuff" }`,
|
|
}
|
|
|
|
expect(oauthBlockBuilder(input)).toEqual(dedent(`
|
|
ui.initOAuth({
|
|
clientId: "myId",
|
|
clientSecret: "mySecret",
|
|
realm: "myRealm",
|
|
appName: "myAppName",
|
|
scopeSeparator: "%21",
|
|
additionalQueryStringParams: { "a": 1234, "b": "stuff" },
|
|
})`))
|
|
})
|
|
}) |