bugfix: legacy Docker variables being overridden by default values (via #5006)
* 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 * allow legacy values to override base values
This commit is contained in:
@@ -32,6 +32,65 @@ describe("docker: env translator", function() {
|
||||
expect(onFoundSpy.calls.length).toEqual(1)
|
||||
|
||||
})
|
||||
|
||||
it("should use a regular value over a legacy one, regardless of order", function () {
|
||||
const schema = {
|
||||
MY_THING: {
|
||||
type: "string",
|
||||
name: "myThing"
|
||||
},
|
||||
MY_OTHER_THING: {
|
||||
type: "string",
|
||||
name: "myThing",
|
||||
legacy: true
|
||||
}
|
||||
}
|
||||
|
||||
// Regular value provided first
|
||||
expect(translator({
|
||||
MY_THING: "hey",
|
||||
MY_OTHER_THING: "hello"
|
||||
}, {
|
||||
schema
|
||||
})).toEqual(`myThing: "hey",`)
|
||||
|
||||
// Legacy value provided first
|
||||
expect(translator({
|
||||
MY_OTHER_THING: "hello",
|
||||
MY_THING: "hey"
|
||||
}, {
|
||||
schema
|
||||
})).toEqual(`myThing: "hey",`)
|
||||
})
|
||||
|
||||
it("should use a legacy value over a base one, regardless of order", function () {
|
||||
const schema = {
|
||||
MY_THING: {
|
||||
type: "string",
|
||||
name: "myThing",
|
||||
legacy: true
|
||||
}
|
||||
}
|
||||
|
||||
const baseConfig = {
|
||||
myThing: {
|
||||
value: "base",
|
||||
schema: {
|
||||
type: "string",
|
||||
base: true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Regular value provided first
|
||||
expect(translator({
|
||||
MY_THING: "legacy"
|
||||
}, {
|
||||
injectBaseConfig: true,
|
||||
schema,
|
||||
baseConfig
|
||||
})).toEqual(`myThing: "legacy",`)
|
||||
})
|
||||
})
|
||||
describe("Swagger UI configuration", function() {
|
||||
it("should generate a base config including the base content", function () {
|
||||
@@ -138,6 +197,30 @@ describe("docker: env translator", function() {
|
||||
).trim())
|
||||
})
|
||||
|
||||
|
||||
it("should pick up legacy variables when using base config", function () {
|
||||
const input = {
|
||||
API_URL: "/swagger.json",
|
||||
API_URLS: `["/one", "/two"]`,
|
||||
}
|
||||
|
||||
expect(translator(input, { injectBaseConfig: true })).toEqual(dedent(`
|
||||
"dom_id": "#swagger-ui",
|
||||
deepLinking: true,
|
||||
presets: [
|
||||
SwaggerUIBundle.presets.apis,
|
||||
SwaggerUIStandalonePreset
|
||||
],
|
||||
plugins: [
|
||||
SwaggerUIBundle.plugins.DownloadUrl
|
||||
],
|
||||
layout: "StandaloneLayout",
|
||||
url: "/swagger.json",
|
||||
urls: ["/one", "/two"],`
|
||||
|
||||
).trim())
|
||||
})
|
||||
|
||||
it("should generate a full config k:v string", function () {
|
||||
const input = {
|
||||
API_URL: "/old.yaml",
|
||||
|
||||
Reference in New Issue
Block a user