aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/test/java/org/openecomp/sdc/versioning/impl/ItemManagerImplTest.java
blob: fadfe3686e1ca2545168bd6207c341e9049f151a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
package org.openecomp.sdc.versioning.impl;

import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.openecomp.sdc.common.errors.CoreException;
import org.openecomp.sdc.itempermissions.PermissionsServices;
import org.openecomp.sdc.notification.services.SubscriptionService;
import org.openecomp.sdc.versioning.dao.ItemDao;
import org.openecomp.sdc.versioning.dao.types.VersionStatus;
import org.openecomp.sdc.versioning.types.Item;
import org.openecomp.sdc.versioning.types.ItemStatus;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

import static org.mockito.Mockito.verify;
import static org.testng.Assert.assertEquals;

public class ItemManagerImplTest {

    private static final String USER = "user1";
    private static final String ITEM_ID = "item1";
    private static final String ITEM_NAME = "item 1 name";
    private static final String ITEM_TYPE_A = "A";
    private static final String ITEM_TYPE_B = "B";
    private static final String tenant = "dox";
    @Mock
    private ItemDao itemDao;
    @Mock
    private PermissionsServices permissionsServices;
    @Mock
    private SubscriptionService subscriptionService;
    @InjectMocks
    private ItemManagerImpl itemManager;

    @BeforeMethod
    public void setUp() throws Exception {
        MockitoAnnotations.initMocks(this);
    }

    @AfterMethod
    public void tearDown(){
        itemManager = null;
    }

    @Test
    public void ArchiveTest(){

        Item item  = createItem(ITEM_ID,ITEM_NAME,ITEM_TYPE_A);
        itemManager.archive(item);

        verify(itemDao).update(item);
        assertEquals(item.getStatus(), ItemStatus.ARCHIVED);
    }

    @Test(expectedExceptions = CoreException.class,expectedExceptionsMessageRegExp =
            "Archive item failed, item .* is already Archived")
    public void ArchiveTestNegative(){

        Item item  = createItem(ITEM_ID,ITEM_NAME,ITEM_TYPE_B);
        item.setStatus(ItemStatus.ARCHIVED);
        itemManager.archive(item);

    }

    @Test
    public void RestoreTest(){

        Item item  = createItem(ITEM_ID,ITEM_NAME,ITEM_TYPE_A);
        item.setStatus(ItemStatus.ARCHIVED);
        itemManager.restore(item);

        verify(itemDao).update(item);
        assertEquals(item.getStatus(), ItemStatus.ACTIVE);
    }

    @Test(expectedExceptions = CoreException.class,expectedExceptionsMessageRegExp =
            "Restore item failed, item .* is already Active")
    public void RestoreTestNegative(){

        Item item  = createItem(ITEM_ID,ITEM_NAME,ITEM_TYPE_B);
        item.setStatus(ItemStatus.ACTIVE);
        itemManager.restore(item);

    }


    private Item createItem(String id, String name, String type) {
        Item item = new Item();
        item.setId(id);
        item.setName(name);
        item.setType(type);
        return item;
    }
}