1
1
package io .javaoperatorsdk .operator .api .reconciler .dependent .managed ;
2
2
3
- import io .javaoperatorsdk .operator .processing .dependent .workflow .WorkflowReconcileResult ;
4
- import org .junit .jupiter .api .Test ;
5
-
6
3
import java .util .List ;
7
4
import java .util .Map ;
8
5
import java .util .Optional ;
9
6
7
+ import org .junit .jupiter .api .Test ;
8
+
9
+ import io .javaoperatorsdk .operator .processing .dependent .workflow .WorkflowReconcileResult ;
10
+
10
11
import static io .javaoperatorsdk .operator .api .reconciler .dependent .managed .DefaultManagedDependentResourceContext .RECONCILE_RESULT_KEY ;
11
12
import static org .assertj .core .api .Assertions .assertThat ;
12
13
import static org .assertj .core .api .Assertions .assertThatThrownBy ;
13
14
14
15
class DefaultManagedDependentResourceContextTest {
15
16
16
- private ManagedDependentResourceContext context = new DefaultManagedDependentResourceContext ();
17
-
18
- @ Test
19
- void getWhenEmpty () {
20
- Optional <String > actual = context .get ("key" , String .class );
21
- assertThat (actual ).isEmpty ();
22
- }
23
-
24
- @ Test
25
- void get () {
26
- context .put ("key" , "value" );
27
- Optional <String > actual = context .get ("key" , String .class );
28
- assertThat (actual ).contains ("value" );
29
- }
30
-
31
- @ Test
32
- void putNewValueOverwrites () {
33
- context .put ("key" , "value" );
34
- context .put ("key" , "valueB" );
35
- Optional <String > actual = context .get ("key" , String .class );
36
- assertThat (actual ).contains ("valueB" );
37
- }
38
-
39
- @ Test
40
- void putNewValueReturnsPriorValue () {
41
- context .put ("key" , "value" );
42
- Optional <String > actual = (Optional <String >) (Object )context .put ("key" , "valueB" );
43
- assertThat (actual ).contains ("value" );
44
- }
45
-
46
- @ Test
47
- void putNullRemoves () {
48
- context .put ("key" , "value" );
49
- context .put ("key" , null );
50
- Optional <String > actual = context .get ("key" , String .class );
51
- assertThat (actual ).isEmpty ();
52
- }
53
-
54
- @ Test
55
- void putNullReturnsPriorValue () {
56
- context .put ("key" , "value" );
57
- Optional <String > actual = context .put ("key" , null );
58
- assertThat (actual ).contains ("value" );
59
- }
60
-
61
- @ Test
62
- void getMandatory () {
63
- context .put ("key" , "value" );
64
- String actual = context .getMandatory ("key" , String .class );
65
- assertThat (actual ).isEqualTo ("value" );
66
- }
67
-
68
- @ Test
69
- void getMandatoryWhenEmpty () {
70
- assertThatThrownBy (() -> {
71
- context .getMandatory ("key" , String .class );
72
- }).isInstanceOf (IllegalStateException .class )
73
- .hasMessage ("Mandatory attribute (key: key, type: java.lang.String) is missing or not of the expected type" );
74
- }
75
-
76
- @ Test
77
- void getWorkflowReconcileResult () {
78
- WorkflowReconcileResult result = new WorkflowReconcileResult (List .of (), List .of (), Map .of (), Map .of ());
79
- context .put (RECONCILE_RESULT_KEY , result );
80
- Optional <WorkflowReconcileResult > actual = context .getWorkflowReconcileResult ();
81
- assertThat (actual ).containsSame (result );
82
- }
83
-
84
- }
17
+ private ManagedDependentResourceContext context = new DefaultManagedDependentResourceContext ();
18
+
19
+ @ Test
20
+ void getWhenEmpty () {
21
+ Optional <String > actual = context .get ("key" , String .class );
22
+ assertThat (actual ).isEmpty ();
23
+ }
24
+
25
+ @ Test
26
+ void get () {
27
+ context .put ("key" , "value" );
28
+ Optional <String > actual = context .get ("key" , String .class );
29
+ assertThat (actual ).contains ("value" );
30
+ }
31
+
32
+ // a bit scary that it could mask a typing issue by returning empty
33
+ @ Test
34
+ void getTypeMismatch () {
35
+ context .put ("key" , 1L );
36
+ Optional <String > actual = context .get ("key" , String .class );
37
+ assertThat (actual ).isEmpty ();
38
+ }
39
+
40
+ @ Test
41
+ void putNewValueOverwrites () {
42
+ context .put ("key" , "value" );
43
+ context .put ("key" , "valueB" );
44
+ Optional <String > actual = context .get ("key" , String .class );
45
+ assertThat (actual ).contains ("valueB" );
46
+ }
47
+
48
+ @ Test
49
+ void putNewValueReturnsPriorValue () {
50
+ context .put ("key" , "value" );
51
+ Optional <String > actual = context .put ("key" , "valueB" );
52
+ assertThat (actual ).contains ("value" );
53
+ }
54
+
55
+ @ Test
56
+ void putNullRemoves () {
57
+ context .put ("key" , "value" );
58
+ context .put ("key" , null );
59
+ Optional <String > actual = context .get ("key" , String .class );
60
+ assertThat (actual ).isEmpty ();
61
+ }
62
+
63
+ @ Test
64
+ void putNullReturnsPriorValue () {
65
+ context .put ("key" , "value" );
66
+ Optional <String > actual = context .put ("key" , null );
67
+ assertThat (actual ).contains ("value" );
68
+ }
69
+
70
+ @ Test
71
+ void getMandatory () {
72
+ context .put ("key" , "value" );
73
+ String actual = context .getMandatory ("key" , String .class );
74
+ assertThat (actual ).isEqualTo ("value" );
75
+ }
76
+
77
+ @ Test
78
+ void getMandatoryWhenEmpty () {
79
+ assertThatThrownBy (() -> {
80
+ context .getMandatory ("key" , String .class );
81
+ }).isInstanceOf (IllegalStateException .class )
82
+ .hasMessage (
83
+ "Mandatory attribute (key: key, type: java.lang.String) is missing or not of the expected type" );
84
+ }
85
+
86
+ @ Test
87
+ void getWorkflowReconcileResult () {
88
+ WorkflowReconcileResult result =
89
+ new WorkflowReconcileResult (List .of (), List .of (), Map .of (), Map .of ());
90
+ context .put (RECONCILE_RESULT_KEY , result );
91
+ Optional <WorkflowReconcileResult > actual = context .getWorkflowReconcileResult ();
92
+ assertThat (actual ).containsSame (result );
93
+ }
94
+
95
+ }
0 commit comments