Skip to content

Commit

Permalink
Merge branch 'master' of github.com:kevinlog/kibana into task/onboard…
Browse files Browse the repository at this point in the history
…ing-ux-updates
  • Loading branch information
kevinlog committed Jul 9, 2020
2 parents 65a2248 + b25b690 commit aa75c5e
Show file tree
Hide file tree
Showing 375 changed files with 3,146 additions and 2,389 deletions.
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
4 changes: 2 additions & 2 deletions docs/developer/testing/interpreting-ci-failures.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Clicking the link next to the check in the conversation tab of a pull request wi

To view the results of a job execution in Jenkins, either click the link in the comment left by `@elasticmachine` or search for the `kibana-ci` check in the list at the bottom of the PR. This link will take you to the top-level page for the specific job execution that failed.

image::images/jenkins/job_view.png[]
image::images/job_view.png[]

1. *Git Changes:* the list of commits that were in this build which weren't in the previous build. For Pull Requests this list is calculated by comparing against the most recent Pull Request which was tested, it is not limited to build for this specific Pull Request, so it's not very useful.
2. *Test Results:* A link to the test results screen, and shortcuts to the failed tests. Functional tests capture and store the log output from each specific test, and make it visible at these links. For other test runners only the error message is visible and log output must be tracked down in the *Pipeline Steps*.
Expand All @@ -29,6 +29,6 @@ image::images/jenkins/job_view.png[]

To view the logs for a failed specific ciGroup, jest, mocha, type checkers, linters, etc., click on the *Pipeline Steps* link in from the Job page.

image::images/jenkins/pipeline_steps_view.png[]
image::images/pipeline_steps_view.png[]

Scroll down the page until you find a failed step *(1)*, and then look up a few lines for the `Branch:` step to see which specific job this is. If this is the job you're looking for click the little terminal icon next to the failed step *(1)* to view the logs for that specific step in the Pipeline.
2 changes: 1 addition & 1 deletion docs/development/core/server/kibana-plugin-core-server.md
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ The plugin integrates with the core system via lifecycle events: `setup`<!-- -->
| [SavedObjectsBulkUpdateResponse](./kibana-plugin-core-server.savedobjectsbulkupdateresponse.md) | |
| [SavedObjectsClientProviderOptions](./kibana-plugin-core-server.savedobjectsclientprovideroptions.md) | Options to control the creation of the Saved Objects Client. |
| [SavedObjectsClientWrapperOptions](./kibana-plugin-core-server.savedobjectsclientwrapperoptions.md) | Options passed to each SavedObjectsClientWrapperFactory to aid in creating the wrapper instance. |
| [SavedObjectsComplexFieldMapping](./kibana-plugin-core-server.savedobjectscomplexfieldmapping.md) | See [SavedObjectsFieldMapping](./kibana-plugin-core-server.savedobjectsfieldmapping.md) for documentation.<!-- -->Note: this type intentially doesn't include a type definition for defining the <code>dynamic</code> mapping parameter. Saved Object fields should always inherit the <code>dynamic: 'strict'</code> paramater. If you are unsure of the shape of your data use <code>type: 'object', enabled: false</code> instead. |
| [SavedObjectsComplexFieldMapping](./kibana-plugin-core-server.savedobjectscomplexfieldmapping.md) | See [SavedObjectsFieldMapping](./kibana-plugin-core-server.savedobjectsfieldmapping.md) for documentation. |
| [SavedObjectsCoreFieldMapping](./kibana-plugin-core-server.savedobjectscorefieldmapping.md) | See [SavedObjectsFieldMapping](./kibana-plugin-core-server.savedobjectsfieldmapping.md) for documentation. |
| [SavedObjectsCreateOptions](./kibana-plugin-core-server.savedobjectscreateoptions.md) | |
| [SavedObjectsDeleteByNamespaceOptions](./kibana-plugin-core-server.savedobjectsdeletebynamespaceoptions.md) | |
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [kibana-plugin-core-server](./kibana-plugin-core-server.md) &gt; [SavedObjectsComplexFieldMapping](./kibana-plugin-core-server.savedobjectscomplexfieldmapping.md) &gt; [dynamic](./kibana-plugin-core-server.savedobjectscomplexfieldmapping.dynamic.md)

## SavedObjectsComplexFieldMapping.dynamic property

The dynamic property of the mapping, either `false` or `'strict'`<!-- -->. If unspecified `dynamic: 'strict'` will be inherited from the top-level index mappings.

Note: To limit the number of mapping fields Saved Object types should \*never\* use `dynamic: true`<!-- -->.

<b>Signature:</b>

```typescript
dynamic?: false | 'strict';
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [kibana-plugin-core-server](./kibana-plugin-core-server.md) &gt; [SavedObjectsComplexFieldMapping](./kibana-plugin-core-server.savedobjectscomplexfieldmapping.md) &gt; [enabled](./kibana-plugin-core-server.savedobjectscomplexfieldmapping.enabled.md)

## SavedObjectsComplexFieldMapping.enabled property

<b>Signature:</b>

```typescript
enabled?: boolean;
```
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@

See [SavedObjectsFieldMapping](./kibana-plugin-core-server.savedobjectsfieldmapping.md) for documentation.

Note: this type intentially doesn't include a type definition for defining the `dynamic` mapping parameter. Saved Object fields should always inherit the `dynamic: 'strict'` paramater. If you are unsure of the shape of your data use `type: 'object', enabled: false` instead.

<b>Signature:</b>

```typescript
Expand All @@ -19,6 +17,8 @@ export interface SavedObjectsComplexFieldMapping
| Property | Type | Description |
| --- | --- | --- |
| [doc\_values](./kibana-plugin-core-server.savedobjectscomplexfieldmapping.doc_values.md) | <code>boolean</code> | |
| [dynamic](./kibana-plugin-core-server.savedobjectscomplexfieldmapping.dynamic.md) | <code>false &#124; 'strict'</code> | The dynamic property of the mapping, either <code>false</code> or <code>'strict'</code>. If unspecified <code>dynamic: 'strict'</code> will be inherited from the top-level index mappings.<!-- -->Note: To limit the number of mapping fields Saved Object types should \*never\* use <code>dynamic: true</code>. |
| [enabled](./kibana-plugin-core-server.savedobjectscomplexfieldmapping.enabled.md) | <code>boolean</code> | |
| [properties](./kibana-plugin-core-server.savedobjectscomplexfieldmapping.properties.md) | <code>SavedObjectsMappingProperties</code> | |
| [type](./kibana-plugin-core-server.savedobjectscomplexfieldmapping.type.md) | <code>string</code> | |

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ export interface SavedObjectsCoreFieldMapping
| Property | Type | Description |
| --- | --- | --- |
| [doc\_values](./kibana-plugin-core-server.savedobjectscorefieldmapping.doc_values.md) | <code>boolean</code> | |
| [enabled](./kibana-plugin-core-server.savedobjectscorefieldmapping.enabled.md) | <code>boolean</code> | |
| [fields](./kibana-plugin-core-server.savedobjectscorefieldmapping.fields.md) | <code>{</code><br/><code> [subfield: string]: {</code><br/><code> type: string;</code><br/><code> ignore_above?: number;</code><br/><code> };</code><br/><code> }</code> | |
| [index](./kibana-plugin-core-server.savedobjectscorefieldmapping.index.md) | <code>boolean</code> | |
| [null\_value](./kibana-plugin-core-server.savedobjectscorefieldmapping.null_value.md) | <code>number &#124; boolean &#124; string</code> | |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

## SavedObjectsTypeMappingDefinition.dynamic property

The dynamic property of the mapping. either `false` or 'strict'. Defaults to `false`
The dynamic property of the mapping, either `false` or `'strict'`<!-- -->. If unspecified `dynamic: 'strict'` will be inherited from the top-level index mappings.

<b>Signature:</b>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,6 @@ const typeDefinition: SavedObjectsTypeMappingDefinition = {

| Property | Type | Description |
| --- | --- | --- |
| [dynamic](./kibana-plugin-core-server.savedobjectstypemappingdefinition.dynamic.md) | <code>false &#124; 'strict'</code> | The dynamic property of the mapping. either <code>false</code> or 'strict'. Defaults to <code>false</code> |
| [dynamic](./kibana-plugin-core-server.savedobjectstypemappingdefinition.dynamic.md) | <code>false &#124; 'strict'</code> | The dynamic property of the mapping, either <code>false</code> or <code>'strict'</code>. If unspecified <code>dynamic: 'strict'</code> will be inherited from the top-level index mappings. |
| [properties](./kibana-plugin-core-server.savedobjectstypemappingdefinition.properties.md) | <code>SavedObjectsMappingProperties</code> | The underlying properties of the type mapping |

File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
Binary file removed docs/images/AddFieldButton.jpg
Diff not rendered.
Binary file removed docs/images/CollapseButton.jpg
Diff not rendered.
Binary file removed docs/images/Dashboard_Resize_Menu.png
Diff not rendered.
Binary file removed docs/images/Dashboard_visualization_data.png
Diff not rendered.
Binary file removed docs/images/Discover-ContextView-FilterMontage.png
Diff not rendered.
Binary file removed docs/images/Discover-FieldStats.jpg
Diff not rendered.
Binary file removed docs/images/Discover-MoveColumn.jpg
Diff not rendered.
Binary file removed docs/images/EditVis.png
Diff not rendered.
Binary file removed docs/images/ExistsButton.jpg
Diff not rendered.
Binary file removed docs/images/ExpandButton.jpg
Diff not rendered.
Binary file removed docs/images/NYCTA-Table.jpg
Diff not rendered.
Binary file removed docs/images/NewDashboard.png
Diff not rendered.
Binary file removed docs/images/RemoveFieldButton.jpg
Diff not rendered.
Binary file removed docs/images/Start-Page.png
Diff not rendered.
Binary file removed docs/images/TimeFilter.jpg
Diff not rendered.
Binary file removed docs/images/VizEditor.jpg
Diff not rendered.
Binary file removed docs/images/add-column-button.png
Diff not rendered.
Binary file removed docs/images/add_filter_field.png
Diff not rendered.
Binary file removed docs/images/add_filter_operator.png
Diff not rendered.
Binary file removed docs/images/add_filter_value.png
Diff not rendered.
Binary file removed docs/images/auto_format_after.png
Diff not rendered.
Binary file removed docs/images/auto_format_before.png
Diff not rendered.
Binary file removed docs/images/auto_format_bulk.png
Diff not rendered.
Binary file removed docs/images/autorefresh-intervals.png
Diff not rendered.
Binary file removed docs/images/autorefresh-pause.png
Diff not rendered.
Binary file removed docs/images/autorefresh.png
Diff not rendered.
Binary file removed docs/images/bar-terms-agg.png
Diff not rendered.
Binary file removed docs/images/bar-terms-subagg.png
Diff not rendered.
Binary file removed docs/images/canvas-align-elements.gif
Diff not rendered.
Binary file removed docs/images/canvas-background-color-picker.gif
Diff not rendered.
Binary file removed docs/images/canvas-click-drag-element.gif
Diff not rendered.
Binary file removed docs/images/canvas-distribute-elements.gif
Diff not rendered.
Binary file removed docs/images/canvas-download-json.gif
Diff not rendered.
Binary file removed docs/images/canvas-ecommerce.png
Diff not rendered.
Binary file removed docs/images/canvas-element-order.gif
Diff not rendered.
Binary file removed docs/images/canvas-embed_workpad.gif
Diff not rendered.
Binary file removed docs/images/canvas-fullscreen.gif
Diff not rendered.
Binary file removed docs/images/canvas-move-pixel.gif
Diff not rendered.
Binary file removed docs/images/canvas-resize-element.gif
Diff not rendered.
Binary file removed docs/images/canvas-zoom.gif
Diff not rendered.
Binary file removed docs/images/canvas_create_image.png
Diff not rendered.
Binary file removed docs/images/canvas_map-time-filter.gif
Diff not rendered.
Binary file removed docs/images/canvas_share_autoplay_480.gif
Diff not rendered.
Binary file removed docs/images/canvas_share_hidetoolbar_480.gif
Diff not rendered.
Binary file removed docs/images/canvas_workpad_3_page.png
Diff not rendered.
Binary file removed docs/images/canvas_workpad_edit_style.png
Diff not rendered.
Binary file removed docs/images/canvas_workpad_weblog.png
Diff not rendered.
Binary file removed docs/images/controls/controls_options.png
Diff not rendered.
Binary file removed docs/images/controls/dropdown_control_editor.png
Diff not rendered.
Binary file removed docs/images/controls/range_slider_editor.png
Diff not rendered.
Binary file removed docs/images/discover-compass.png
Diff not rendered.
Binary file removed docs/images/edit_filter_query.png
Diff not rendered.
Binary file removed docs/images/filter-actions.png
Diff not rendered.
Binary file removed docs/images/filter-allbuttons.png
Diff not rendered.
Binary file removed docs/images/filter-sample.png
Diff not rendered.
Binary file removed docs/images/goal.png
Diff not rendered.
Binary file removed docs/images/history.png
Diff not rendered.
Binary file removed docs/images/labelbutton.png
Diff not rendered.
Binary file removed docs/images/lens_remove_layer.png
Diff not rendered.
Binary file removed docs/images/management-index-management.png
Diff not rendered.
Binary file removed docs/images/management-upgrade-assistant-8.0.png
Diff not rendered.
Binary file removed docs/images/management-watcher-buttons.png
Diff not rendered.
Binary file removed docs/images/management_rolled_dashboard.png
Diff not rendered.
Binary file removed docs/images/management_rollups_visualization.png
Diff not rendered.
Binary file removed docs/images/markdown-example.png
Diff not rendered.
Binary file removed docs/images/multiple_requests.png
Diff not rendered.
Binary file removed docs/images/regionmap.png
Diff not rendered.
Binary file removed docs/images/search-button.jpg
Diff not rendered.
Binary file removed docs/images/security_base_all.png
Diff not rendered.
Binary file removed docs/images/share-short-link.png
Diff not rendered.
Binary file removed docs/images/time-filter-absolute.jpg
Diff not rendered.
Binary file removed docs/images/time-filter-relative.jpg
Diff not rendered.
Binary file removed docs/images/time-filter.jpg
Diff not rendered.
Binary file removed docs/images/time-picker-step.jpg
Diff not rendered.
Binary file removed docs/images/time-picker.jpg
Diff not rendered.
Binary file removed docs/images/timelion-arg-help.jpg
Diff not rendered.
Binary file removed docs/images/timelion-read-only-badge.png
Diff not rendered.
Binary file removed docs/images/timelion-save01.png
Diff not rendered.
Binary file removed docs/images/timelion-save02.png
Diff not rendered.
Binary file removed docs/images/tsvb-annotations.png
Diff not rendered.
Binary file removed docs/images/tsvb-data-tab-derivative-example.png
Diff not rendered.
Binary file removed docs/images/tsvb-data-tab-label.png
Diff not rendered.
Diff not rendered.
Binary file removed docs/images/tsvb-data-tab-series-options.png
Diff not rendered.
Binary file removed docs/images/tutorial-full-inspect2.png
Diff not rendered.
Binary file removed docs/images/tutorial-sample-discover-2.png
Diff not rendered.
Binary file removed docs/images/tutorial-sample-inspect2.png
Diff not rendered.
Binary file removed docs/images/tutorial-visualize-pie-1.png
Diff not rendered.
Binary file removed docs/images/visualize-flow.png
Diff not rendered.
Binary file removed docs/images/visualize-icon.png
Diff not rendered.
Binary file removed docs/images/visualize_coordinate_map_example.png
Diff not rendered.
Binary file removed docs/images/visualize_region_map_example.png
Diff not rendered.
Binary file removed docs/images/viz-fit-bounds.png
Diff not rendered.
Binary file removed docs/images/viz-lat-long-filter.png
Diff not rendered.
Binary file removed docs/images/viz-zoom.png
Diff not rendered.
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
4 changes: 2 additions & 2 deletions docs/user/alerting/action-types/pagerduty.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -68,11 +68,11 @@ Then, select the *Integrations* tab and click the *New Integration* button.
* If you are creating a new service for your integration,
go to
https://support.pagerduty.com/docs/services-and-integrations#section-configuring-services-and-integrations[Configuring Services and Integrations]
and follow the steps outlined in the *Create a New Service* section, selecting *Elastic* as the *Integration Type* in step 4.
and follow the steps outlined in the *Create a New Service* section, selecting *Elastic Alerts* as the *Integration Type* in step 4.
Continue with the <<pagerduty-in-elastic, In Elastic>> section once you have finished these steps.

. Enter an *Integration Name* in the format Elastic-service-name (for example, Elastic-Alerting or Kibana-APM-Alerting)
and select Elastic from the *Integration Type* menu.
and select *Elastic Alerts* from the *Integration Type* menu.
. Click *Add Integration* to save your new integration.
+
You will be redirected to the *Integrations* tab for your service. An Integration Key is generated on this screen.
Expand Down
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
20 changes: 13 additions & 7 deletions src/core/server/saved_objects/mappings/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,9 @@
* @public
*/
export interface SavedObjectsTypeMappingDefinition {
/** The dynamic property of the mapping. either `false` or 'strict'. Defaults to `false` */
/** The dynamic property of the mapping, either `false` or `'strict'`. If
* unspecified `dynamic: 'strict'` will be inherited from the top-level
* index mappings. */
dynamic?: false | 'strict';
/** The underlying properties of the type mapping */
properties: SavedObjectsMappingProperties;
Expand Down Expand Up @@ -134,7 +136,6 @@ export interface SavedObjectsCoreFieldMapping {
null_value?: number | boolean | string;
index?: boolean;
doc_values?: boolean;
enabled?: boolean;
fields?: {
[subfield: string]: {
type: string;
Expand All @@ -146,14 +147,19 @@ export interface SavedObjectsCoreFieldMapping {
/**
* See {@link SavedObjectsFieldMapping} for documentation.
*
* Note: this type intentially doesn't include a type definition for defining
* the `dynamic` mapping parameter. Saved Object fields should always inherit
* the `dynamic: 'strict'` paramater. If you are unsure of the shape of your
* data use `type: 'object', enabled: false` instead.
*
* @public
*/
export interface SavedObjectsComplexFieldMapping {
/**
* The dynamic property of the mapping, either `false` or `'strict'`. If
* unspecified `dynamic: 'strict'` will be inherited from the top-level
* index mappings.
*
* Note: To limit the number of mapping fields Saved Object types should
* *never* use `dynamic: true`.
*/
dynamic?: false | 'strict';
enabled?: boolean;
doc_values?: boolean;
type?: string;
properties: SavedObjectsMappingProperties;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ describe('IndexMigrator', () => {
);
});

test('retains mappings from the previous index', async () => {
test('retains unknown core field mappings from the previous index', async () => {
const { callCluster } = testOpts;

testOpts.mappingProperties = { foo: { type: 'text' } };
Expand All @@ -162,7 +162,7 @@ describe('IndexMigrator', () => {
aliases: {},
mappings: {
properties: {
author: { type: 'text' },
unknown_core_field: { type: 'text' },
},
},
},
Expand All @@ -187,7 +187,66 @@ describe('IndexMigrator', () => {
},
},
properties: {
author: { type: 'text' },
unknown_core_field: { type: 'text' },
foo: { type: 'text' },
migrationVersion: { dynamic: 'true', type: 'object' },
namespace: { type: 'keyword' },
namespaces: { type: 'keyword' },
type: { type: 'keyword' },
updated_at: { type: 'date' },
references: {
type: 'nested',
properties: {
name: { type: 'keyword' },
type: { type: 'keyword' },
id: { type: 'keyword' },
},
},
},
},
settings: { number_of_shards: 1, auto_expand_replicas: '0-1' },
},
index: '.kibana_2',
});
});

test('disables complex field mappings from unknown types in the previous index', async () => {
const { callCluster } = testOpts;

testOpts.mappingProperties = { foo: { type: 'text' } };

withIndex(callCluster, {
index: {
'.kibana_1': {
aliases: {},
mappings: {
properties: {
unknown_complex_field: { properties: { description: { type: 'text' } } },
},
},
},
},
});

await new IndexMigrator(testOpts).migrate();

expect(callCluster).toHaveBeenCalledWith('indices.create', {
body: {
mappings: {
dynamic: 'strict',
_meta: {
migrationMappingPropertyHashes: {
foo: '625b32086eb1d1203564cf85062dd22e',
migrationVersion: '4a1746014a75ade3a714e1db5763276f',
namespace: '2f4316de49999235636386fe51dc06c1',
namespaces: '2f4316de49999235636386fe51dc06c1',
references: '7997cf5a56cc02bdc9c93361bde732b0',
type: '2f4316de49999235636386fe51dc06c1',
updated_at: '00da57df13e94e9d98437d13ace4bfe0',
},
},
properties: {
unknown_complex_field: { dynamic: false, properties: {} },
foo: { type: 'text' },
migrationVersion: { dynamic: 'true', type: 'object' },
namespace: { type: 'keyword' },
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
/*
* 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 { disableUnknownTypeMappingFields } from './migration_context';

describe('disableUnknownTypeMappingFields', () => {
const sourceMappings = {
_meta: {
migrationMappingPropertyHashes: {
unknown_type: 'md5hash',
unknown_core_field: 'md5hash',
known_type: 'oldmd5hash',
},
},
properties: {
unknown_type: {
properties: {
unused_field: { type: 'text' },
},
},
unknown_core_field: { type: 'keyword' },
known_type: {
properties: {
field_1: { type: 'text' },
old_field: { type: 'boolean' },
},
},
},
};
const activeMappings = {
_meta: {
migrationMappingPropertyHashes: {
known_type: 'md5hash',
},
},
properties: {
known_type: {
properties: {
new_field: { type: 'binary' },
field_1: { type: 'keyword' },
},
},
},
};
const targetMappings = disableUnknownTypeMappingFields(activeMappings, sourceMappings);

it('disables complex field mappings from unknown types in the source mappings', () => {
expect(targetMappings.properties.unknown_type).toEqual({ dynamic: false, properties: {} });
});

it('retains unknown core field mappings from the source mappings', () => {
expect(targetMappings.properties.unknown_core_field).toEqual({ type: 'keyword' });
});

it('overrides source mappings with known types from active mappings', () => {
expect(targetMappings.properties.known_type).toEqual({
properties: {
new_field: { type: 'binary' },
field_1: { type: 'keyword' }, // was type text in source mappings
// old_field was present in source but ommited in active mappings
},
});
});

it('retains the active mappings _meta ignoring any _meta fields in the source mappings', () => {
expect(targetMappings._meta).toEqual({
migrationMappingPropertyHashes: {
known_type: 'md5hash',
},
});
});
});
Loading

0 comments on commit aa75c5e

Please sign in to comment.