2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Modifications Copyright (c) 2019 Samsung
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.openecomp.sdc.be.model.operations.utils;
23 import static org.junit.Assert.assertFalse;
24 import static org.junit.Assert.assertTrue;
25 import static org.mockito.ArgumentMatchers.eq;
26 import static org.mockito.Mockito.when;
28 import org.junit.Before;
29 import org.junit.Test;
30 import org.junit.runner.RunWith;
31 import org.mockito.Mock;
32 import org.mockito.junit.MockitoJUnitRunner;
33 import org.openecomp.sdc.be.dao.jsongraph.types.JsonParseFlagEnum;
34 import org.openecomp.sdc.be.model.Component;
35 import org.openecomp.sdc.be.model.LifecycleStateEnum;
36 import org.openecomp.sdc.be.model.Resource;
37 import org.openecomp.sdc.be.model.jsonjanusgraph.operations.ToscaOperationFacade;
39 import fj.data.Either;
41 @RunWith(MockitoJUnitRunner.class)
42 public class ComponentValidationUtilsTest {
44 private static final String USER_ID = "jh003";
45 private static final String BAD_USER_ID = "badID";
46 private static final String COMPONENT_ID = "componentID";
48 private Resource resource;
51 ToscaOperationFacade toscaOperationFacade;
57 resource = new Resource();
58 resource.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT);
59 resource.setLastUpdaterUserId("jh003");
60 resource.setIsDeleted(false);
64 public void testCanWorkOnResource() {
65 assertTrue(ComponentValidationUtils.canWorkOnResource(resource, USER_ID));
69 public void testCanWorkOnBadResourceAndBadUser() {
70 assertFalse(ComponentValidationUtils.canWorkOnResource(resource, BAD_USER_ID));
72 resource.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKIN);
73 assertFalse(ComponentValidationUtils.canWorkOnResource(resource, USER_ID));
75 resource.setIsDeleted(true);
76 assertFalse(ComponentValidationUtils.canWorkOnResource(resource, USER_ID));
80 public void testCanWorkOnComponent() {
82 when(component.getLifecycleState()).thenReturn(resource.getLifecycleState());
83 when(component.getLastUpdaterUserId()).thenReturn(resource.getLastUpdaterUserId());
85 when(toscaOperationFacade.getToscaElement(eq(COMPONENT_ID),
86 eq(JsonParseFlagEnum.ParseMetadata))).thenReturn(Either.left(component));
89 boolean resultFromExtractComponent = ComponentValidationUtils
90 .canWorkOnComponent(COMPONENT_ID, toscaOperationFacade, USER_ID);
91 boolean resultFromComponent =
92 ComponentValidationUtils.canWorkOnComponent(component, USER_ID);
95 assertTrue(resultFromExtractComponent);
96 assertTrue(resultFromComponent);
100 public void testCanWorkOnBadComponent() {
102 when(component.getLifecycleState())
103 .thenReturn(LifecycleStateEnum.NOT_CERTIFIED_CHECKIN);
104 when(component.getLastUpdaterUserId()).thenReturn(resource.getLastUpdaterUserId());
106 when(toscaOperationFacade.getToscaElement(eq(COMPONENT_ID),
107 eq(JsonParseFlagEnum.ParseMetadata))).thenReturn(Either.left(component));
110 boolean resultFromExtractComponent = ComponentValidationUtils
111 .canWorkOnComponent(COMPONENT_ID, toscaOperationFacade, USER_ID);
112 boolean resultFromComponent =
113 ComponentValidationUtils.canWorkOnComponent(component, USER_ID);
116 assertFalse(resultFromExtractComponent);
117 assertFalse(resultFromComponent);
121 public void testCanWorkOnComponentWithBadUser() {
123 when(component.getLifecycleState()).thenReturn(resource.getLifecycleState());
124 when(component.getLastUpdaterUserId()).thenReturn(resource.getLastUpdaterUserId());
126 when(toscaOperationFacade.getToscaElement(eq(COMPONENT_ID),
127 eq(JsonParseFlagEnum.ParseMetadata))).thenReturn(Either.left(component));
130 boolean resultFromExtractComponent = ComponentValidationUtils
131 .canWorkOnComponent(COMPONENT_ID, toscaOperationFacade, BAD_USER_ID);
132 boolean resultFromComponent =
133 ComponentValidationUtils.canWorkOnComponent(component, BAD_USER_ID);
134 boolean resultFromComponentWithNullUser =
135 ComponentValidationUtils.canWorkOnComponent(component, null);
138 assertFalse(resultFromExtractComponent);
139 assertFalse(resultFromComponent);
140 assertFalse(resultFromComponentWithNullUser);