Catalog alignment
[sdc.git] / catalog-dao / src / test / java / org / openecomp / sdc / be / resources / data / togglz / FeatureToggleEventTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.openecomp.sdc.be.resources.data.togglz;
22
23 import org.junit.Test;
24 import org.togglz.core.repository.FeatureState;
25
26 import static org.hamcrest.Matchers.is;
27 import static org.hamcrest.Matchers.isEmptyOrNullString;
28 import static org.hamcrest.Matchers.isEmptyString;
29 import static org.hamcrest.Matchers.nullValue;
30 import static org.junit.Assert.assertThat;
31
32 public class FeatureToggleEventTest {
33     private final String strategyId = "123456";
34     private final String param1 = "param1";
35     private final String param1Value = "param1Value";
36     private final String param2 = "param2";
37     private final String param2Value = "param2Value";
38
39     @Test
40     public void createEventFromFeatureStateObject() {
41         final String param3 = "param3";
42         final String param3Value = "param3Value";
43         final String responseParams = "param3=param3Value,param1=param1Value,param2=param2Value";
44
45
46         FeatureState featureState = new FeatureState(ToggleableFeature.DEFAULT_FEATURE, true);
47         featureState.setStrategyId(strategyId)
48                 .setParameter(param1, param1Value)
49                 .setParameter(param2, param2Value)
50                 .setParameter(param3, param3Value);
51
52         FeatureToggleEvent featureToggleEvent = new FeatureToggleEvent(featureState);
53         assertThat(featureToggleEvent.getEnabled(), is("true"));
54         assertThat(featureToggleEvent.getStrategyId(), is(strategyId));
55         assertThat(featureToggleEvent.getParameters(), is(responseParams));
56     }
57
58     @Test
59     public void createEventWhenStrategyIsNotSetAndStateIsFalse() {
60         FeatureState featureState = new FeatureState(ToggleableFeature.DEFAULT_FEATURE, false);
61
62         FeatureToggleEvent featureToggleEvent = new FeatureToggleEvent(featureState);
63         assertThat(featureToggleEvent.getEnabled(), is("false"));
64         assertThat(featureToggleEvent.getParameters(), isEmptyString());
65         assertThat(featureToggleEvent.getStrategyId(), isEmptyOrNullString());
66     }
67
68     @Test
69     public void getFeatureStateObjectFromEventWithNoParams() {
70         FeatureState featureState = new FeatureState(ToggleableFeature.DEFAULT_FEATURE, true);
71         FeatureToggleEvent featureToggleEvent = new FeatureToggleEvent(featureState);
72         FeatureState fromEvent = featureToggleEvent.getFeatureState();
73         assertThat(ToggleableFeature.DEFAULT_FEATURE, is(fromEvent.getFeature()));
74         assertThat(fromEvent.isEnabled(), is(true));
75         assertThat(fromEvent.getParameterMap().size(), is(0));
76         assertThat(fromEvent.getStrategyId(), nullValue());
77     }
78
79     @Test
80     public void getFeatureStateObjectFromEventWithParams() {
81         FeatureState featureState = new FeatureState(ToggleableFeature.DEFAULT_FEATURE, true);
82         featureState.setStrategyId(strategyId)
83                 .setParameter(param1, param1Value)
84                 .setParameter(param2, param2Value);
85         FeatureToggleEvent featureToggleEvent = new FeatureToggleEvent(featureState);
86         FeatureState fromEvent = featureToggleEvent.getFeatureState();
87         assertThat(fromEvent.getFeature(), is(ToggleableFeature.DEFAULT_FEATURE));
88         assertThat(fromEvent.isEnabled(), is(true));
89         assertThat(fromEvent.getStrategyId(), is(strategyId));
90         assertThat(fromEvent.getParameterMap().size(), is(2));
91         assertThat(fromEvent.getParameterMap().get(param1), is(param1Value));
92         assertThat(fromEvent.getParameterMap().get(param2), is(param2Value));
93     }
94
95     @Test
96     public void getFeatureStateObjectFromEventWhenStateIsWrong() {
97         FeatureState featureState = new FeatureState(ToggleableFeature.DEFAULT_FEATURE, true);
98         FeatureToggleEvent featureToggleEvent = new FeatureToggleEvent(featureState);
99         featureToggleEvent.setFeatureName("wrong");
100         assertThat(featureToggleEvent.getFeatureState(), nullValue());
101     }
102
103 }