77
88package org .elasticsearch .xpack .transform ;
99
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 ;
1014import org .elasticsearch .common .io .stream .Writeable ;
1115import org .elasticsearch .test .AbstractChunkedSerializingTestCase ;
1216import org .elasticsearch .xcontent .XContentParser ;
1317import org .elasticsearch .xpack .core .transform .TransformMetadata ;
1418
19+ import static org .hamcrest .Matchers .equalTo ;
20+
1521public class TransformMetadataTests extends AbstractChunkedSerializingTestCase <TransformMetadata > {
1622
1723 @ Override
@@ -35,4 +41,39 @@ protected TransformMetadata mutateInstance(TransformMetadata instance) {
3541 .upgradeMode (instance .upgradeMode () == false )
3642 .build ();
3743 }
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+ }
3879}
0 commit comments