1 package org.openecomp.sdc.be.components.impl;
3 import com.google.common.collect.ImmutableMap;
4 import org.junit.Before;
5 import org.junit.BeforeClass;
7 import org.junit.runner.RunWith;
8 import org.mockito.InjectMocks;
9 import org.mockito.Mock;
10 import org.mockito.junit.MockitoJUnitRunner;
11 import org.openecomp.sdc.be.DummyConfigurationManager;
12 import org.openecomp.sdc.be.components.impl.exceptions.ComponentException;
13 import org.openecomp.sdc.be.components.utils.PolicyTypeBuilder;
14 import org.openecomp.sdc.be.components.validation.UserValidations;
15 import org.openecomp.sdc.be.config.ConfigurationManager;
16 import org.openecomp.sdc.be.dao.jsongraph.TitanDao;
17 import org.openecomp.sdc.be.impl.ComponentsUtils;
18 import org.openecomp.sdc.be.model.PolicyTypeDefinition;
19 import org.openecomp.sdc.be.model.User;
20 import org.openecomp.sdc.be.model.operations.StorageException;
21 import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
22 import org.openecomp.sdc.be.model.operations.impl.PolicyTypeOperation;
23 import org.openecomp.sdc.exception.ResponseFormat;
25 import java.util.Arrays;
26 import java.util.List;
29 import static com.google.common.collect.Sets.newHashSet;
30 import static java.util.Collections.emptyList;
31 import static org.assertj.core.api.Assertions.assertThat;
32 import static org.mockito.ArgumentMatchers.*;
33 import static org.mockito.Mockito.when;
35 @RunWith(MockitoJUnitRunner.class)
36 public class PolicyTypeBusinessLogicTest {
38 private static final String USER_ID = "userId";
39 private static final Set<String> EXCLUDED_POLICY_TYPES = newHashSet("type1", "type2");
40 private static final String COMPONENT_TYPE = "VF";
43 private PolicyTypeBusinessLogic testInstance;
45 private TitanDao titanDao;
47 private PolicyTypeOperation policyTypeOperation;
49 private ComponentsUtils componentsUtils;
51 private UserValidations userValidations;
54 public void setUp() throws Exception {
55 when(userValidations.validateUserExists(eq(USER_ID), anyString(), eq(true))).thenReturn(new User());
56 when(ConfigurationManager.getConfigurationManager().getConfiguration().getExcludedPolicyTypesMapping()).thenReturn(ImmutableMap.of(COMPONENT_TYPE, EXCLUDED_POLICY_TYPES));
60 public static void beforeClass() {
61 new DummyConfigurationManager();
65 public void getAllPolicyTypes_userNotExist() {
66 ResponseFormat userNotExistResponse = new ResponseFormat();
67 when(userValidations.validateUserExists(eq(USER_ID), anyString(), eq(true))).thenThrow(new ComponentException(userNotExistResponse));
69 testInstance.getAllPolicyTypes(USER_ID, COMPONENT_TYPE);
70 }catch(ComponentException e){
71 assertThat(e.getResponseFormat()).isSameAs(userNotExistResponse);
76 public void getAllPolicyTypes_whenExcludePolicyTypesSetIsNull_passNullExcludedTypesSet() {
77 when(ConfigurationManager.getConfigurationManager().getConfiguration().getExcludedPolicyTypesMapping()).thenCallRealMethod();
78 when(policyTypeOperation.getAllPolicyTypes(anySet())).thenReturn(emptyList());
79 List<PolicyTypeDefinition> allPolicyTypes = testInstance.getAllPolicyTypes(USER_ID, COMPONENT_TYPE);
80 assertThat(allPolicyTypes).isEmpty();
84 public void getAllPolicyTypes() {
85 List<PolicyTypeDefinition> policyTypes = Arrays.asList(new PolicyTypeBuilder().setUniqueId("id1").build(),
86 new PolicyTypeBuilder().setUniqueId("id2").build(),
87 new PolicyTypeBuilder().setUniqueId("id3").build());
88 when(policyTypeOperation.getAllPolicyTypes(EXCLUDED_POLICY_TYPES)).thenReturn(policyTypes);
89 List<PolicyTypeDefinition> allPolicyTypes = testInstance.getAllPolicyTypes(USER_ID, COMPONENT_TYPE);
90 assertThat(allPolicyTypes).isSameAs(policyTypes);
94 public void getAllPolicyTypes_noPolicyTypes() {
95 when(policyTypeOperation.getAllPolicyTypes(EXCLUDED_POLICY_TYPES)).thenThrow(new StorageException(StorageOperationStatus.NOT_FOUND));
97 testInstance.getAllPolicyTypes(USER_ID, COMPONENT_TYPE);
98 }catch(StorageException e){
99 assertThat(e.getStorageOperationStatus()).isSameAs(StorageOperationStatus.NOT_FOUND);