Skip to content
Snippets Groups Projects
Verified Commit 97e678bd authored by Timm Fitschen's avatar Timm Fitschen
Browse files

WIP: fix some unit tests

parent aa0032ed
No related branches found
No related tags found
2 merge requests!58REL: prepare release 0.7.2,!45F grpc f acm
Pipeline #17180 passed
......@@ -88,6 +88,9 @@ public class UserSources extends HashMap<String, UserSource> {
* @return true iff the user identified by the given {@link Principal} exists.
*/
public static boolean isUserExisting(final Principal principal) {
if (principal.getRealm().equals(OneTimeAuthenticationToken.REALM_NAME)) {
return true;
}
UserSource userSource = instance.get(principal.getRealm());
if (userSource != null) {
return userSource.isUserExisting(principal.getUsername());
......
......@@ -23,27 +23,36 @@
package org.caosdb.server.permissions;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import java.io.IOException;
import java.util.ArrayList;
import java.util.BitSet;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.subject.Subject;
import org.caosdb.server.CaosDBServer;
import org.caosdb.server.accessControl.AnonymousAuthenticationToken;
import org.caosdb.server.accessControl.AuthenticationUtils;
import org.caosdb.server.accessControl.Config;
import org.caosdb.server.accessControl.CredentialsValidator;
import org.caosdb.server.accessControl.OneTimeAuthenticationToken;
import org.caosdb.server.accessControl.Principal;
import org.caosdb.server.accessControl.Role;
import org.caosdb.server.database.BackendTransaction;
import org.caosdb.server.database.access.Access;
import org.caosdb.server.database.backend.interfaces.RetrievePasswordValidatorImpl;
import org.caosdb.server.database.backend.interfaces.RetrievePermissionRulesImpl;
import org.caosdb.server.database.backend.interfaces.RetrieveRoleImpl;
import org.caosdb.server.database.backend.interfaces.RetrieveUserImpl;
import org.caosdb.server.database.exceptions.TransactionException;
import org.caosdb.server.database.misc.TransactionBenchmark;
import org.caosdb.server.database.proto.ProtoUser;
import org.caosdb.server.resource.AbstractCaosDBServerResource;
import org.caosdb.server.resource.AbstractCaosDBServerResource.XMLParser;
import org.caosdb.server.utils.Utils;
......@@ -101,6 +110,54 @@ public class EntityACLTest {
}
}
public static class RetrievePasswordValidatorMockup implements RetrievePasswordValidatorImpl {
public RetrievePasswordValidatorMockup(Access a) {}
@Override
public void setTransactionBenchmark(TransactionBenchmark b) {}
@Override
public TransactionBenchmark getBenchmark() {
return null;
}
@Override
public CredentialsValidator<String> execute(String name) throws TransactionException {
if (name.equals("anonymous")) {
return new CredentialsValidator<String>() {
@Override
public boolean isValid(String credential) {
return false;
}
};
}
return null;
}
}
public static class RetrieveUserMockup implements RetrieveUserImpl {
public RetrieveUserMockup(Access a) {}
@Override
public void setTransactionBenchmark(TransactionBenchmark b) {}
@Override
public TransactionBenchmark getBenchmark() {
return null;
}
@Override
public ProtoUser execute(Principal principal) throws TransactionException {
if (principal.getUsername().equals("anonymous")) {
return new ProtoUser();
}
return null;
}
}
@BeforeClass
public static void init() throws IOException {
CaosDBServer.initServerProperties();
......@@ -110,6 +167,9 @@ public class EntityACLTest {
BackendTransaction.setImpl(
RetrievePermissionRulesImpl.class, RetrievePermissionRulesMockup.class);
BackendTransaction.setImpl(RetrieveRoleImpl.class, RetrieveRoleMockup.class);
BackendTransaction.setImpl(
RetrievePasswordValidatorImpl.class, RetrievePasswordValidatorMockup.class);
BackendTransaction.setImpl(RetrieveUserImpl.class, RetrieveUserMockup.class);
}
@Test
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment