Skip to content

Instantly share code, notes, and snippets.

@jeffblack360
Created February 21, 2013 05:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jeffblack360/5002518 to your computer and use it in GitHub Desktop.
Save jeffblack360/5002518 to your computer and use it in GitHub Desktop.
UserControllerTest.java createUser_shouldCreateANewUserWithRoles() test gives error.
@Test
public void createUser_shouldCreateANewUserWithRoles() throws Exception {
long originalCount = getAllCount();
SimpleObject user = new SimpleObject();
user.add("username", "test user");
user.add("password", "Secret123");
user.add("person", "da7f524f-27ce-4bb2-86d6-6d1d05312bd5");
user.add("roles", "3480cb6d-c291-46c8-8d3a-96dc33d199fb");
String json = new ObjectMapper().writeValueAsString(user);
MockHttpServletRequest req = request(RequestMethod.POST, getURI());
req.setContent(json.getBytes());
SimpleObject newUser = deserialize(handle(req));
Util.log("Created User", newUser);
Assert.assertNotNull(PropertyUtils.getProperty(newUser, "uuid"));
Assert.assertEquals(originalCount + 1, getAllCount());
// int before = Context.getUserService().getAllUsers().size();
// String json = "{\"username\":\"test\",\"password\":\"Admin@123\",\"person\":\"da7f524f-27ce-4bb2-86d6-6d1d05312bd5\",\"roles\":[\"3480cb6d-c291-46c8-8d3a-96dc33d199fb\"]}";
// SimpleObject post = new ObjectMapper().readValue(json, SimpleObject.class);
// Object newUser = new UserController().create(post, emptyRequest(), new MockHttpServletResponse());
// Util.log("Created another user with a role this time", newUser);
// Assert.assertEquals(before + 1, Context.getUserService().getAllUsers().size());
// User createdUser = Context.getUserService().getUserByUsername("test");
// Assert.assertTrue(createdUser.hasRole("Provider"));
}
Testcase: createUser_shouldCreateANewUserWithRoles(org.openmrs.module.webservices.rest.web.v1_0.controller.openmrs1_8.UserControllerTest): Caused an ERROR
roles
org.openmrs.module.webservices.rest.web.response.ConversionException: roles
at org.openmrs.module.webservices.rest.web.v1_0.resource.openmrs1_8.UserResource.setProperty(UserResource.java:239)
at org.openmrs.module.webservices.rest.web.resource.impl.BaseDelegatingResource.setConvertedProperties(BaseDelegatingResource.java:555)
at org.openmrs.module.webservices.rest.web.resource.impl.DelegatingCrudResource.create(DelegatingCrudResource.java:90)
at org.openmrs.module.webservices.rest.web.v1_0.controller.MainCrudController.create(MainCrudController.java:83)
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:426)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:414)
at org.openmrs.module.webservices.rest.web.v1_0.controller.BaseCrudControllerTest.handle(BaseCrudControllerTest.java:133)
at org.openmrs.module.webservices.rest.web.v1_0.controller.openmrs1_8.UserControllerTest.createUser_shouldCreateANewUserWithRoles(UserControllerTest.java:99)
at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:74)
at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:74)
at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:82)
at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:72)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:240)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:180)
Caused by: org.openmrs.module.webservices.rest.web.response.ConversionException: roles on class org.openmrs.User
at org.openmrs.module.webservices.rest.web.resource.impl.BaseDelegatingResource.setProperty(BaseDelegatingResource.java:697)
at org.openmrs.module.webservices.rest.web.v1_0.resource.openmrs1_8.UserResource.setProperty(UserResource.java:235)
Caused by: org.openmrs.module.webservices.rest.web.response.ConversionException: Can only convert a Collection to a Collection. Not class java.lang.String to java.util.Set<org.openmrs.Role>
at org.openmrs.module.webservices.rest.web.ConversionUtil.convert(ConversionUtil.java:93)
at org.openmrs.module.webservices.rest.web.resource.impl.BaseDelegatingResource.setProperty(BaseDelegatingResource.java:679)
Test org.openmrs.module.webservices.rest.web.v1_0.controller.openmrs1_8.UserControllerTest FAILED
test:
Deleting: /tmp/TEST-org.openmrs.module.webservices.rest.web.v1_0.controller.openmrs1_8.UserControllerTest.xml
BUILD SUCCESSFUL (total time: 22 seconds)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment