Yevgeny Zaspitsky has uploaded a new change for review. Change subject: engine: fix mocking in QueriesCommandBaseTest ......................................................................
engine: fix mocking in QueriesCommandBaseTest Add proper mocking for QueriesCommandBase usage of SessionDataContainer. That fixes NPEs in the test. Change-Id: I1378780f6ef666000e837a135fbafecc82f661cd Signed-off-by: Yevgeny Zaspitsky <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/QueriesCommandBase.java M backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/QueriesCommandBaseTest.java 2 files changed, 27 insertions(+), 13 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/03/39603/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/QueriesCommandBase.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/QueriesCommandBase.java index d341439..03886bb 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/QueriesCommandBase.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/QueriesCommandBase.java @@ -65,8 +65,12 @@ } protected DbUser initUser() { - return SessionDataContainer.getInstance().getUser(engineContext.getSessionId(), + return getSessionDataContainer().getUser(engineContext.getSessionId(), parameters.getRefresh()); + } + + SessionDataContainer getSessionDataContainer() { + return SessionDataContainer.getInstance(); } @Override @@ -193,7 +197,7 @@ if (engineContext.getSessionId() == null) { throw new RuntimeException("No sessionId found for query " + getClass().getName()); } - return SessionDataContainer.getInstance().getEngineSessionSeqId(engineContext.getSessionId()); + return getSessionDataContainer().getEngineSessionSeqId(engineContext.getSessionId()); } protected DbFacade getDbFacade() { diff --git a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/QueriesCommandBaseTest.java b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/QueriesCommandBaseTest.java index 7b1ae98..8b17d80 100644 --- a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/QueriesCommandBaseTest.java +++ b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/QueriesCommandBaseTest.java @@ -10,6 +10,9 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.runners.MockitoJUnitRunner; import org.ovirt.engine.core.bll.aaa.SessionDataContainer; import org.ovirt.engine.core.common.businessentities.aaa.DbUser; import org.ovirt.engine.core.common.queries.VdcQueryParametersBase; @@ -20,8 +23,15 @@ import org.slf4j.LoggerFactory; /** A test case for the {@link QueriesCommandBase} class. */ +@RunWith(MockitoJUnitRunner.class) public class QueriesCommandBaseTest { private static final Logger log = LoggerFactory.getLogger(QueriesCommandBaseTest.class); + + @Mock + private SessionDataContainer mockSessionDataContainer; + + @Mock + private DbUser mockDbUser; /* Getters and Setters tests */ @@ -86,10 +96,9 @@ Guid guid = mock(Guid.class); // Set up the user id env. - DbUser user = mock(DbUser.class); - when(user.getId()).thenReturn(guid); - when(user.isAdmin()).thenReturn(isUserAdmin); - SessionDataContainer.getInstance().setUser(sessionId, user); + when(mockDbUser.getId()).thenReturn(guid); + when(mockDbUser.isAdmin()).thenReturn(isUserAdmin); + when(mockSessionDataContainer.getUser(sessionId, false)).thenReturn(mockDbUser); // Mock-Set the query as admin/user ThereIsNoSuchQuery query = new ThereIsNoSuchQuery(params); @@ -102,8 +111,6 @@ "Query should succeed is: ", shouldBeAbleToRunQuery, query.getQueryReturnValue().getSucceeded()); - - SessionDataContainer.getInstance().removeSessionOnLogout(sessionId); } } } @@ -112,14 +119,12 @@ @Test public void testGetUserID() { - DbUser user = mock(DbUser.class); - when(user.getId()).thenReturn(Guid.EVERYONE); + when(mockDbUser.getId()).thenReturn(Guid.EVERYONE); String session = UUID.randomUUID().toString(); - SessionDataContainer.getInstance().setUser(session, user); + when(mockSessionDataContainer.getUser(session, false)).thenReturn(mockDbUser); VdcQueryParametersBase params = new VdcQueryParametersBase(session); params.setRefresh(false); ThereIsNoSuchQuery query = new ThereIsNoSuchQuery(params); - assertEquals("wrong guid", Guid.EVERYONE, query.getUserID()); } @@ -140,7 +145,7 @@ } /** A stub class that will cause the {@link VdcQueryType#Unknown} to be used */ - private static class ThereIsNoSuchQuery extends QueriesCommandBase<VdcQueryParametersBase> { + private class ThereIsNoSuchQuery extends QueriesCommandBase<VdcQueryParametersBase> { public ThereIsNoSuchQuery(VdcQueryParametersBase parameters) { super(parameters); @@ -150,5 +155,10 @@ protected void executeQueryCommand() { // Stub method, do nothing } + + @Override + SessionDataContainer getSessionDataContainer() { + return mockSessionDataContainer; + } } } -- To view, visit https://gerrit.ovirt.org/39603 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I1378780f6ef666000e837a135fbafecc82f661cd Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Yevgeny Zaspitsky <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
