@Test public void shouldKeepTheConfigInTheOrderOfDisplayOrder(){ String json = "{\"URL\":{\"default-value\":\"\",\"secure\":false,\"required\":true,\"display-name\":\"Url\",\"display-order\":\"0\"}," + "\"PASSWORD\":{\"display-order\":\"2\"}," + "\"USER\":{\"default-value\":\"foo\",\"secure\":true,\"required\":false,\"display-order\":\"1\"}" + "}"; TaskConfig config = new JsonBasedTaskExtensionHandler_V1().convertJsonToTaskConfig(json); assertThat(config.list().get(0).getKey(), is("URL")); assertThat(config.list().get(1).getKey(), is("USER")); assertThat(config.list().get(2).getKey(), is("PASSWORD")); }
String json1 = "{}"; try { new JsonBasedTaskExtensionHandler_V1().convertJsonToTaskConfig(json1); fail("should throw exception"); } catch (Exception e) { new JsonBasedTaskExtensionHandler_V1().convertJsonToTaskConfig(json2); fail("should throw exception"); } catch (Exception e) { new JsonBasedTaskExtensionHandler_V1().convertJsonToTaskConfig(json3); fail("should throw exception"); } catch (Exception e) { new JsonBasedTaskExtensionHandler_V1().convertJsonToTaskConfig(json4); fail("should throw exception"); } catch (Exception e) { "\"URL3\":{\"default-value\":\"some value\",\"secure\":true,\"required\":\"some-string\"}}"; try { new JsonBasedTaskExtensionHandler_V1().convertJsonToTaskConfig(json5); fail("should throw exception"); } catch (Exception e) { assertThat(new JsonBasedTaskExtensionHandler_V1().convertJsonToTaskConfig("{\"URL\":{\"display-order\":\"1\"}}").get("URL").getOption(Property.DISPLAY_ORDER), is(1)); new JsonBasedTaskExtensionHandler_V1().convertJsonToTaskConfig("{\"URL\":{\"display-order\":\"first\"}}"); fail("should throw exception"); } catch (Exception e) {
@Test public void shouldConvertTaskConfigJsonToTaskConfig() { String json = "{\"URL\":{\"default-value\":\"\",\"secure\":false,\"required\":true,\"display-name\":\"Url\",\"display-order\":\"0\"}," + "\"USER\":{\"default-value\":\"foo\",\"secure\":true,\"required\":false,\"display-order\":\"1\"}," + "\"PASSWORD\":{}," + "\"FOO\":null" + "}"; TaskConfig config = new JsonBasedTaskExtensionHandler_V1().convertJsonToTaskConfig(json); Property url = config.get("URL"); assertThat(url.getOption(Property.REQUIRED), is(true)); assertThat(url.getOption(Property.SECURE), is(false)); assertThat(url.getOption(Property.DISPLAY_NAME), is("Url")); assertThat(url.getOption(Property.DISPLAY_ORDER), is(0)); Property user = config.get("USER"); assertThat(user.getOption(Property.REQUIRED), is(false)); assertThat(user.getOption(Property.SECURE), is(true)); assertThat(user.getOption(Property.DISPLAY_NAME), is("USER")); assertThat(user.getOption(Property.DISPLAY_ORDER), is(1)); Property password = config.get("PASSWORD"); assertThat(password.getOption(Property.REQUIRED), is(true)); assertThat(password.getOption(Property.SECURE), is(false)); assertThat(password.getOption(Property.DISPLAY_NAME), is("PASSWORD")); assertThat(password.getOption(Property.DISPLAY_ORDER), is(0)); Property foo = config.get("FOO"); assertThat(foo.getOption(Property.REQUIRED), is(true)); assertThat(foo.getOption(Property.SECURE), is(false)); assertThat(foo.getOption(Property.DISPLAY_NAME), is("FOO")); assertThat(foo.getOption(Property.DISPLAY_ORDER), is(0)); }