@Test public void testGetConfiguration() throws Exception { SUSEStudioRequester<Configuration> requester = new SUSEStudioRequester<Configuration>() { public Configuration request(SUSEStudio suseStudio) throws SUSEStudioException { return suseStudio.getConfiguration(0); } }; TestExampleResponder responder = new TestExampleResponder("configuration.xml"); Configuration result = new HttpServerMock().getResult(requester, responder); assertNotNull(result); assertEquals(24, result.getId()); assertEquals("LAMP Server", result.getName()); assertEquals( "This is a LAMP server.\n\nIt provides Linux, Apache, MySQL, and Perl.", result.getDescription()); assertEquals("0.0.1", result.getVersion()); assertEquals("oem", result.getType()); assertEquals("http://susestudio.com", result.getWebsite()); List<String> tags = result.getTags(); assertNotNull(tags); assertEquals(2, tags.size()); String[] expectedTags = {"lamp", "server"}; for (int i = 0; i < expectedTags.length; i++) { assertEquals(expectedTags[i], tags.get(i)); } Locale locale = result.getLocale(); assertNotNull(locale); assertEquals("english-uk", locale.getKeyboardLayout()); assertEquals("en_GB.UTF-8", locale.getLanguage()); assertEquals("Europe/Berlin", locale.getLocation()); Network network = result.getNetwork(); assertNotNull(network); assertEquals("manual", network.getType()); assertEquals("lampserver", network.getHostname()); assertEquals("192.168.1.100", network.getIp()); assertEquals("255.255.255.0", network.getNetmask()); assertEquals("192.168.1.1", network.getRoute()); List<String> nameServers = network.getNameServers(); assertNotNull(nameServers); assertEquals(2, nameServers.size()); String[] expectedNameServers = {"192.168.1.1", "192.168.1.2"}; for (int i = 0; i < expectedNameServers.length; i++) { assertEquals(expectedNameServers[i], nameServers.get(i)); } Firewall firewall = result.getFirewall(); assertNotNull(firewall); assertEquals(true, firewall.isEnabled()); List<String> openPorts = firewall.getOpenPorts(); assertNotNull(openPorts); assertEquals(2, openPorts.size()); String[] expectedOpenPorts = {"ssh", "http"}; for (int i = 0; i < expectedOpenPorts.length; i++) { assertEquals(expectedOpenPorts[i], openPorts.get(i)); } List<ApplianceUser> applianceUsers = result.getApplianceUsers(); assertNotNull(applianceUsers); assertEquals(3, applianceUsers.size()); // root ApplianceUser user = applianceUsers.get(0); assertEquals(0, user.getUid()); assertEquals("root", user.getName()); assertEquals("linux", user.getPassword()); assertEquals("root", user.getGroup()); assertEquals("/bin/bash", user.getShell()); assertEquals("/root", user.getHomeDirectory()); // tux user = applianceUsers.get(1); assertEquals(1000, user.getUid()); assertEquals("tux", user.getName()); assertEquals("linux", user.getPassword()); assertEquals("users", user.getGroup()); assertEquals("/bin/bash", user.getShell()); assertEquals("/home/tux", user.getHomeDirectory()); // webdev user = applianceUsers.get(2); assertEquals(1001, user.getUid()); assertEquals("webdev", user.getName()); assertEquals("linux1234", user.getPassword()); assertEquals("users", user.getGroup()); assertEquals("/bin/bash", user.getShell()); assertEquals("/home/webdev", user.getHomeDirectory()); List<String> eulas = result.getEulas(); assertNotNull(eulas); assertEquals(1, eulas.size()); assertEquals("This is an End User License Agreement.\n", eulas.get(0)); List<Database> databases = result.getDatabases(); assertNotNull(databases); assertEquals(1, databases.size()); Database database = databases.get(0); assertEquals("pgsql", database.getType()); List<DatabaseUser> databaseUsers = database.getDatabaseUsers(); assertNotNull(databaseUsers); assertEquals(1, databaseUsers.size()); DatabaseUser databaseUser = databaseUsers.get(0); assertNotNull(databaseUser); assertEquals("db_user", databaseUser.getUsername()); assertEquals("linux", databaseUser.getPassword()); List<String> userDatabases = databaseUser.getDatabases(); assertNotNull(userDatabases); assertEquals(1, userDatabases.size()); assertEquals("project_db", userDatabases.get(0)); List<Autostart> autostarts = result.getAutostarts(); assertNotNull(autostarts); assertEquals(1, autostarts.size()); Autostart autostart = autostarts.get(0); assertNotNull(autostart); assertEquals("/usr/bin/someprogram", autostart.getCommand()); assertEquals("Launch \"someprogram\"", autostart.getDescription()); assertEquals(true, autostart.isEnabled()); assertEquals("tux", autostart.getUser()); Settings settings = result.getSettings(); assertNotNull(settings); assertEquals(512, settings.getMemorySize()); assertEquals(16, settings.getDiskSize()); assertEquals(512, settings.getSwapSize()); assertEquals(false, settings.isPaeEnabled()); assertEquals(true, settings.isXenHostModeEnabled()); assertEquals(true, settings.isCdromEnabled()); assertEquals(false, settings.isWebYaSTEnabled()); assertEquals(false, settings.isLiveInstallerEnabled()); assertEquals(true, settings.isPublicClonable()); assertEquals(3, settings.getRunlevel()); assertEquals("tux", settings.getAutomaticLogin()); LVM lvm = result.getLvm(); assertNotNull(lvm); assertEquals(true, lvm.isEnabled()); assertEquals("systemVG", lvm.getVolumeGroup()); List<Volume> volumes = lvm.getVolumes(); assertNotNull(volumes); assertEquals(2, volumes.size()); // volume 1 Volume volume = volumes.get(0); assertEquals(1000, volume.getSize()); assertEquals("/", volume.getPath()); // volume 2 volume = volumes.get(1); assertEquals(100000, volume.getSize()); assertEquals("/home", volume.getPath()); Scripts scripts = result.getScripts(); assertNotNull(scripts); Script bootScript = scripts.getBootScript(); Script buildScript = scripts.getBuildScript(); assertNotNull(buildScript); assertEquals(true, buildScript.isEnabled()); assertEquals(EXPECTED_SCRIPT_1, buildScript.getScript()); assertNotNull(bootScript); assertEquals(true, bootScript.isEnabled()); assertEquals(EXPECTED_SCRIPT_2, bootScript.getScript()); Script autoYaSTScript = scripts.getAutoYaSTScript(); assertNotNull(autoYaSTScript); assertEquals(false, autoYaSTScript.isEnabled()); assertNull(autoYaSTScript.getScript()); }