From f08603905eb87dde8e037d5ea6adfaf709445126 Mon Sep 17 00:00:00 2001 From: brinn <brinn> Date: Sun, 24 Feb 2013 17:39:05 +0000 Subject: [PATCH] Fix a bug in SampleUpdatesCollectionPredicate for instance samples; adapt unit test expectations. SVN: 28425 --- .../predicate/SampleTechIdCollectionPredicate.java | 7 ++++++- .../predicate/SampleUpdatesCollectionPredicate.java | 7 ++++--- .../predicate/SampleOwnerIdentifierPredicateTest.java | 11 ++++------- .../SampleUpdatesCollectionPredicateTest.java | 4 ++-- 4 files changed, 16 insertions(+), 13 deletions(-) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleTechIdCollectionPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleTechIdCollectionPredicate.java index 1cb0ce2a4aa..a5e4a1d7451 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleTechIdCollectionPredicate.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleTechIdCollectionPredicate.java @@ -37,9 +37,14 @@ public class SampleTechIdCollectionPredicate extends DelegatedPredicate<List<SampleOwnerIdentifier>, List<TechId>> { + public SampleTechIdCollectionPredicate(boolean isReadAccess) + { + super(new SampleOwnerIdentifierCollectionPredicate(isReadAccess)); + } + public SampleTechIdCollectionPredicate() { - super(new SampleOwnerIdentifierCollectionPredicate(true)); + this(true); } @Override diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleUpdatesCollectionPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleUpdatesCollectionPredicate.java index 3c51be158d2..ddfc654ce3a 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleUpdatesCollectionPredicate.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleUpdatesCollectionPredicate.java @@ -19,9 +19,9 @@ package ch.systemsx.cisd.openbis.generic.server.authorization.predicate; import java.util.ArrayList; import java.util.List; +import ch.systemsx.cisd.common.exceptions.Status; import ch.systemsx.cisd.openbis.common.conversation.context.ServiceConversationsThreadContext; import ch.systemsx.cisd.openbis.common.conversation.progress.IServiceConversationProgressListener; -import ch.systemsx.cisd.common.exceptions.Status; import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider; import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier; import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.ShouldFlattenCollections; @@ -49,9 +49,10 @@ public class SampleUpdatesCollectionPredicate extends AbstractPredicate<List<Sam public SampleUpdatesCollectionPredicate() { - sampleTechIdCollectionPredicate = new SampleTechIdCollectionPredicate(); + this.sampleTechIdCollectionPredicate = new SampleTechIdCollectionPredicate(false); this.spacePredicate = new SpaceIdentifierPredicate(); - sampleOwnerIdentifierCollectionPredicate = new SampleOwnerIdentifierCollectionPredicate(); + this.sampleOwnerIdentifierCollectionPredicate = + new SampleOwnerIdentifierCollectionPredicate(false); } @Override diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleOwnerIdentifierPredicateTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleOwnerIdentifierPredicateTest.java index 2cadacebdc0..c760e53e00f 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleOwnerIdentifierPredicateTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleOwnerIdentifierPredicateTest.java @@ -23,7 +23,6 @@ import org.testng.annotations.Test; import ch.systemsx.cisd.common.exceptions.Status; import ch.systemsx.cisd.openbis.generic.server.authorization.AuthorizationTestCase; import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier; -import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.SampleOwnerIdentifierPredicate; import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE; import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SampleOwnerIdentifier; import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SpaceIdentifier; @@ -84,7 +83,7 @@ public class SampleOwnerIdentifierPredicateTest extends AuthorizationTestCase } @Test - public void testNotAllowedDatabaseInstance() + public void testGenericAllowedDatabaseInstance() { SampleOwnerIdentifierPredicate predicate = new SampleOwnerIdentifierPredicate(); PersonPE person = createPerson(); @@ -95,14 +94,12 @@ public class SampleOwnerIdentifierPredicateTest extends AuthorizationTestCase Status status = predicate.evaluate(person, roles, identifier); - assertEquals(true, status.isError()); - assertEquals("User 'megapixel' does not have enough privileges to read " - + "from database instance 'DB2'.", status.tryGetErrorMessage()); + assertEquals(Status.OK, status); context.assertIsSatisfied(); } @Test - public void testAllowedGroup() + public void testAllowedSpace() { SampleOwnerIdentifierPredicate predicate = new SampleOwnerIdentifierPredicate(); PersonPE person = createPerson(); @@ -119,7 +116,7 @@ public class SampleOwnerIdentifierPredicateTest extends AuthorizationTestCase } @Test - public void testNotAllowedGroup() + public void testNotAllowedSpace() { SampleOwnerIdentifierPredicate predicate = new SampleOwnerIdentifierPredicate(); PersonPE person = createPerson(); diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleUpdatesCollectionPredicateTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleUpdatesCollectionPredicateTest.java index d401f4bfd35..d5e51444c30 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleUpdatesCollectionPredicateTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleUpdatesCollectionPredicateTest.java @@ -99,8 +99,8 @@ public class SampleUpdatesCollectionPredicateTest extends AuthorizationTestCase predicate.evaluate(createPerson(), createRoles(false), Arrays.asList(sampleWithId, sampleWithIdAndExperiment, sampleWithIdAndIdentifer)); - assertEquals("ERROR: \"User 'megapixel' does not have enough privileges to read " - + "from database instance 'DB2'.\"", result.toString()); + assertEquals("ERROR: \"User 'megapixel' does not have enough privileges to modify " + + "database instance 'DB2'.\"", result.toString()); context.assertIsSatisfied(); } -- GitLab