Skip to content

Commit 14a0bb3

Browse files
authored
[DATA-FRAME] adds specs and yml tests for existing endpoints (#39326)
* [DATA-FRAME] adds specs and yml tests for existing endpoints * removing bad URL, adding test for _all
1 parent 7f7a927 commit 14a0bb3

11 files changed

+502
-0
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"data_frame.delete_data_frame_transform": {
3+
"documentation": "TODO",
4+
"methods": [ "DELETE" ],
5+
"url": {
6+
"path": "/_data_frame/transforms/{transform_id}",
7+
"paths": [
8+
"/_data_frame/transforms/{transform_id}"
9+
],
10+
"parts": {
11+
"transform_id": {
12+
"type": "string",
13+
"required": true,
14+
"description": "The id of the transform to delete"
15+
}
16+
}
17+
},
18+
"body": null
19+
}
20+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"data_frame.get_data_frame_transform": {
3+
"documentation": "TODO",
4+
"methods": [ "GET" ],
5+
"url": {
6+
"path": "/_data_frame/transforms/{transform_id}",
7+
"paths": [ "/_data_frame/transforms/{transform_id}"],
8+
"parts": {
9+
"transform_id": {
10+
"type": "string",
11+
"required": false,
12+
"description": "The id of the transforms to get, '_all' or '*' implies get all transforms"
13+
}
14+
}
15+
},
16+
"body": null
17+
}
18+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"data_frame.get_data_frame_transform_stats": {
3+
"documentation": "TODO",
4+
"methods": [ "GET" ],
5+
"url": {
6+
"path": "/_data_frame/transforms/{transform_id}/_stats",
7+
"paths": [ "/_data_frame/transforms/{transform_id}/_stats" ],
8+
"parts": {
9+
"transform_id": {
10+
"type": "string",
11+
"required": false,
12+
"description": "The id of the transform for which to get stats. '_all' or '*' implies all transforms"
13+
}
14+
}
15+
},
16+
"body": null
17+
}
18+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"data_frame.preview_data_frame_transform": {
3+
"documentation": "TODO",
4+
"methods": [ "POST" ],
5+
"url": {
6+
"path": "/_data_frame/transforms/_preview",
7+
"paths": [ "/_data_frame/transforms/_preview" ]
8+
},
9+
"body": {
10+
"description" : "The definition for the data_frame transform to preview",
11+
"required": true
12+
}
13+
}
14+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"data_frame.put_data_frame_transform": {
3+
"documentation": "TODO",
4+
"methods": [ "PUT" ],
5+
"url": {
6+
"path": "/_data_frame/transforms/{transform_id}",
7+
"paths": [ "/_data_frame/transforms/{transform_id}" ],
8+
"parts": {
9+
"transform_id": {
10+
"type": "string",
11+
"required": true,
12+
"description": "The id of the new transform."
13+
}
14+
}
15+
},
16+
"body": {
17+
"description" : "The data frame transform definition",
18+
"required": true
19+
}
20+
}
21+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"data_frame.start_data_frame_transform": {
3+
"documentation": "TODO",
4+
"methods": [ "POST" ],
5+
"url": {
6+
"path": "/_data_frame/transforms/{transform_id}/_start",
7+
"paths": [ "/_data_frame/transforms/{transform_id}/_start" ],
8+
"parts": {
9+
"transform_id": {
10+
"type": "string",
11+
"required": true,
12+
"description": "The id of the transform to start"
13+
}
14+
}
15+
},
16+
"body": null
17+
}
18+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
{
2+
"data_frame.stop_data_frame_transform": {
3+
"documentation": "TODO",
4+
"methods": [ "POST" ],
5+
"url": {
6+
"path": "/_data_frame/transforms/{transform_id}/_stop",
7+
"paths": [ "/_data_frame/transforms/{transform_id}/_stop" ],
8+
"parts": {
9+
"transform_id": {
10+
"type": "string",
11+
"required": true,
12+
"description": "The id of the transform to stop"
13+
}
14+
},
15+
"params": {
16+
"wait_for_completion": {
17+
"type": "boolean",
18+
"required": false,
19+
"description": "Whether to wait for the transform to fully stop before returning or not. Default to false"
20+
},
21+
"timeout": {
22+
"type": "time",
23+
"required": false,
24+
"description": "Controls the time to wait until the transform has stopped. Default to 30 seconds"
25+
}
26+
}
27+
},
28+
"body": null
29+
}
30+
}
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
setup:
2+
- do:
3+
indices.create:
4+
index: airline-data
5+
body:
6+
mappings:
7+
properties:
8+
time:
9+
type: date
10+
airline:
11+
type: keyword
12+
responsetime:
13+
type: float
14+
event_rate:
15+
type: integer
16+
- do:
17+
index:
18+
index: airline-data
19+
id: 1
20+
body: >
21+
{
22+
"time": "2017-02-18T00:00:00Z",
23+
"airline": "foo",
24+
"responsetime": 1.0,
25+
"event_rate": 5
26+
}
27+
28+
- do:
29+
index:
30+
index: airline-data
31+
id: 2
32+
body: >
33+
{
34+
"time": "2017-02-18T00:30:00Z",
35+
"airline": "foo",
36+
"responsetime": 1.0,
37+
"event_rate": 6
38+
}
39+
40+
- do:
41+
index:
42+
index: airline-data
43+
id: 3
44+
body: >
45+
{
46+
"time": "2017-02-18T01:00:00Z",
47+
"airline": "bar",
48+
"responsetime": 42.0,
49+
"event_rate": 8
50+
}
51+
52+
- do:
53+
index:
54+
index: airline-data
55+
id: 4
56+
body: >
57+
{
58+
"time": "2017-02-18T01:01:00Z",
59+
"airline": "foo",
60+
"responsetime": 42.0,
61+
"event_rate": 7
62+
}
63+
64+
- do:
65+
indices.refresh:
66+
index: airline-data
67+
68+
---
69+
"Test preview transform":
70+
- do:
71+
data_frame.preview_data_frame_transform:
72+
body: >
73+
{
74+
"source": "airline-data",
75+
"pivot": {
76+
"group_by": {
77+
"airline": {"terms": {"field": "airline"}},
78+
"by-hour": {"date_histogram": {"interval": "1h", "field": "time", "format": "yyyy-MM-DD HH"}}},
79+
"aggs": {"avg_response": {"avg": {"field": "responsetime"}}}
80+
}
81+
}
82+
- match: { preview.0.airline: foo }
83+
- match: { preview.0.by-hour: "2017-02-49 00" }
84+
- match: { preview.0.avg_response: 1.0 }
85+
- match: { preview.1.airline: bar }
86+
- match: { preview.1.by-hour: "2017-02-49 01" }
87+
- match: { preview.1.avg_response: 42.0 }
88+
- match: { preview.2.airline: foo }
89+
- match: { preview.2.by-hour: "2017-02-49 01" }
90+
- match: { preview.2.avg_response: 42.0 }
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
setup:
2+
- do:
3+
indices.create:
4+
index: airline-data
5+
body:
6+
mappings:
7+
properties:
8+
time:
9+
type: date
10+
airline:
11+
type: keyword
12+
responsetime:
13+
type: float
14+
event_rate:
15+
type: integer
16+
17+
---
18+
"Test get all transforms when there are none":
19+
- do:
20+
data_frame.get_data_frame_transform:
21+
transform_id: "*"
22+
- match: { count: 0 }
23+
- match: { transforms: [] }
24+
25+
---
26+
"Test delete transform when it does not exist":
27+
- do:
28+
catch: missing
29+
data_frame.delete_data_frame_transform:
30+
transform_id: "missing transform"
31+
32+
---
33+
"Test put transform with invalid source index":
34+
- do:
35+
catch: /Failed to validate data frame configuration/
36+
data_frame.put_data_frame_transform:
37+
transform_id: "missing-source-transform"
38+
body: >
39+
{
40+
"source": "missing-index",
41+
"dest": "missing-source-dest",
42+
"pivot": {
43+
"group_by": { "airline": {"terms": {"field": "airline"}}},
44+
"aggs": {"avg_response": {"avg": {"field": "responsetime"}}}
45+
}
46+
}
47+
---
48+
"Test basic transform crud":
49+
- do:
50+
data_frame.put_data_frame_transform:
51+
transform_id: "airline-transform"
52+
body: >
53+
{
54+
"source": "airline-data",
55+
"dest": "airline-data-by-airline",
56+
"pivot": {
57+
"group_by": { "airline": {"terms": {"field": "airline"}}},
58+
"aggs": {"avg_response": {"avg": {"field": "responsetime"}}}
59+
}
60+
}
61+
- match: { acknowledged: true }
62+
63+
- do:
64+
data_frame.put_data_frame_transform:
65+
transform_id: "airline-transform-dos"
66+
body: >
67+
{
68+
"source": "airline-data",
69+
"dest": "airline-data-by-airline-again",
70+
"pivot": {
71+
"group_by": { "airline": {"terms": {"field": "airline"}}},
72+
"aggs": {"avg_response": {"avg": {"field": "responsetime"}}}
73+
}
74+
}
75+
- match: { acknowledged: true }
76+
77+
- do:
78+
data_frame.get_data_frame_transform:
79+
transform_id: "airline-transform"
80+
- match: { count: 1 }
81+
- match: { transforms.0.id: "airline-transform" }
82+
- match: { transforms.0.source: "airline-data" }
83+
- match: { transforms.0.dest: "airline-data-by-airline" }
84+
- is_true: transforms.0.query.match_all
85+
- match: { transforms.0.pivot.group_by.airline.terms.field: "airline" }
86+
- match: { transforms.0.pivot.aggregations.avg_response.avg.field: "responsetime" }
87+
88+
- do:
89+
data_frame.get_data_frame_transform:
90+
transform_id: "*"
91+
- match: { count: 2 }
92+
93+
- do:
94+
data_frame.get_data_frame_transform:
95+
transform_id: "_all"
96+
- match: { count: 2 }
97+
98+
- do:
99+
data_frame.delete_data_frame_transform:
100+
transform_id: "airline-transform"
101+
- match: { acknowledged: true }
102+
103+
- do:
104+
data_frame.delete_data_frame_transform:
105+
transform_id: "airline-transform-dos"
106+
- match: { acknowledged: true }

0 commit comments

Comments
 (0)