Пример #1
0
  @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());
  }