2 * ============LICENSE_START=======================================================
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
11 * http://www.apache.org/licenses/LICENSE-2.0
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=========================================================
21 package org.openecomp.sdc.be.resources.data.togglz;
23 import org.junit.Test;
24 import org.togglz.core.repository.FeatureState;
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;
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";
40 public void createEventFromFeatureStateObject() {
41 final String param3 = "param3";
42 final String param3Value = "param3Value";
43 final String responseParams = "param3=param3Value,param1=param1Value,param2=param2Value";
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);
52 FeatureToggleEvent featureToggleEvent = new FeatureToggleEvent(featureState);
53 assertThat(featureToggleEvent.getEnabled(), is("true"));
54 assertThat(featureToggleEvent.getStrategyId(), is(strategyId));
55 assertThat(featureToggleEvent.getParameters(), is(responseParams));
59 public void createEventWhenStrategyIsNotSetAndStateIsFalse() {
60 FeatureState featureState = new FeatureState(ToggleableFeature.DEFAULT_FEATURE, false);
62 FeatureToggleEvent featureToggleEvent = new FeatureToggleEvent(featureState);
63 assertThat(featureToggleEvent.getEnabled(), is("false"));
64 assertThat(featureToggleEvent.getParameters(), isEmptyString());
65 assertThat(featureToggleEvent.getStrategyId(), isEmptyOrNullString());
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());
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));
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());