Skip to content

Commit

Permalink
TestIntegrationObjectWrapperFactory fix, sometimes null vararg is good
Browse files Browse the repository at this point in the history
  • Loading branch information
virgo47 committed Mar 4, 2020
1 parent f48a165 commit 55af389
Show file tree
Hide file tree
Showing 2 changed files with 119 additions and 101 deletions.
Expand Up @@ -208,6 +208,64 @@ private void assertContainersPaths(PrismObjectWrapper<?> objectWrapper, Collecti
assertEquals("wrong container paths in "+objectWrapper, expectedUniformPaths, realUniformPaths);
}

@Test
public void test102CreateWrapperUserEmpty() throws Exception {
PrismObject<UserType> user = getUser(USER_EMPTY_OID);
PrismObject<UserType> userOld = user.clone();

// WHEN
when();

Task task = createTask();
OperationResult result = task.getResult();

ModelServiceLocator modelServiceLocator = getServiceLocator(task);
PrismObjectWrapperFactory<UserType> factory = modelServiceLocator.findObjectWrapperFactory(user.getDefinition());
WrapperContext context = new WrapperContext(task, result);

PrismObjectWrapper<UserType> objectWrapper = factory.createObjectWrapper(user, ItemStatus.NOT_CHANGED, context);

// THEN
then();

PrismTestUtil.display("Wrapper after", objectWrapper);

WrapperTestUtil.assertWrapper(objectWrapper, getString("prismContainer.mainPanelDisplayName"), "user description", user, userOld, ItemStatus.NOT_CHANGED);
assertContainersPaths(objectWrapper, BASIC_USER_CONTAINERS_PATHS);

WrapperTestUtil.assertWrapper(objectWrapper, getString("prismContainer.mainPanelDisplayName"), null, user, ItemStatus.NOT_CHANGED);
assertEquals("wrong number of containers in "+objectWrapper, 1, objectWrapper.getValues().size());
PrismContainerValueWrapper<UserType> mainContainerValueWrapper = objectWrapper.getValue();
WrapperTestUtil.assertPropertyWrapperByName(mainContainerValueWrapper, UserType.F_NAME, PrismTestUtil.createPolyString(USER_EMPTY_USERNAME));
WrapperTestUtil.assertPropertyWrapperByName(mainContainerValueWrapper, UserType.F_TIMEZONE, null);

// Not sure about this
// ContainerWrapper<ActivationType> activationContainerWrapper = objectWrapper.findContainer(ItemPath.create(UserType.F_ACTIVATION));
// assertNull("Unexpected activation "+activationContainerWrapper, activationContainerWrapper);

assertEquals("Wrong main container wrapper readOnly", Boolean.FALSE, (Boolean)objectWrapper.isReadOnly());

assertItemWrapperFullConrol(mainContainerValueWrapper, UserType.F_NAME, true);
assertItemWrapperFullConrol(mainContainerValueWrapper, UserType.F_GIVEN_NAME, true); // emphasized
assertItemWrapperFullConrol(mainContainerValueWrapper, UserType.F_FULL_NAME, true); // emphasized
assertItemWrapperFullConrol(mainContainerValueWrapper, UserType.F_ADDITIONAL_NAME, false); // empty
assertItemWrapperFullConrol(mainContainerValueWrapper, UserType.F_LOCALITY, false); // empty

// WHEN
mainContainerValueWrapper.setShowEmpty(true);

// THEN
assertItemWrapperFullConrol(mainContainerValueWrapper, UserType.F_NAME, true);
assertItemWrapperFullConrol(mainContainerValueWrapper, UserType.F_GIVEN_NAME, true); // emphasized
assertItemWrapperFullConrol(mainContainerValueWrapper, UserType.F_FULL_NAME, true); // emphasized
assertItemWrapperFullConrol(mainContainerValueWrapper, UserType.F_ADDITIONAL_NAME, true); // empty
assertItemWrapperFullConrol(mainContainerValueWrapper, UserType.F_LOCALITY, true); // empty

ObjectDelta<UserType> objectDelta = objectWrapper.getObjectDelta();
display("Delta", objectDelta);
assertTrue("non-empty delta produced from wrapper: "+objectDelta, objectDelta.isEmpty());
}

