fadfe3686e1ca2545168bd6207c341e9049f151a
[sdc.git] /
1 package org.openecomp.sdc.versioning.impl;
2
3 import org.mockito.InjectMocks;
4 import org.mockito.Mock;
5 import org.mockito.MockitoAnnotations;
6 import org.openecomp.sdc.common.errors.CoreException;
7 import org.openecomp.sdc.itempermissions.PermissionsServices;
8 import org.openecomp.sdc.notification.services.SubscriptionService;
9 import org.openecomp.sdc.versioning.dao.ItemDao;
10 import org.openecomp.sdc.versioning.dao.types.VersionStatus;
11 import org.openecomp.sdc.versioning.types.Item;
12 import org.openecomp.sdc.versioning.types.ItemStatus;
13 import org.testng.annotations.AfterMethod;
14 import org.testng.annotations.BeforeMethod;
15 import org.testng.annotations.Test;
16
17 import static org.mockito.Mockito.verify;
18 import static org.testng.Assert.assertEquals;
19
20 public class ItemManagerImplTest {
21
22     private static final String USER = "user1";
23     private static final String ITEM_ID = "item1";
24     private static final String ITEM_NAME = "item 1 name";
25     private static final String ITEM_TYPE_A = "A";
26     private static final String ITEM_TYPE_B = "B";
27     private static final String tenant = "dox";
28     @Mock
29     private ItemDao itemDao;
30     @Mock
31     private PermissionsServices permissionsServices;
32     @Mock
33     private SubscriptionService subscriptionService;
34     @InjectMocks
35     private ItemManagerImpl itemManager;
36
37     @BeforeMethod
38     public void setUp() throws Exception {
39         MockitoAnnotations.initMocks(this);
40     }
41
42     @AfterMethod
43     public void tearDown(){
44         itemManager = null;
45     }
46
47     @Test
48     public void ArchiveTest(){
49
50         Item item  = createItem(ITEM_ID,ITEM_NAME,ITEM_TYPE_A);
51         itemManager.archive(item);
52
53         verify(itemDao).update(item);
54         assertEquals(item.getStatus(), ItemStatus.ARCHIVED);
55     }
56
57     @Test(expectedExceptions = CoreException.class,expectedExceptionsMessageRegExp =
58             "Archive item failed, item .* is already Archived")
59     public void ArchiveTestNegative(){
60
61         Item item  = createItem(ITEM_ID,ITEM_NAME,ITEM_TYPE_B);
62         item.setStatus(ItemStatus.ARCHIVED);
63         itemManager.archive(item);
64
65     }
66
67     @Test
68     public void RestoreTest(){
69
70         Item item  = createItem(ITEM_ID,ITEM_NAME,ITEM_TYPE_A);
71         item.setStatus(ItemStatus.ARCHIVED);
72         itemManager.restore(item);
73
74         verify(itemDao).update(item);
75         assertEquals(item.getStatus(), ItemStatus.ACTIVE);
76     }
77
78     @Test(expectedExceptions = CoreException.class,expectedExceptionsMessageRegExp =
79             "Restore item failed, item .* is already Active")
80     public void RestoreTestNegative(){
81
82         Item item  = createItem(ITEM_ID,ITEM_NAME,ITEM_TYPE_B);
83         item.setStatus(ItemStatus.ACTIVE);
84         itemManager.restore(item);
85
86     }
87
88
89     private Item createItem(String id, String name, String type) {
90         Item item = new Item();
91         item.setId(id);
92         item.setName(name);
93         item.setType(type);
94         return item;
95     }
96 }