f6f4e75d47d6d29292755e1732b84cd7b2d438de
[sdc.git] /
1 package org.openecomp;
2
3 import com.google.common.collect.Sets;
4 import org.junit.Test;
5 import org.openecomp.sdc.common.togglz.ToggleableFeature;
6 import org.openecomp.sdcrests.togglz.rest.TogglzFeatures;
7 import org.openecomp.sdcrests.togglz.rest.mapping.MapToggleableFeatureToDto;
8 import org.openecomp.sdcrests.togglz.rest.services.TogglzFeaturesImpl;
9 import org.openecomp.sdcrests.togglz.types.FeatureDto;
10 import org.openecomp.sdcrests.togglz.types.FeatureSetDto;
11
12 import javax.ws.rs.core.Response;
13 import java.util.Arrays;
14 import java.util.Collection;
15 import java.util.Collections;
16 import java.util.Set;
17 import java.util.stream.Collectors;
18
19 import static org.junit.Assert.*;
20 import static org.mockito.Mockito.mock;
21 import static org.mockito.Mockito.when;
22
23 public class TogglzFeatureRestTest {
24
25     @Test
26     public void shouldConvertDataProperly() {
27         ToggleableFeature tf = mock(ToggleableFeature.class);
28         final String TF_NAME = "tf";
29         final boolean ACTIVE = true;
30         when(tf.name()).thenReturn(TF_NAME);
31         when(tf.isActive()).thenReturn(ACTIVE);
32         MapToggleableFeatureToDto mapToggleableFeatureToDto = new MapToggleableFeatureToDto();
33         FeatureSetDto target = new FeatureSetDto();
34         Collection<ToggleableFeature> source = Collections.singletonList(tf);
35         mapToggleableFeatureToDto.doMapping(source, target);
36         assertEquals(source.size(), target.getFeatures().size());
37         FeatureDto result = target.getFeatures().iterator().next();
38         assertEquals(TF_NAME, result.getName());
39         assertEquals(ACTIVE, result.isActive());
40
41     }
42
43     @Test
44     public void shouldGetCurrentTogglzValues() {
45         TogglzFeatures togglzFeature = new TogglzFeaturesImpl();
46         Response response = togglzFeature.getFeatures();
47         assertNotNull(response);
48         Object entity = response.getEntity();
49         assertEquals(entity.getClass(), FeatureSetDto.class);
50         Set<FeatureDto> features = ((FeatureSetDto) entity).getFeatures();
51         assertEquals(features.size(), ToggleableFeature.values().length);
52         Set<String> names = Arrays.stream(ToggleableFeature.values()).map(Enum::name).collect(Collectors.toSet());
53         Set<String> dtoNames = features.stream().map(FeatureDto::getName).collect(Collectors.toSet());
54         assertTrue(Sets.symmetricDifference(names, dtoNames).isEmpty());
55     }
56 }