Skip to content

Commit

Permalink
[maps] fix Air-gapped enviroment hitting 400 error loading fonts for …
Browse files Browse the repository at this point in the history
…layer
  • Loading branch information
nreese committed Sep 7, 2023
1 parent 6969803 commit 588f27b
Show file tree
Hide file tree
Showing 7 changed files with 163 additions and 0 deletions.
1 change: 1 addition & 0 deletions .buildkite/ftr_configs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,7 @@ enabled:
- x-pack/test/detection_engine_api_integration/security_and_spaces/bundled_prebuilt_rules_package/config.ts
- x-pack/test/detection_engine_api_integration/security_and_spaces/large_prebuilt_rules_package/config.ts
- x-pack/test/detection_engine_api_integration/security_and_spaces/update_prebuilt_rules_package/config.ts
- x-pack/test/disable_ems/config.ts
- x-pack/test/encrypted_saved_objects_api_integration/config.ts
- x-pack/test/examples/config.ts
- x-pack/test/fleet_api_integration/config.agent.ts
Expand Down
3 changes: 3 additions & 0 deletions x-pack/test/disable_ems/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# FTR tests for map.includeElasticMapsService: false

Verify Kibana functionallity when connection to Elastic Maps Service is disabled
30 changes: 30 additions & 0 deletions x-pack/test/disable_ems/config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/

import { resolve } from 'path';
import { FtrConfigProviderContext } from '@kbn/test';
import { services, pageObjects } from './ftr_provider_context';

export default async function ({ readConfigFile }: FtrConfigProviderContext) {
const kibanaFunctionalConfig = await readConfigFile(
require.resolve('../functional/config.base.js')
);

return {
...kibanaFunctionalConfig.getAll(),
testFiles: [require.resolve('./tests')],
services,
pageObjects,
junit: {
reportName: `Kibana Maps without access to Elastic Maps Service`,
},
kbnTestServer: {
...kibanaFunctionalConfig.get('kbnTestServer'),
serverArgs: [...kibanaFunctionalConfig.get('kbnTestServer.serverArgs'), `--map.includeElasticMapsService=false`],
},
};
}
13 changes: 13 additions & 0 deletions x-pack/test/disable_ems/ftr_provider_context.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/

import { GenericFtrProviderContext } from '@kbn/test';
import { services } from '../functional/services';
import { pageObjects } from '../functional/page_objects';

export type FtrProviderContext = GenericFtrProviderContext<typeof services, typeof pageObjects>;
export { services, pageObjects };
50 changes: 50 additions & 0 deletions x-pack/test/disable_ems/kbn_archive.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
{
"attributes": {
"fieldAttrs":"{}",
"fieldFormatMap":"{}",
"fields":"[]",
"name":"logstash-*",
"runtimeFieldMap":"{}",
"sourceFilters":"[]",
"timeFieldName":"@timestamp",
"title":"logstash-*",
"typeMeta":"{}"
},
"coreMigrationVersion":"8.8.0",
"created_at":"2023-09-07T14:49:04.891Z",
"id":"fd405dbb-002b-4caa-aae1-0893e5ffb75b",
"managed":false,
"references":[],
"type":"index-pattern",
"typeMigrationVersion":"8.0.0",
"updated_at":"2023-09-07T14:49:04.891Z",
"version":"WzEwLDFd"
}

