package org.axway.grapes.server; import com.google.common.collect.Lists; import org.axway.grapes.server.db.RepositoryHandler; import org.axway.grapes.server.db.datamodel.DbCredential; import org.axway.grapes.server.db.datamodel.DbCredential.AvailableRoles; import org.axway.grapes.server.db.datamodel.DbOrganization; import org.axway.grapes.server.webapp.auth.GrapesAuthenticator; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; public class GrapesTestUtils { public final static String ORGANIZATION_NAME_4TEST = "corp"; public final static String CORPORATE_GROUPID_4TEST = "com.corporate.test"; public final static String USER_4TEST = "user"; public final static String PASSWORD_4TEST = "password"; public final static String WRONG_USER_4TEST = "wrongUser"; public final static String WRONG_PASSWORD_4TEST = "wrongPassword"; public static RepositoryHandler getRepoHandlerMock() { try{ final RepositoryHandler repositoryHandler = mock(RepositoryHandler.class); final DbCredential user = new DbCredential(); user.setUser(USER_4TEST); user.setPassword(GrapesAuthenticator.encrypt(PASSWORD_4TEST)); user.addRole(AvailableRoles.ARTIFACT_CHECKER); user.addRole(AvailableRoles.DATA_DELETER); user.addRole(AvailableRoles.DATA_UPDATER); user.addRole(AvailableRoles.DEPENDENCY_NOTIFIER); user.addRole(AvailableRoles.LICENSE_CHECKER); when(repositoryHandler.getCredential(USER_4TEST)).thenReturn(user); final DbCredential wrongUser = new DbCredential(); wrongUser.setUser(WRONG_USER_4TEST); wrongUser.setPassword(GrapesAuthenticator.encrypt(WRONG_PASSWORD_4TEST)); when(repositoryHandler.getCredential(WRONG_USER_4TEST)).thenReturn(wrongUser); final DbOrganization organization = new DbOrganization(); organization.setName(ORGANIZATION_NAME_4TEST); organization.getCorporateGroupIdPrefixes().add(CORPORATE_GROUPID_4TEST); when(repositoryHandler.getOrganization(ORGANIZATION_NAME_4TEST)).thenReturn(organization); when(repositoryHandler.getAllOrganizations()).thenReturn(Lists.newArrayList(organization)); return repositoryHandler; }catch (Exception e){ System.err.println("Failed to mock Grapes configuration due to password encryption error."); } return mock(RepositoryHandler.class); } }