From 81ad9aa3964eec60a1d431290fc23139aee2204d Mon Sep 17 00:00:00 2001 From: vempo Date: Tue, 9 Jan 2018 14:25:08 +0200 Subject: Add Togglz REST API Supporting REST API, and Javascript for Togglz Issue-ID: SDC-881 Change-Id: I026d3f190cb95c8943a85b26dfbcd13e856abe64 Signed-off-by: shrek2000 (cherry picked from commit 5a33f027cd2bc4253d5ebb7a71889ead65d095b2) Signed-off-by: vempo --- .../java/org/openecomp/TogglzFeatureRestTest.java | 59 ++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/togglz-rest/togglz-rest-services/src/test/java/org/openecomp/TogglzFeatureRestTest.java (limited to 'openecomp-be/api/openecomp-sdc-rest-webapp/togglz-rest/togglz-rest-services/src/test/java') diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/togglz-rest/togglz-rest-services/src/test/java/org/openecomp/TogglzFeatureRestTest.java b/openecomp-be/api/openecomp-sdc-rest-webapp/togglz-rest/togglz-rest-services/src/test/java/org/openecomp/TogglzFeatureRestTest.java new file mode 100644 index 0000000000..b8f3286823 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/togglz-rest/togglz-rest-services/src/test/java/org/openecomp/TogglzFeatureRestTest.java @@ -0,0 +1,59 @@ +package org.openecomp; + +import com.google.common.collect.Sets; +import org.junit.Test; +import org.openecomp.sdc.common.togglz.ToggleStatus; +import org.openecomp.sdc.common.togglz.ToggleableFeature; +import org.openecomp.sdcrests.togglz.rest.TogglzFeatures; +import org.openecomp.sdcrests.togglz.rest.mapping.MapToggleableFeatureToDto; +import org.openecomp.sdcrests.togglz.rest.services.TogglzFeaturesImpl; +import org.openecomp.sdcrests.togglz.types.FeatureDto; +import org.openecomp.sdcrests.togglz.types.FeatureSetDto; + +import javax.ws.rs.core.Response; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.Set; +import java.util.stream.Collectors; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +public class TogglzFeatureRestTest { + + @Test + public void shouldConvertDataProperly() { + ToggleStatus tf = mock(ToggleStatus.class); + final String TF_NAME = "tf"; + final boolean ACTIVE = true; + when(tf.name()).thenReturn(TF_NAME); + when(tf.isActive()).thenReturn(ACTIVE); + MapToggleableFeatureToDto mapToggleableFeatureToDto = new MapToggleableFeatureToDto(); + FeatureSetDto target = new FeatureSetDto(); + Collection source = Collections.singletonList(tf); + mapToggleableFeatureToDto.doMapping(source, target); + assertEquals(source.size(), target.getFeatures().size()); + FeatureDto result = target.getFeatures().iterator().next(); + assertEquals(TF_NAME, result.getName()); + assertEquals(ACTIVE, result.isActive()); + + } + + @Test + public void shouldGetCurrentTogglzValues() { + TogglzFeatures togglzFeature = new TogglzFeaturesImpl(); + Response response = togglzFeature.getFeatures(); + assertNotNull(response); + Object entity = response.getEntity(); + assertEquals(entity.getClass(), FeatureSetDto.class); + Set features = ((FeatureSetDto) entity).getFeatures(); + assertEquals(features.size(), ToggleableFeature.values().length); + Set names = Arrays.stream(ToggleableFeature.values()).map(Enum::name).collect(Collectors.toSet()); + Set dtoNames = features.stream().map(FeatureDto::getName).collect(Collectors.toSet()); + assertTrue(Sets.symmetricDifference(names, dtoNames).isEmpty()); + } +} \ No newline at end of file -- cgit 1.2.3-korg