1 package org.onap.sdc.dcae.services;
3 import static org.assertj.core.api.Assertions.assertThat;
5 import java.util.ArrayList;
6 import java.util.Arrays;
7 import java.util.LinkedHashMap;
10 import java.util.stream.Collectors;
12 import org.onap.sdc.dcae.composition.restmodels.DcaeMinimizedService;
13 import org.onap.sdc.dcae.composition.controller.ServicesController;
14 import org.onap.sdc.dcae.composition.util.DcaeBeConstants;
15 import org.onap.sdc.dcae.composition.util.DcaeBeConstants.LifecycleStateEnum;
16 import org.testng.annotations.Test;
18 public class GetServicesTest {
22 public void parseAndFliterServicesByUser_nullServices_TBD() {
23 // fail("TODO Auto-generated method stub");
28 public void parseAndFliterServicesByUser_emptyList_emptyList() {
30 ServicesController target = new ServicesController();
31 String user_id = "test";
32 String lastUpdaterUserId = "test";
33 List<LinkedHashMap<String, String>> services = new ArrayList<LinkedHashMap<String, String>>();
35 List<DcaeMinimizedService> result = target.parseAndFilterServicesByUser(lastUpdaterUserId, services, user_id);
37 assertThat(result).isEqualTo(new ArrayList<DcaeMinimizedService>());
42 public void parseAndFliterServicesByUser_singleServicesAsMap_singleServiceParsed() {
44 String user_id = "test";
45 String lastUpdaterUserId = user_id;
47 String invariantUUID = "1";
48 String lifecycleState = LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.name();
49 String version = "0.1";
50 String serviceName = "TestService";
52 ServicesController target = new ServicesController();
53 LinkedHashMap<String, String> service = createServiceAsMap(lastUpdaterUserId, uuid, invariantUUID,
54 lifecycleState, version, serviceName);
55 List<LinkedHashMap<String, String>> services = new ArrayList<LinkedHashMap<String, String>>(
56 Arrays.asList(service));
58 DcaeMinimizedService expected = new DcaeMinimizedService(uuid, serviceName, lastUpdaterUserId, lifecycleState,
59 version, invariantUUID);
61 List<DcaeMinimizedService> result = target.parseAndFilterServicesByUser(lastUpdaterUserId, services, user_id);
63 assertThat(result).usingRecursiveFieldByFieldElementComparator().contains(expected);
68 public void parseAndFliterServicesByUser_unsortedServices_sortedServices() {
70 String user_id = "test";
71 String lastUpdaterUserId = user_id;
73 String lifecycleState = LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.name();
74 String version = "0.1";
76 List<LinkedHashMap<String, String>> unsortedServices = Arrays.asList("d", "a", "c", "b").stream()
77 .map(x -> createServiceAsMap(lastUpdaterUserId, uuid, UUID.randomUUID().toString(), lifecycleState, version, x))
78 .collect(Collectors.toList());
80 ServicesController target = new ServicesController();
83 List<DcaeMinimizedService> result = target.parseAndFilterServicesByUser(lastUpdaterUserId, unsortedServices,
86 assertThat(result).extracting("name").containsExactly("a","b","c","d");
91 public void parseAndFliterServicesByUser_allOptionsForLastUpdaterAndIsCheckout_allOptionsButIsCheckoutAndNotLastUpdater() {
92 // ------------user == last_updater
93 // -----------------True----False--
94 // isCheckout----------------------
95 // --------True------V--------X----
96 // --------False-----V--------V----
97 // --------------------------------
98 // fail("TODO Auto-generated method stub");
103 public void parseAndFliterServicesByUser_singleServiceWithMultiVersions_singleServiceWithLatestVersion() {
105 String user_id = "test";
106 String lastUpdaterUserId = user_id;
108 String invariantUUID = "1";
109 String lifecycleState = LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.name();
110 String serviceName = "TestService";
112 List<LinkedHashMap<String, String>> singleServiceWithMultiVersions = Arrays.asList("1.0", "0.3", "11.0", "2.0", "1.8").stream()
113 .map(x -> createServiceAsMap(lastUpdaterUserId, uuid, invariantUUID, lifecycleState, x, serviceName))
114 .collect(Collectors.toList());
116 ServicesController target = new ServicesController();
119 List<DcaeMinimizedService> result = target.parseAndFilterServicesByUser(lastUpdaterUserId, singleServiceWithMultiVersions, user_id);
122 assertThat(result).extracting("version").containsExactly("11.0");
126 private static LinkedHashMap<String, String> createServiceAsMap(String lastUpdaterUserId, String uuid,
127 String invariantUUID, String lifecycleState, String version, String serviceName) {
129 LinkedHashMap<String, String> service = new LinkedHashMap<String, String>() {
131 put("invariantUUID", invariantUUID);
133 put("name", serviceName);
134 put("lastUpdaterUserId", lastUpdaterUserId);
135 put("lifecycleState", lifecycleState);
136 put("version", version);