1 package org.openecomp.sdc.be.datamodel;
3 import org.junit.Before;
4 import org.junit.BeforeClass;
6 import org.openecomp.sdc.be.components.impl.GroupTypeBusinessLogic;
7 import org.openecomp.sdc.be.components.impl.PolicyTypeBusinessLogic;
8 import org.openecomp.sdc.be.components.utils.GroupDefinitionBuilder;
9 import org.openecomp.sdc.be.components.utils.PolicyDefinitionBuilder;
10 import org.openecomp.sdc.be.components.utils.ResourceBuilder;
11 import org.openecomp.sdc.be.components.utils.ServiceBuilder;
12 import org.openecomp.sdc.be.datamodel.utils.UiComponentDataConverter;
13 import org.openecomp.sdc.be.model.GroupDefinition;
14 import org.openecomp.sdc.be.model.PolicyDefinition;
15 import org.openecomp.sdc.be.model.Resource;
16 import org.openecomp.sdc.be.model.Service;
17 import org.openecomp.sdc.be.ui.model.UiComponentDataTransfer;
19 import java.util.Arrays;
20 import java.util.Collections;
21 import java.util.List;
24 import static org.assertj.core.api.Assertions.assertThat;
25 import static org.hibernate.validator.internal.util.CollectionHelper.asSet;
26 import static org.mockito.Mockito.mock;
27 import static org.mockito.Mockito.when;
29 public class UiComponentDataConverterTest {
31 private PolicyDefinition policy1, policy2;
32 private GroupDefinition group1, group2;
33 private static GroupTypeBusinessLogic groupTypeBusinessLogic;
34 private static PolicyTypeBusinessLogic policyTypeBusinessLogic;
35 private static UiComponentDataConverter uiComponentDataConverter;
38 public static void initClass() {
39 groupTypeBusinessLogic = mock(GroupTypeBusinessLogic.class);
40 policyTypeBusinessLogic = mock(PolicyTypeBusinessLogic.class);
41 uiComponentDataConverter = new UiComponentDataConverter(groupTypeBusinessLogic, policyTypeBusinessLogic);
45 public void setUp() throws Exception {
46 policy1 = PolicyDefinitionBuilder.create()
52 policy2 = PolicyDefinitionBuilder.create()
57 group1 = GroupDefinitionBuilder.create()
58 .setUniqueId("group1")
62 group2 = GroupDefinitionBuilder.create()
63 .setUniqueId("group2")
70 public void getUiDataTransferFromResourceByParams_groups_allGroups() {
71 Resource resourceWithGroups = buildResourceWithGroups();
72 UiComponentDataTransfer componentDTO = uiComponentDataConverter.getUiDataTransferFromResourceByParams(resourceWithGroups, Collections.singletonList("groups"));
73 assertThat(componentDTO.getGroups()).isEqualTo(resourceWithGroups.getGroups());
77 public void getUiDataTransferFromResourceByParams_groups_excludedGroups() {
78 Resource resourceWithGroups = buildResourceWithGroups();
79 when(groupTypeBusinessLogic.getExcludedGroupTypes("VFC")).thenReturn(buildExcludedTypesList());
80 UiComponentDataTransfer componentDTO = uiComponentDataConverter.getUiDataTransferFromResourceByParams(resourceWithGroups, Collections.singletonList("nonExcludedGroups"));
81 List<GroupDefinition> groups = componentDTO.getGroups();
82 assertThat(groups.size()).isEqualTo(1);
83 assertThat(groups.get(0)).isEqualTo(group2);
87 public void getUiDataTransferFromResourceByParams_policies_noPoliciesForResource() {
88 UiComponentDataTransfer componentDTO = uiComponentDataConverter.getUiDataTransferFromResourceByParams(new Resource(), Collections.singletonList("policies"));
89 assertThat(componentDTO.getPolicies()).isEmpty();
93 public void getUiDataTransferFromServiceByParams_policies_noPoliciesForResource() {
94 UiComponentDataTransfer componentDTO = uiComponentDataConverter.getUiDataTransferFromServiceByParams(new Service(), Collections.singletonList("policies"));
95 assertThat(componentDTO.getPolicies()).isEmpty();
99 public void getUiDataTransferFromResourceByParams_policies() {
100 Resource resourceWithPolicies = buildResourceWithPolicies();
101 UiComponentDataTransfer componentDTO = uiComponentDataConverter.getUiDataTransferFromResourceByParams(resourceWithPolicies, Collections.singletonList("policies"));
102 assertThat(componentDTO.getPolicies()).isEqualTo(resourceWithPolicies.resolvePoliciesList());
106 public void getUiDataTransferFromServiceByParams_policies() {
107 Service resourceWithPolicies = buildServiceWithPolicies();
108 UiComponentDataTransfer componentDTO = uiComponentDataConverter.getUiDataTransferFromServiceByParams(resourceWithPolicies, Collections.singletonList("policies"));
109 assertThat(componentDTO.getPolicies()).isEqualTo(resourceWithPolicies.resolvePoliciesList());
113 public void getUiDataTransferFromResourceByParams_policies_excludedPolicies() {
114 Resource resourceWithPolicies = buildResourceWithPolicies();
115 when(policyTypeBusinessLogic.getExcludedPolicyTypes("VFC")).thenReturn(buildExcludedTypesList());
116 UiComponentDataTransfer componentDTO = uiComponentDataConverter.getUiDataTransferFromResourceByParams(resourceWithPolicies, Collections.singletonList("nonExcludedPolicies"));
117 List<PolicyDefinition> policies = componentDTO.getPolicies();
118 assertThat(policies.size()).isEqualTo(1);
119 assertThat(policies.get(0)).isEqualTo(policy2);
123 public void getResourceWithoutGroupsAndPolicies_returnsEmptyLists() {
124 Resource resource = new ResourceBuilder().build();
125 UiComponentDataTransfer componentDTO = uiComponentDataConverter.getUiDataTransferFromResourceByParams(resource, Arrays.asList("nonExcludedPolicies", "nonExcludedGroups"));
126 List<PolicyDefinition> policies = componentDTO.getPolicies();
127 assertThat(policies.size()).isZero();
128 List<GroupDefinition> groups = componentDTO.getGroups();
129 assertThat(groups.size()).isZero();
132 private Resource buildResourceWithGroups() {
133 return new ResourceBuilder()
139 private Resource buildResourceWithPolicies() {
140 return new ResourceBuilder()
146 private Service buildServiceWithPolicies() {
147 return new ServiceBuilder()
153 private Set<String> buildExcludedTypesList() {