@Test
public void testAllPropertiesSet() {
SpringApplication app = new SpringApplication(TestConfiguration.class);
app.setWebEnvironment(false);
ConfigurableApplicationContext context = app
.run(new String[] { "--spring.config.name=SpringYarnAppmasterContainerClusterPropertiesTests1" });
SpringYarnAppmasterProperties properties = context.getBean(SpringYarnAppmasterProperties.class);
assertThat(properties, notNullValue());
assertThat(properties.getContainercluster().getClusters().size(), is(2));
assertThat(properties.getContainercluster().getClusters().get("cluster1").getProjectionType(), is("any"));
assertThat(properties.getContainercluster().getClusters().get("cluster1").getProjectionAny(), is(1));
assertThat(properties.getContainercluster().getClusters().get("cluster1").getProjectionHosts().size(), is(2));
assertThat(properties.getContainercluster().getClusters().get("cluster1").getProjectionHosts().get("host1"), is(1));
assertThat(properties.getContainercluster().getClusters().get("cluster1").getProjectionHosts().get("host2"), is(2));
assertThat(properties.getContainercluster().getClusters().get("cluster1").getProjectionRacks().size(), is(2));
assertThat(properties.getContainercluster().getClusters().get("cluster1").getProjectionRacks().get("rack1"), is(1));
assertThat(properties.getContainercluster().getClusters().get("cluster1").getProjectionRacks().get("rack2"), is(2));
assertThat(properties.getContainercluster().getClusters().get("cluster1").getResource(), notNullValue());
assertThat(properties.getContainercluster().getClusters().get("cluster1").getResource().getPriority(), is(234));
assertThat(properties.getContainercluster().getClusters().get("cluster1").getResource().getMemory(), is("memoryFoo"));
assertThat(properties.getContainercluster().getClusters().get("cluster1").getResource().getVirtualCores(), is(123));
assertThat(properties.getContainercluster().getClusters().get("cluster1").getLaunchcontext(), notNullValue());
SpringYarnAppmasterLaunchContextProperties properties1 = properties.getContainercluster().getClusters().get("cluster1").getLaunchcontext();
assertThat(properties1, notNullValue());
assertThat(properties1.getArchiveFile(), is("archiveFileFoo"));
Map<String, String> arguments = properties1.getArguments();
assertThat(arguments, notNullValue());
assertThat(arguments.size(), is(2));
assertThat(arguments.get("argumentsKeyFoo1"), is("argumentsValFoo1"));
assertThat(arguments.get("argumentsKeyFoo2"), is("argumentsValFoo2"));
List<String> argumentsList = properties1.getArgumentsList();
assertThat(argumentsList, notNullValue());
assertThat(argumentsList.size(), is(2));
assertThat(argumentsList, contains("argumentsListFoo1", "argumentsListFoo2"));
List<String> classpath = properties1.getContainerAppClasspath();
assertThat(classpath, notNullValue());
assertThat(classpath.size(), is(2));
assertThat(classpath.get(0), is("classpath1Foo"));
assertThat(classpath.get(1), is("classpath2Foo"));
assertThat(properties1.getRunnerClass(), is("runnerClassFoo"));
List<String> options = properties1.getOptions();
assertThat(options, notNullValue());
assertThat(options.size(), is(2));
assertThat(options.get(0), is("options1Foo"));
assertThat(options.get(1), is("options2Foo"));
assertThat(properties1.isLocality(), is(true));
assertThat(properties1.isUseYarnAppClasspath(), is(false));
assertThat(properties1.isIncludeBaseDirectory(), is(false));
assertThat(properties1.isIncludeLocalSystemEnv(), is(true));
assertThat(properties1.getPathSeparator(), is(":"));
assertThat(properties.getContainercluster().getClusters().get("cluster1").getLocalizer(), notNullValue());
SpringYarnAppmasterLocalizerProperties properties2 = properties.getContainercluster().getClusters().get("cluster1").getLocalizer();
assertThat(properties2, notNullValue());
List<String> pattern = properties2.getPatterns();
assertThat(pattern, notNullValue());
assertThat(pattern.size(), is(2));
assertThat(pattern.get(0), is("patterns1Foo"));
assertThat(pattern.get(1), is("patterns2Foo"));
List<String> names = properties2.getPropertiesNames();
assertThat(names, notNullValue());
assertThat(names.size(), is(2));
assertThat(names.get(0), is("name1Foo"));
assertThat(names.get(1), is("name2Foo"));
List<String> suffixes = properties2.getPropertiesSuffixes();
assertThat(suffixes, notNullValue());
assertThat(suffixes.size(), is(2));
assertThat(suffixes.get(0), is("suffix1Foo"));
assertThat(suffixes.get(1), is("suffix2Foo"));
assertThat(properties2.getZipPattern(), is("zipPatternFoo"));
assertThat(properties.getContainercluster().getClusters().get("cluster2").getResource(), notNullValue());
assertThat(properties.getContainercluster().getClusters().get("cluster2").getLaunchcontext(), nullValue());
assertThat(properties.getContainercluster().getClusters().get("cluster2").getLocalizer(), nullValue());
assertThat(properties.getContainercluster().getClusters().get("cluster2").getResource().getPriority(), is(2344));
assertThat(properties.getContainercluster().getClusters().get("cluster2").getResource().getMemory(), is("memoryFooo"));
assertThat(properties.getContainercluster().getClusters().get("cluster2").getResource().getVirtualCores(), is(1233));
context.close();
}