* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
AuthzTrans trans;
@Mock
Cluster cluster;
-
+
@Before
public void setUp() throws APIException, IOException {
initMocks(this);
Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).debug();
Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).info();
}
-
+
@Test
public void testInit() {
TimeTaken tt = Mockito.mock(TimeTaken.class);
PSInfo createPS = Mockito.mock(PSInfo.class);
Result<ResultSet> rs = new Result<ResultSet>(null,0,"test",new String[0]);
Mockito.doReturn(rs).when(createPS).exec(trans, "ApprovalDAOImpl CREATE", data);
-
+
ApprovalDAOImpl daoObj = new ApprovalDAOImpl(trans, cluster, "test",data, createPS);
// data.id
Result<Data> retVal = daoObj.create(trans, data);
assertTrue(retVal.status == 0);
-
+
rs = new Result<ResultSet>(null,1,"test",new String[0]);
Mockito.doReturn(rs).when(createPS).exec(trans, "ApprovalDAOImpl CREATE", data);
retVal = daoObj.create(trans, data);
assertTrue(retVal.status == 1);
-
+
Result<List<ApprovalDAO.Data>> rs1 = new Result<List<ApprovalDAO.Data>>(null,0,"test",new String[0]);
Mockito.doReturn(rs1).when(createPS).read(trans, "ApprovalDAOImpl CREATE", new Object[]{"testUser"});
Result<List<ApprovalDAO.Data>> retVal1 = daoObj.readByUser(trans, "testUser");
assertNull(retVal1);
-
+
Mockito.doReturn(rs1).when(createPS).read(trans, "ApprovalDAOImpl CREATE", new Object[]{"testApprover"});
retVal1 = daoObj.readByApprover(trans, "testApprover");
assertNull(retVal1);
-
+
Mockito.doReturn(rs1).when(createPS).read(trans, "ApprovalDAOImpl CREATE", new Object[]{new UUID(0, 0)});
retVal1 = daoObj.readByTicket(trans, new UUID(0, 0));
assertNull(retVal1);
-
+
Mockito.doReturn(rs1).when(createPS).read(trans, "ApprovalDAOImpl CREATE", new Object[]{"testStatus"});
retVal1 = daoObj.readByStatus(trans, "testStatus");
assertNull(retVal1);
}
-
+
@Test
public void testDelete() {
TimeTaken tt = Mockito.mock(TimeTaken.class);
HistoryDAO historyDAO = Mockito.mock(HistoryDAO.class);
Result<ResultSet> rs1 = new Result<ResultSet>(null,0,"test",new String[0]);
Mockito.doReturn(rs1).when(historyDAO).create(Mockito.any(), Mockito.any());
-
+
PSInfo createPS = Mockito.mock(PSInfo.class);
ResultSet rsObj = new ResultSetImpl();
Result<ResultSet> rs = new Result<ResultSet>(rsObj,0,"test",new String[0]);
Mockito.doReturn(rs).when(createPS).exec(trans, "ApprovalDAOImpl READ", data);
Mockito.doReturn(rs).when(createPS).exec(trans, "ApprovalDAOImpl DELETE", data);
-
+
ApprovalDAOImpl daoObj = new ApprovalDAOImpl(trans, cluster, "test", createPS, historyDAO);
// data.id
Result<Void> retVal = daoObj.delete(trans, data, true);
assertTrue(retVal.status == 0);
-
+
rs = new Result<ResultSet>(rsObj,1,"test",new String[0]);
Mockito.doReturn(rs).when(createPS).exec(trans, "ApprovalDAOImpl READ", data);
retVal = daoObj.delete(trans, data, true);
assertTrue(retVal.status == 1);
-
+
data.status="approved";
data.memo="test";
retVal = daoObj.delete(trans, data, false);
assertTrue(retVal.status == 0);
-
+
daoObj.async(true);
data.status="denied";
retVal = daoObj.delete(trans, data, false);
data.status=null;
retVal = daoObj.delete(trans, data, false);
}
-
+
@Test
public void testWasMOdified() {
TimeTaken tt = Mockito.mock(TimeTaken.class);
Mockito.doNothing().when(tt).done();
ApprovalDAO.Data data = new ApprovalDAO.Data();
PSInfo createPS = Mockito.mock(PSInfo.class);
-
+
HistoryDAO historyDAO = Mockito.mock(HistoryDAO.class);
Result<ResultSet> rs1 = new Result<ResultSet>(null,0,"test",new String[0]);
Mockito.doReturn(rs1).when(historyDAO).create(Mockito.any(), Mockito.any());
-
+
ApprovalDAOImpl daoObj = new ApprovalDAOImpl(trans, cluster, "test", createPS, historyDAO);
daoObj.wasModified(trans, CRUD.create, data, new String[] {"test"});
-
+
daoObj.wasModified(trans, CRUD.create, data, new String[] {});
daoObj.wasModified(trans, CRUD.create, data, new String[] {null});
daoObj.wasModified(trans, CRUD.create, data, new String[] {"test",null});
daoObj.wasModified(trans, CRUD.create, data, new String[] {"test","test"});
-
+
rs1 = new Result<ResultSet>(null,1,"test",new String[0]);
Mockito.doReturn(rs1).when(historyDAO).create(Mockito.any(), Mockito.any());
daoObj.wasModified(trans, CRUD.create, data, new String[] {"test","test"});
}
-
+
@Test
public void testSecondConstructor() {
TimeTaken tt = Mockito.mock(TimeTaken.class);
Mockito.doNothing().when(tt).done();
ApprovalDAO.Data data = new ApprovalDAO.Data();
HistoryDAO historyDAO = Mockito.mock(HistoryDAO.class);
-
+
ApprovalDAO daoObj = new ApprovalDAO(trans, historyDAO);
}
}
// TODO Auto-generated method stub
return false;
}
-
+
}
class ApprovalDAOImpl extends ApprovalDAO{
setPs(this, createPS, "psByTicket");
setPs(this, createPS, "psByStatus");
}
-
+
public ApprovalDAOImpl(AuthzTrans trans, Cluster cluster, String keyspace,PSInfo readPS ) {
super(trans, cluster, keyspace);
this.readPS = readPS;
}
-
+
public ApprovalDAOImpl(AuthzTrans trans, Cluster cluster, String keyspace,PSInfo readPS, HistoryDAO historyDAO ) {
super(trans, cluster, keyspace);
this.deletePS = readPS;
setHistoryDao(this, historyDAO);
setSession(this, Mockito.mock(Session.class));
}
-
+
public void setPs(ApprovalDAOImpl approvalDaoObj, PSInfo psInfoObj, String methodName) {
Field nsDaoField;
try {
nsDaoField = ApprovalDAO.class.getDeclaredField(methodName);
-
+
nsDaoField.setAccessible(true);
// remove final modifier from field
Field modifiersField = Field.class.getDeclaredField("modifiers");
modifiersField.setAccessible(true);
// modifiersField.setInt(nsDaoField, nsDaoField.getModifiers() & ~Modifier.FINAL);
-
+
nsDaoField.set(approvalDaoObj, psInfoObj);
} catch (NoSuchFieldException | SecurityException e) {
// TODO Auto-generated catch block
Field nsDaoField;
try {
nsDaoField = ApprovalDAO.class.getDeclaredField("historyDAO");
-
+
nsDaoField.setAccessible(true);
// remove final modifier from field
Field modifiersField = Field.class.getDeclaredField("modifiers");
modifiersField.setAccessible(true);
// modifiersField.setInt(nsDaoField, nsDaoField.getModifiers() & ~Modifier.FINAL);
-
+
nsDaoField.set(approvalDaoObj, historyDAO);
} catch (NoSuchFieldException | SecurityException e) {
// TODO Auto-generated catch block
Field nsDaoField;
try {
nsDaoField = AbsCassDAO.class.getDeclaredField("session");
-
+
nsDaoField.setAccessible(true);
// remove final modifier from field
Field modifiersField = Field.class.getDeclaredField("modifiers");
modifiersField.setAccessible(true);
// modifiersField.setInt(nsDaoField, nsDaoField.getModifiers() & ~Modifier.FINAL);
-
+
nsDaoField.set(approvalDaoObj, session);
} catch (NoSuchFieldException | SecurityException e) {
// TODO Auto-generated catch block