7
7
8
8
package org .elasticsearch .xpack .transform ;
9
9
10
+ import org .elasticsearch .cluster .ClusterName ;
11
+ import org .elasticsearch .cluster .ClusterState ;
12
+ import org .elasticsearch .cluster .metadata .Metadata ;
13
+ import org .elasticsearch .cluster .metadata .ProjectMetadata ;
10
14
import org .elasticsearch .common .io .stream .Writeable ;
11
15
import org .elasticsearch .test .AbstractChunkedSerializingTestCase ;
12
16
import org .elasticsearch .xcontent .XContentParser ;
13
17
import org .elasticsearch .xpack .core .transform .TransformMetadata ;
14
18
19
+ import static org .hamcrest .Matchers .equalTo ;
20
+
15
21
public class TransformMetadataTests extends AbstractChunkedSerializingTestCase <TransformMetadata > {
16
22
17
23
@ Override
@@ -35,4 +41,39 @@ protected TransformMetadata mutateInstance(TransformMetadata instance) {
35
41
.upgradeMode (instance .upgradeMode () == false )
36
42
.build ();
37
43
}
44
+
45
+ public void testTransformMetadataFromClusterState () {
46
+ var expectedTransformMetadata = new TransformMetadata .Builder ().resetMode (true ).upgradeMode (true ).build ();
47
+ var projectId = randomUniqueProjectId ();
48
+ var clusterState = ClusterState .builder (new ClusterName ("_name" ))
49
+ .metadata (
50
+ Metadata .builder ().put (ProjectMetadata .builder (projectId ).putCustom (TransformMetadata .TYPE , expectedTransformMetadata ))
51
+ )
52
+ .build ();
53
+
54
+ assertThat (TransformMetadata .transformMetadata (clusterState , projectId ), equalTo (expectedTransformMetadata ));
55
+ assertThat (TransformMetadata .getTransformMetadata (clusterState ), equalTo (expectedTransformMetadata ));
56
+ }
57
+
58
+ public void testTransformMetadataFromMissingClusterState () {
59
+ assertThat (TransformMetadata .transformMetadata (null , randomUniqueProjectId ()), equalTo (TransformMetadata .EMPTY_METADATA ));
60
+ assertThat (TransformMetadata .getTransformMetadata (null ), equalTo (TransformMetadata .EMPTY_METADATA ));
61
+ }
62
+
63
+ public void testTransformMetadataFromMissingProjectId () {
64
+ assertThat (
65
+ TransformMetadata .transformMetadata (ClusterState .builder (new ClusterName ("_name" )).build (), null ),
66
+ equalTo (TransformMetadata .EMPTY_METADATA )
67
+ );
68
+ }
69
+
70
+ public void testTransformMetadataWhenAbsentFromClusterState () {
71
+ var projectId = randomUniqueProjectId ();
72
+ var clusterState = ClusterState .builder (new ClusterName ("_name" ))
73
+ .metadata (Metadata .builder ().put (ProjectMetadata .builder (projectId )))
74
+ .build ();
75
+
76
+ assertThat (TransformMetadata .transformMetadata (clusterState , projectId ), equalTo (TransformMetadata .EMPTY_METADATA ));
77
+ assertThat (TransformMetadata .getTransformMetadata (clusterState ), equalTo (TransformMetadata .EMPTY_METADATA ));
78
+ }
38
79
}
0 commit comments