{
"id": "ee65a3b0-4d8d-11ee-a8ed-97fb2d02a957",
"type": "map",
"namespaces": [
"default"
],
"updated_at": "2023-09-07T14:50:48.043Z",
"created_at": "2023-09-07T14:50:48.043Z",
"version": "WzE1LDFd",
"attributes": {
"title": "mvt documents with labels",
"description": "",
"layerListJSON": "[{\"sourceDescriptor\":{\"geoField\":\"geo.coordinates\",\"scalingType\":\"MVT\",\"id\":\"57798aca-8a4e-4c35-9225-e8d4133ae8a7\",\"type\":\"ES_SEARCH\",\"applyGlobalQuery\":true,\"applyGlobalTime\":true,\"applyForceRefresh\":true,\"filterByMapBounds\":true,\"tooltipProperties\":[],\"sortField\":\"\",\"sortOrder\":\"desc\",\"topHitsGroupByTimeseries\":false,\"topHitsSplitField\":\"\",\"topHitsSize\":1,\"indexPatternRefName\":\"layer_0_source_index_pattern\"},\"id\":\"00c8d672-dc32-42cc-9e11-1c43d3e9a3be\",\"label\":null,\"minZoom\":0,\"maxZoom\":24,\"alpha\":0.75,\"visible\":true,\"style\":{\"type\":\"VECTOR\",\"properties\":{\"icon\":{\"type\":\"STATIC\",\"options\":{\"value\":\"marker\"}},\"fillColor\":{\"type\":\"STATIC\",\"options\":{\"color\":\"#54B399\"}},\"lineColor\":{\"type\":\"STATIC\",\"options\":{\"color\":\"#41937c\"}},\"lineWidth\":{\"type\":\"STATIC\",\"options\":{\"size\":0}},\"iconSize\":{\"type\":\"STATIC\",\"options\":{\"size\":6}},\"iconOrientation\":{\"type\":\"STATIC\",\"options\":{\"orientation\":0}},\"labelText\":{\"type\":\"DYNAMIC\",\"options\":{\"field\":{\"label\":\"bytes\",\"name\":\"bytes\",\"origin\":\"source\",\"type\":\"number\",\"supportsAutoDomain\":true,\"isUnsupported\":false}}},\"labelColor\":{\"type\":\"STATIC\",\"options\":{\"color\":\"#000000\"}},\"labelSize\":{\"type\":\"STATIC\",\"options\":{\"size\":14}},\"labelZoomRange\":{\"options\":{\"useLayerZoomRange\":true,\"minZoom\":0,\"maxZoom\":24}},\"labelBorderColor\":{\"type\":\"STATIC\",\"options\":{\"color\":\"#FFFFFF\"}},\"symbolizeAs\":{\"options\":{\"value\":\"circle\"}},\"labelBorderSize\":{\"options\":{\"size\":\"SMALL\"}},\"labelPosition\":{\"options\":{\"position\":\"CENTER\"}}},\"isTimeAware\":true},\"includeInFitToBounds\":true,\"type\":\"MVT_VECTOR\",\"joins\":[],\"disableTooltips\":false}]",
"mapStateJSON": "{\"adHocDataViews\":[],\"zoom\":2.19,\"center\":{\"lon\":-116.75537,\"lat\":55.05932},\"timeFilters\":{\"from\":\"2015-09-19T21:21:45.309Z\",\"to\":\"2015-09-23T01:33:44.867Z\"},\"refreshConfig\":{\"isPaused\":true,\"interval\":60000},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[],\"settings\":{\"autoFitToDataBounds\":false,\"backgroundColor\":\"#ffffff\",\"customIcons\":[],\"disableInteractive\":false,\"disableTooltipControl\":false,\"hideToolbarOverlay\":false,\"hideLayerControl\":false,\"hideViewControl\":false,\"initialLocation\":\"LAST_SAVED_LOCATION\",\"fixedLocation\":{\"lat\":0,\"lon\":0,\"zoom\":2},\"browserLocation\":{\"zoom\":2},\"keydownScrollZoom\":false,\"maxZoom\":24,\"minZoom\":0,\"showScaleControl\":false,\"showSpatialFilters\":true,\"showTimesliderToggleButton\":true,\"spatialFiltersAlpa\":0.3,\"spatialFiltersFillColor\":\"#DA8B45\",\"spatialFiltersLineColor\":\"#DA8B45\"}}",
"uiStateJSON": "{\"isLayerTOCOpen\":true,\"openTOCDetails\":[\"00c8d672-dc32-42cc-9e11-1c43d3e9a3be\"]}"
},
"references": [
{
"name": "layer_0_source_index_pattern",
"type": "index-pattern",
"id": "fd405dbb-002b-4caa-aae1-0893e5ffb75b"
}
],
"managed": false,
"coreMigrationVersion": "8.8.0",
"typeMigrationVersion": "8.4.0"
}
33 changes: 33 additions & 0 deletions x-pack/test/disable_ems/tests/fonts.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/

import expect from '@kbn/expect';

export default function ({ getService, getPageObjects }: FtrProviderContext) {
const PageObjects = getPageObjects(['maps']);
const security = getService('security');

describe('Fonts', function () {
before(async () => {
await security.testUser.setRoles(['test_logstash_reader', 'global_maps_all']);
await PageObjects.maps.loadSavedMap('mvt documents with labels');
});

after(async () => {
await security.testUser.restoreDefaults();
});

it('should load map with labels', async () => {
const doesLayerExist = await PageObjects.maps.doesLayerExist('logstash-*');
expect(doesLayerExist).to.equal(true);
const tooltipText = await PageObjects.maps.getLayerTocTooltipMsg('logstash-*');
expect(tooltipText).to.equal(
'logstash-*\nFound 14,000 documents.\nResults narrowed by global time'
);
});
});
}
33 changes: 33 additions & 0 deletions x-pack/test/disable_ems/tests/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/

import type { FtrProviderContext } from '../ftr_provider_context';

export default function ({ loadTestFile, getService }: FtrProviderContext) {
const kibanaServer = getService('kibanaServer');
const esArchiver = getService('esArchiver');
const browser = getService('browser');

describe('disable Elastic Maps Service', () => {
before(async () => {
await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/logstash_functional');
await kibanaServer.importExport.load(
'x-pack/test/disable_ems/kbn_archive.json'
);
await browser.setWindowSize(1600, 1000);
});

after(async () => {
await esArchiver.unload('x-pack/test/functional/es_archives/maps/data');
await kibanaServer.importExport.unload(
'x-pack/test/disable_ems/kbn_archive.json'
);
});

loadTestFile(require.resolve('./fonts'));
});
}

0 comments on commit 588f27b

Please sign in to comment.