2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2019 Nokia. All rights reserved.
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=========================================================
20 package org.openecomp.sdcrests.item.rest.services;
22 import static org.junit.Assert.assertEquals;
23 import static org.openecomp.sdcrests.item.types.ItemAction.ARCHIVE;
24 import static org.openecomp.sdcrests.item.types.ItemAction.RESTORE;
26 import java.util.ArrayList;
27 import java.util.List;
28 import javax.ws.rs.core.Response;
29 import org.junit.Test;
30 import org.junit.runner.RunWith;
31 import org.mockito.Mock;
32 import org.mockito.Mockito;
33 import org.mockito.junit.MockitoJUnitRunner;
34 import org.openecomp.sdc.activitylog.ActivityLogManager;
35 import org.openecomp.sdc.versioning.ItemManager;
36 import org.openecomp.sdc.versioning.VersioningManager;
37 import org.openecomp.sdc.versioning.dao.types.Version;
38 import org.openecomp.sdc.versioning.types.Item;
39 import org.openecomp.sdcrests.item.types.ItemActionRequestDto;
41 @RunWith(MockitoJUnitRunner.class)
42 public class ItemsImplTest {
44 private static final String ITEM_ID = "ITEM_ID";
45 private static final String USER = "USER";
48 private ManagersProvider managersProvider;
50 private ItemManager itemManager;
52 private ItemActionRequestDto request;
56 private VersioningManager versioningManager;
58 private ActivityLogManager activityManager;
61 public void shouldInitActionSideAffectsMap() {
62 ItemsImpl items = new ItemsImpl();
63 items.initActionSideAffectsMap();
64 assertEquals(items.getActionSideAffectsMap().size(),2);
68 public void shouldActOnEmptyItem() {
69 ItemsImpl items = new ItemsImpl();
70 items.initActionSideAffectsMap();
71 items.setManagersProvider(managersProvider);
72 Mockito.when(managersProvider.getItemManager()).thenReturn(itemManager);
73 Mockito.when(itemManager.get(Mockito.any())).thenReturn(null);
74 Response response = items.actOn(request, ITEM_ID, USER);
75 assertEquals(response.getStatus(), Response.Status.NOT_FOUND.getStatusCode());
79 public void shouldActOnARCHIVE() {
80 ItemsImpl items = new ItemsImpl();
81 items.initActionSideAffectsMap();
82 items.setManagersProvider(managersProvider);
83 Mockito.when(itemManager.get(Mockito.any())).thenReturn(item);
84 Mockito.when(request.getAction()).thenReturn(ARCHIVE);
85 Mockito.when(managersProvider.getItemManager()).thenReturn(itemManager);
86 Mockito.when(managersProvider.getVersioningManager()).thenReturn(versioningManager);
87 Mockito.when(versioningManager.list(Mockito.any())).thenReturn(getVersions());
88 Mockito.when(managersProvider.getActivityLogManager()).thenReturn(activityManager);
89 items.actOn(request, ITEM_ID, USER);
90 Mockito.verify(itemManager).archive(Mockito.any());
94 public void shouldActOnRESTORE() {
95 ItemsImpl items = new ItemsImpl();
96 items.initActionSideAffectsMap();
97 items.setManagersProvider(managersProvider);
98 Mockito.when(itemManager.get(Mockito.any())).thenReturn(item);
99 Mockito.when(request.getAction()).thenReturn(RESTORE);
100 Mockito.when(managersProvider.getItemManager()).thenReturn(itemManager);
101 Mockito.when(managersProvider.getVersioningManager()).thenReturn(versioningManager);
102 Mockito.when(versioningManager.list(Mockito.any())).thenReturn(getVersions());
103 Mockito.when(managersProvider.getActivityLogManager()).thenReturn(activityManager);
104 items.actOn(request, ITEM_ID, USER);
105 Mockito.verify(itemManager).restore(Mockito.any());
109 public void shouldGetItem() {
110 ItemsImpl items = new ItemsImpl();
111 items.initActionSideAffectsMap();
112 items.setManagersProvider(managersProvider);
113 Mockito.when(managersProvider.getItemManager()).thenReturn(itemManager);
114 Response response = items.getItem(ITEM_ID, USER);
115 assertEquals(response.getStatus(), Response.Status.OK.getStatusCode());
119 public void shouldList() {
120 ItemsImpl items = new ItemsImpl();
121 items.initActionSideAffectsMap();
122 items.setManagersProvider(managersProvider);
123 Mockito.when(managersProvider.getItemManager()).thenReturn(itemManager);
124 Response response = items.list(null, null, null, null, null, USER);
125 assertEquals(response.getStatus(), Response.Status.OK.getStatusCode());
128 private List<Version> getVersions() {
129 List<Version> versions = new ArrayList<>();
130 versions.add(new Version("1"));
131 versions.add(new Version("2"));
132 versions.add(new Version("3"));