/**
* Create wrapper for brand new empty user.
*/
Expand Down Expand Up @@ -281,7 +339,7 @@ public void test112CreateWrapperUserNewman() throws Exception {
PrismObject<UserType> user = getUserDefinition().instantiate();

when();
Task task = getTestTask();
Task task = createTask();
OperationResult result = task.getResult();

ModelServiceLocator modelServiceLocator = getServiceLocator(task);
Expand Down Expand Up @@ -309,7 +367,7 @@ public void test112CreateWrapperUserNewman() throws Exception {
WrapperTestUtil.assertWrapper(objectWrapper, getString("prismContainer.mainPanelDisplayName"), null, user, ItemStatus.ADDED);
assertEquals("wrong number of containers in "+objectWrapper, 1, objectWrapper.getValues().size());
WrapperTestUtil.assertPropertyWrapperByName(mainContainerValueWrapper, UserType.F_NAME, PrismTestUtil.createPolyString(USER_NEWMAN_USERNAME));
WrapperTestUtil.assertPropertyWrapperByName(mainContainerValueWrapper, UserType.F_TIMEZONE);
WrapperTestUtil.assertPropertyWrapperByName(mainContainerValueWrapper, UserType.F_TIMEZONE, null);
WrapperTestUtil.assertPropertyWrapper(mainContainerValueWrapper, extensionPath(PIRACY_SHIP), USER_NEWMAN_SHIP);

PrismContainerWrapper<ActivationType> activationContainerWrapper = objectWrapper.findContainer(UserType.F_ACTIVATION);
Expand Down Expand Up @@ -350,64 +408,6 @@ public void test112CreateWrapperUserNewman() throws Exception {
PrismAsserts.assertItems(objectToAdd, 5);
}

@Test
public void test102CreateWrapperUserEmpty() throws Exception {
PrismObject<UserType> user = getUser(USER_EMPTY_OID);
PrismObject<UserType> userOld = user.clone();

// WHEN
when();

Task task = getTestTask();
OperationResult result = task.getResult();

ModelServiceLocator modelServiceLocator = getServiceLocator(task);
PrismObjectWrapperFactory<UserType> factory = modelServiceLocator.findObjectWrapperFactory(user.getDefinition());
WrapperContext context = new WrapperContext(task, result);

PrismObjectWrapper<UserType> objectWrapper = factory.createObjectWrapper(user, ItemStatus.NOT_CHANGED, context);

// THEN
then();

PrismTestUtil.display("Wrapper after", objectWrapper);

WrapperTestUtil.assertWrapper(objectWrapper, getString("prismContainer.mainPanelDisplayName"), "user description", user, userOld, ItemStatus.NOT_CHANGED);
assertContainersPaths(objectWrapper, BASIC_USER_CONTAINERS_PATHS);

WrapperTestUtil.assertWrapper(objectWrapper, getString("prismContainer.mainPanelDisplayName"), null, user, ItemStatus.NOT_CHANGED);
assertEquals("wrong number of containers in "+objectWrapper, 1, objectWrapper.getValues().size());
PrismContainerValueWrapper<UserType> mainContainerValueWrapper = objectWrapper.getValue();
WrapperTestUtil.assertPropertyWrapperByName(mainContainerValueWrapper, UserType.F_NAME, PrismTestUtil.createPolyString(USER_EMPTY_USERNAME));
WrapperTestUtil.assertPropertyWrapperByName(mainContainerValueWrapper, UserType.F_TIMEZONE);

// Not sure about this
// ContainerWrapper<ActivationType> activationContainerWrapper = objectWrapper.findContainer(ItemPath.create(UserType.F_ACTIVATION));
// assertNull("Unexpected activation "+activationContainerWrapper, activationContainerWrapper);

assertEquals("Wrong main container wrapper readOnly", Boolean.FALSE, (Boolean)objectWrapper.isReadOnly());

assertItemWrapperFullConrol(mainContainerValueWrapper, UserType.F_NAME, true);
assertItemWrapperFullConrol(mainContainerValueWrapper, UserType.F_GIVEN_NAME, true); // emphasized
assertItemWrapperFullConrol(mainContainerValueWrapper, UserType.F_FULL_NAME, true); // emphasized
assertItemWrapperFullConrol(mainContainerValueWrapper, UserType.F_ADDITIONAL_NAME, false); // empty
assertItemWrapperFullConrol(mainContainerValueWrapper, UserType.F_LOCALITY, false); // empty

// WHEN
mainContainerValueWrapper.setShowEmpty(true);

// THEN
assertItemWrapperFullConrol(mainContainerValueWrapper, UserType.F_NAME, true);
assertItemWrapperFullConrol(mainContainerValueWrapper, UserType.F_GIVEN_NAME, true); // emphasized
assertItemWrapperFullConrol(mainContainerValueWrapper, UserType.F_FULL_NAME, true); // emphasized
assertItemWrapperFullConrol(mainContainerValueWrapper, UserType.F_ADDITIONAL_NAME, true); // empty
assertItemWrapperFullConrol(mainContainerValueWrapper, UserType.F_LOCALITY, true); // empty

ObjectDelta<UserType> objectDelta = objectWrapper.getObjectDelta();
display("Delta", objectDelta);
assertTrue("non-empty delta produced from wrapper: "+objectDelta, objectDelta.isEmpty());
}


@Test
public void test150CreateWrapperShadow() throws Exception {
Expand Down

0 comments on commit 55af389

Please sign in to comment.