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 static org.hamcrest.Matchers.is;
24 import static org.hamcrest.Matchers.isEmptyOrNullString;
25 import static org.hamcrest.Matchers.isEmptyString;
26 import static org.hamcrest.Matchers.nullValue;
27 import static org.junit.Assert.assertThat;
29 import org.junit.Test;
30 import org.openecomp.sdc.be.togglz.ToggleableFeature;
31 import org.togglz.core.repository.FeatureState;
33 public class FeatureToggleEventTest {
34 private final String strategyId = "123456";
35 private final String param1 = "param1";
36 private final String param1Value = "param1Value";
37 private final String param2 = "param2";
38 private final String param2Value = "param2Value";
41 public void createEventFromFeatureStateObject() {
42 final String param3 = "param3";
43 final String param3Value = "param3Value";
44 final String responseParams = "param3=param3Value,param1=param1Value,param2=param2Value";
47 FeatureState featureState = new FeatureState(ToggleableFeature.DEFAULT_FEATURE, true);
48 featureState.setStrategyId(strategyId)
49 .setParameter(param1, param1Value)
50 .setParameter(param2, param2Value)
51 .setParameter(param3, param3Value);
53 FeatureToggleEvent featureToggleEvent = new FeatureToggleEvent(featureState);
54 assertThat(featureToggleEvent.getEnabled(), is("true"));
55 assertThat(featureToggleEvent.getStrategyId(), is(strategyId));
56 assertThat(featureToggleEvent.getParameters(), is(responseParams));
60 public void createEventWhenStrategyIsNotSetAndStateIsFalse() {
61 FeatureState featureState = new FeatureState(ToggleableFeature.DEFAULT_FEATURE, false);
63 FeatureToggleEvent featureToggleEvent = new FeatureToggleEvent(featureState);
64 assertThat(featureToggleEvent.getEnabled(), is("false"));
65 assertThat(featureToggleEvent.getParameters(), isEmptyString());
66 assertThat(featureToggleEvent.getStrategyId(), isEmptyOrNullString());
70 public void getFeatureStateObjectFromEventWithNoParams() {
71 FeatureState featureState = new FeatureState(ToggleableFeature.DEFAULT_FEATURE, true);
72 FeatureToggleEvent featureToggleEvent = new FeatureToggleEvent(featureState);
73 FeatureState fromEvent = featureToggleEvent.getFeatureState();
74 assertThat(ToggleableFeature.DEFAULT_FEATURE, is(fromEvent.getFeature()));
75 assertThat(fromEvent.isEnabled(), is(true));
76 assertThat(fromEvent.getParameterMap().size(), is(0));
77 assertThat(fromEvent.getStrategyId(), nullValue());
81 public void getFeatureStateObjectFromEventWithParams() {
82 FeatureState featureState = new FeatureState(ToggleableFeature.DEFAULT_FEATURE, true);
83 featureState.setStrategyId(strategyId)
84 .setParameter(param1, param1Value)
85 .setParameter(param2, param2Value);
86 FeatureToggleEvent featureToggleEvent = new FeatureToggleEvent(featureState);
87 FeatureState fromEvent = featureToggleEvent.getFeatureState();
88 assertThat(fromEvent.getFeature(), is(ToggleableFeature.DEFAULT_FEATURE));
89 assertThat(fromEvent.isEnabled(), is(true));
90 assertThat(fromEvent.getStrategyId(), is(strategyId));
91 assertThat(fromEvent.getParameterMap().size(), is(2));
92 assertThat(fromEvent.getParameterMap().get(param1), is(param1Value));
93 assertThat(fromEvent.getParameterMap().get(param2), is(param2Value));
97 public void getFeatureStateObjectFromEventWhenStateIsWrong() {
98 FeatureState featureState = new FeatureState(ToggleableFeature.DEFAULT_FEATURE, true);
99 FeatureToggleEvent featureToggleEvent = new FeatureToggleEvent(featureState);
100 featureToggleEvent.setFeatureName("wrong");
101 assertThat(featureToggleEvent.getFeatureState(), nullValue());