@Test
public void testUpdateTheme() throws ParseException, IOException {

  String themesString = IOUtils.toString(getClass().getResource("/theme-update.json"), "UTF-8");
  String result = given().pathParam("themeId", 1).formParam("default", true).formParam("name", "new-name")
          .formParam("description", "new-description").formParam("bumperActive", true)
          .formParam("bumperFile", "new-bumper-file").formParam("trailerActive", true)
          .formParam("trailerFile", "new-trailer-file").formParam("titleSlideActive", true)
          .formParam("titleSlideBackground", "new-title-background")
          .formParam("titleSlideMetadata", "new-title-metadata").formParam("licenseSlideActive", true)
          .formParam("licenseSlideBackground", "new-license-background")
          .formParam("licenseSlideDescription", "new-license-description").formParam("watermarkActive", true)
          .formParam("watermarkPosition", "new-watermark-position").formParam("watermarkFile", "new-watermark-file")
          .expect().statusCode(HttpStatus.SC_OK).when().put(rt.host("/{themeId}")).asString();
  JSONObject theme = ((JSONObject) parser.parse(result));
  // Make sure the creationDate property exists
  assertTrue(StringUtils.trimToNull(theme.get("creationDate").toString()) != null);
  // Remove it from the results
  theme.remove("creationDate");
  logger.info("Expected" + themesString);
  logger.info("Result: " + theme.toJSONString());
  assertThat(themesString, SameJSONAs.sameJSONAs(theme.toJSONString()).allowingAnyArrayOrdering());
}