Merge "Move to 2.1.17"
[aaf/authz.git] / auth / auth-cass / src / test / java / org / onap / aaf / auth / dao / cached / JU_CachedPermDAOTest.java
1 /**
2  * ============LICENSE_START====================================================
3  * org.onap.aaf
4  * ===========================================================================
5  * Copyright (c) 2018 AT&T Intellectual Property. 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
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
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====================================================
19  *
20  */
21 package org.onap.aaf.auth.dao.cached;
22
23 import static org.junit.Assert.assertEquals;
24 import static org.mockito.Mockito.verify;
25 import static org.mockito.Mockito.when;
26 import static org.mockito.MockitoAnnotations.initMocks;
27
28 import java.util.List;
29
30 import org.junit.Before;
31 import org.junit.Test;
32 import org.mockito.Mock;
33 import org.onap.aaf.auth.dao.CIDAO;
34 import org.onap.aaf.auth.dao.cass.PermDAO;
35 import org.onap.aaf.auth.dao.cass.PermDAO.Data;
36 import org.onap.aaf.auth.dao.cass.Status;
37 import org.onap.aaf.auth.env.AuthzTrans;
38 import org.onap.aaf.auth.layer.Result;
39
40 public class JU_CachedPermDAOTest {
41
42         @Mock
43         private CIDAO<AuthzTrans> info;
44         @Mock
45         private PermDAO dao;
46         private AuthzTrans trans;
47         @Mock
48         private Result<List<PermDAO.Data>> value;
49
50         @Before
51         public void setUp() throws Exception {
52                 initMocks(this);
53
54                 when(dao.readNS(trans, "ns")).thenReturn(value);
55         }
56
57         @Test
58         public void testReadNS() {
59                 when(value.isOKhasData()).thenReturn(true);
60                 when(value.isOK()).thenReturn(false);
61                 CachedPermDAO ccDao = new CachedPermDAO(dao, info, 100l);
62
63                 Result<List<Data>> result = ccDao.readNS(trans, "ns");
64
65                 assertEquals(result, value);
66
67                 when(value.isOKhasData()).thenReturn(false);
68
69                 result = ccDao.readNS(trans, "ns");
70
71                 assertEquals(result.status, Status.ERR_PermissionNotFound);
72
73                 ccDao.readChildren(trans, "ns", "type");
74
75                 verify(dao).readChildren(trans, "ns", "type");
76         }
77
78 }