mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 17:59:23 -04:00
* make defaultRoute accessible in NP Config (#52308) * defaultRoute was not provided to the NP * improve defaultRoute validation * add test that defaultRoute is read from config * update tests * update mock to fix tests
This commit is contained in:
parent
e659e1265f
commit
3150e7ef4d
5 changed files with 67 additions and 2 deletions
|
@ -38,7 +38,15 @@ export const config = {
|
|||
validate: match(validBasePathRegex, "must start with a slash, don't end with one"),
|
||||
})
|
||||
),
|
||||
defaultRoute: schema.maybe(schema.string()),
|
||||
defaultRoute: schema.maybe(
|
||||
schema.string({
|
||||
validate(value) {
|
||||
if (!value.startsWith('/')) {
|
||||
return 'must start with a slash';
|
||||
}
|
||||
},
|
||||
})
|
||||
),
|
||||
cors: schema.conditional(
|
||||
schema.contextRef('dev'),
|
||||
true,
|
||||
|
|
|
@ -8,6 +8,7 @@ Object {
|
|||
"enabled": true,
|
||||
},
|
||||
"cors": false,
|
||||
"defaultRoute": undefined,
|
||||
"host": "host",
|
||||
"keepaliveTimeout": 5000,
|
||||
"maxPayload": 1000,
|
||||
|
@ -30,6 +31,7 @@ Object {
|
|||
"enabled": true,
|
||||
},
|
||||
"cors": false,
|
||||
"defaultRoute": undefined,
|
||||
"host": "host",
|
||||
"keepaliveTimeout": 5000,
|
||||
"maxPayload": 1000,
|
||||
|
|
|
@ -62,6 +62,7 @@ export class LegacyObjectToConfigAdapter extends ObjectToConfigAdapter {
|
|||
return {
|
||||
autoListen: configValue.autoListen,
|
||||
basePath: configValue.basePath,
|
||||
defaultRoute: configValue.defaultRoute,
|
||||
cors: configValue.cors,
|
||||
host: configValue.host,
|
||||
maxPayload: configValue.maxPayloadBytes,
|
||||
|
|
|
@ -0,0 +1,54 @@
|
|||
/*
|
||||
* Licensed to Elasticsearch B.V. under one or more contributor
|
||||
* license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright
|
||||
* ownership. Elasticsearch B.V. licenses this file to you under
|
||||
* the Apache License, Version 2.0 (the "License"); you may
|
||||
* not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
import * as kbnTestServer from '../../../../test_utils/kbn_server';
|
||||
// eslint-disable-next-line @kbn/eslint/no-restricted-paths
|
||||
import { Root } from '../../../../core/server/root';
|
||||
|
||||
describe('default route provider', () => {
|
||||
let root: Root;
|
||||
|
||||
afterEach(async () => await root.shutdown());
|
||||
|
||||
it('redirects to the configured default route', async function() {
|
||||
root = kbnTestServer.createRoot({
|
||||
server: {
|
||||
defaultRoute: '/app/some/default/route',
|
||||
},
|
||||
});
|
||||
|
||||
await root.setup();
|
||||
await root.start();
|
||||
|
||||
const kbnServer = kbnTestServer.getKbnServer(root);
|
||||
|
||||
kbnServer.server.decorate('request', 'getSavedObjectsClient', function() {
|
||||
return {
|
||||
get: (type: string, id: string) => ({ attributes: {} }),
|
||||
errors: {},
|
||||
};
|
||||
});
|
||||
|
||||
const { status, header } = await kbnTestServer.request.get(root, '/');
|
||||
|
||||
expect(status).toEqual(302);
|
||||
expect(header).toMatchObject({
|
||||
location: '/app/some/default/route',
|
||||
});
|
||||
});
|
||||
});
|
|
@ -54,7 +54,7 @@ function getImportableAndExportableTypes({ kbnServer, visibleTypes }) {
|
|||
);
|
||||
}
|
||||
|
||||
export async function savedObjectsMixin(kbnServer, server) {
|
||||
export function savedObjectsMixin(kbnServer, server) {
|
||||
const migrator = kbnServer.newPlatform.__internals.kibanaMigrator;
|
||||
const mappings = migrator.getActiveMappings();
|
||||
const allTypes = Object.keys(getRootPropertiesObjects(mappings));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue