Skip to content

Commit 72f2121

Browse files
authored
Adding a test for data stream effective mappings (#130491)
1 parent a4bd18d commit 72f2121

File tree

1 file changed

+108
-0
lines changed

1 file changed

+108
-0
lines changed

modules/data-streams/src/yamlRestTest/resources/rest-api-spec/test/data_stream/250_data_stream_mappings.yml

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,3 +92,111 @@ setup:
9292
index: my-data-stream-1
9393
- match: { .$oldIndexName.mappings.properties.name: null }
9494
- match: { .$newIndexName.mappings.properties.name.type: "keyword" }
95+
96+
---
97+
"Test mappings component templates only":
98+
- requires:
99+
cluster_features: [ "logs_stream" ]
100+
reason: requires setting 'logs_stream' to get or set data stream settings
101+
102+
- do:
103+
cluster.put_component_template:
104+
name: mappings-template
105+
body:
106+
template:
107+
mappings:
108+
properties:
109+
field1:
110+
type: keyword
111+
field2:
112+
type: keyword
113+
114+
- do:
115+
allowed_warnings:
116+
- "index template [my-component-only-template] has index patterns [my-component-only-data-stream-*] matching patterns from existing older templates [global] with patterns (global => [*]); this template [my-component-only-template] will take precedence during new index creation"
117+
indices.put_index_template:
118+
name: my-component-only-template
119+
body:
120+
index_patterns: [ my-component-only-data-stream-* ]
121+
data_stream: { }
122+
composed_of:
123+
- mappings-template
124+
125+
- do:
126+
indices.create_data_stream:
127+
name: my-component-only-data-stream-1
128+
129+
- do:
130+
cluster.health:
131+
index: "my-component-only-data-stream-1"
132+
wait_for_status: green
133+
134+
- do:
135+
indices.get_data_stream:
136+
name: my-component-only-data-stream-1
137+
- match: { data_streams.0.name: my-component-only-data-stream-1 }
138+
- match: { data_streams.0.mappings: {} }
139+
- match: { data_streams.0.effective_mappings: null }
140+
141+
- do:
142+
indices.put_data_stream_mappings:
143+
name: my-component-only-data-stream-1
144+
body:
145+
properties:
146+
field1:
147+
type: text
148+
field3:
149+
type: text
150+
- match: { data_streams.0.name: my-component-only-data-stream-1 }
151+
- match: { data_streams.0.applied_to_data_stream: true }
152+
- match: { data_streams.0.mappings.properties.field1.type: "text" }
153+
- match: { data_streams.0.mappings.properties.field2: null }
154+
- match: { data_streams.0.mappings.properties.field3.type: "text" }
155+
- match: { data_streams.0.effective_mappings.properties.field1.type: "text" }
156+
- match: { data_streams.0.effective_mappings.properties.field2: null }
157+
- match: { data_streams.0.effective_mappings.properties.field3.type: "text" }
158+
159+
- do:
160+
indices.rollover:
161+
alias: "my-component-only-data-stream-1"
162+
163+
- do:
164+
cluster.health:
165+
index: "my-component-only-data-stream-1"
166+
wait_for_status: green
167+
168+
- do:
169+
indices.get_data_stream_mappings:
170+
name: my-component-only-data-stream-1
171+
- match: { data_streams.0.name: my-component-only-data-stream-1 }
172+
- length: { data_streams.0.effective_mappings.properties: 2 }
173+
- match: { data_streams.0.mappings.properties.field1.type: "text" }
174+
- match: { data_streams.0.effective_mappings.properties.field3.type: "text" }
175+
176+
- do:
177+
indices.get_data_stream:
178+
name: my-component-only-data-stream-1
179+
- match: { data_streams.0.name: my-component-only-data-stream-1 }
180+
- match: { data_streams.0.mappings.properties.field1.type: "text" }
181+
- match: { data_streams.0.effective_mappings: null }
182+
- set: { data_streams.0.indices.0.index_name: oldIndexName }
183+
- set: { data_streams.0.indices.1.index_name: newIndexName }
184+
185+
- do:
186+
indices.get_mapping:
187+
index: my-component-only-data-stream-1
188+
- match: { .$oldIndexName.mappings.properties.field1.type: "keyword" }
189+
- match: { .$oldIndexName.mappings.properties.field2.type: "keyword" }
190+
- match: { .$oldIndexName.mappings.properties.field3: null }
191+
- match: { .$newIndexName.mappings.properties.field1.type: "text" }
192+
- match: { .$newIndexName.mappings.properties.field2.type: "keyword" }
193+
- match: { .$newIndexName.mappings.properties.field3.type: "text" }
194+
195+
- do:
196+
indices.put_data_stream_mappings:
197+
name: my-component-only-data-stream-1
198+
body: {}
199+
- match: { data_streams.0.name: my-component-only-data-stream-1 }
200+
- match: { data_streams.0.applied_to_data_stream: true }
201+
- match: { data_streams.0.mappings null }
202+
- match: { data_streams.0.effective_mappings: null }

0 commit comments

Comments
 (0)