diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/CommonServerTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/CommonServerTest.java index 3f4abd3fc1df42b220ec72bcb7f078f5ce80d2be..f7b7ee5247a863f45a03b0f1049cd84c933f7a13 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/CommonServerTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/CommonServerTest.java @@ -267,7 +267,6 @@ public class CommonServerTest extends SystemTestCase // Validation List<EntityTypePropertyType<?>> listAssigments = commonServer.listEntityTypePropertyTypes(systemSessionToken, entityType); - for (int i = 0; i < assigments.getAssigments().size(); i++) { assertEquals(assigments.getAssigments().get(i).getPropertyType(), listAssigments.get(i).getPropertyType()); @@ -354,34 +353,62 @@ public class CommonServerTest extends SystemTestCase // New Assignments Random random = new Random(); - final int numberOfProperties = random.nextInt(20) + 1; + final int numberOfProperties = random.nextInt(30) + 1; for (int i = 0; i < numberOfProperties; i++) { - final String propertyTypeCode = "TEST_PROPERTY_TYPE_CODE_" + random.nextInt(); - final String propertyTypeLabel = "TEST_PROPERTY_TYPE_LABEL_" + random.nextInt(); - final String propertyTypeDescription = "TEST_PROPERTY_TYPE_DESCRIPTION_" + random.nextInt(); - final DataType dataType = new DataType(); - dataType.setCode(DataTypeCode.INTEGER); - - PropertyType newPropertyType = new PropertyType(); - newPropertyType.setCode(propertyTypeCode); - newPropertyType.setLabel(propertyTypeLabel); - newPropertyType.setDescription(propertyTypeDescription); - newPropertyType.setDataType(dataType); - - NewETPTAssignment newETPTAssigment = new NewETPTAssignment(); - newETPTAssigment.setEntityKind(entityKind); - newETPTAssigment.setPropertyTypeCode(propertyTypeCode); - newETPTAssigment.setEntityTypeCode(entityTypeCode); - newETPTAssigment.setOrdinal((long) random.nextInt(assigments.getAssigments().size())); - newETPTAssigment.setModificationDate(new Date()); - - NewPTNewAssigment newPTNewassignment = new NewPTNewAssigment(); - newPTNewassignment.setExistingPropertyType(false); - newPTNewassignment.setPropertyType(newPropertyType); - newPTNewassignment.setAssignment(newETPTAssigment); - - assigments.refreshOrderAdd(newPTNewassignment); + switch (random.nextInt(3)) + { + case 0: // Insert + final String propertyTypeCode = "TEST_PROPERTY_TYPE_CODE_" + random.nextInt(); + final String propertyTypeLabel = "TEST_PROPERTY_TYPE_LABEL_" + random.nextInt(); + final String propertyTypeDescription = "TEST_PROPERTY_TYPE_DESCRIPTION_" + random.nextInt(); + final DataType dataType = new DataType(); + dataType.setCode(DataTypeCode.INTEGER); + + PropertyType newPropertyType = new PropertyType(); + newPropertyType.setCode(propertyTypeCode); + newPropertyType.setLabel(propertyTypeLabel); + newPropertyType.setDescription(propertyTypeDescription); + newPropertyType.setDataType(dataType); + + NewETPTAssignment newETPTAssigment = new NewETPTAssignment(); + newETPTAssigment.setEntityKind(entityKind); + newETPTAssigment.setPropertyTypeCode(propertyTypeCode); + newETPTAssigment.setEntityTypeCode(entityTypeCode); + if (assigments.getAssigments().size() > 0) + { + newETPTAssigment.setOrdinal((long) random.nextInt(assigments.getAssigments().size())); + } else + { + newETPTAssigment.setOrdinal(0L); + } + newETPTAssigment.setModificationDate(new Date()); + + NewPTNewAssigment newPTNewassignment = new NewPTNewAssigment(); + newPTNewassignment.setExistingPropertyType(false); + newPTNewassignment.setPropertyType(newPropertyType); + newPTNewassignment.setAssignment(newETPTAssigment); + + assigments.refreshOrderAdd(newPTNewassignment); + break; + case 1: // Modification + if (assigments.getAssigments().size() > 0) + { + int posToModify = random.nextInt(assigments.getAssigments().size()); // Random Position + NewETPTAssignment toModify = assigments.getAssigments().get(posToModify).getAssignment(); + int toNewPos = random.nextInt(assigments.getAssigments().size()); // Random Position + toModify.setOrdinal((long) toNewPos); + assigments.refreshOrderUpdate(toModify); + } + break; + case 2: // Delete + if (assigments.getAssigments().size() > 0) + { + int posToDelete = random.nextInt(assigments.getAssigments().size()); // Random Position + assigments.refreshOrderDelete(assigments.getAssigments().get(posToDelete).getPropertyType().getCode()); + } + break; + } } // Call @@ -389,10 +416,13 @@ public class CommonServerTest extends SystemTestCase // Validation List<EntityTypePropertyType<?>> listAssigments = commonServer.listEntityTypePropertyTypes(systemSessionToken, entityType); + + assertEquals(assigments.getAssigments().size(), listAssigments.size()); for (int i = 0; i < assigments.getAssigments().size(); i++) { assertEquals(assigments.getAssigments().get(i).getPropertyType(), listAssigments.get(i).getPropertyType()); } } } + }