@Test
  public void addRemoteAcceptor() {
    page.navigateToMessaging();
    page.selectView("Connections");
    // same fields in acceptor adding
    page.addDiscoveryGroup(NAME, BINDING);

    verifier.verifyResource(address, true);

    cliClient.executeCommand(remove);

    verifier.verifyResource(address, false);
  }
  @Test
  public void addInVmAcceptor() {
    page.navigateToMessaging();
    page.selectView("Connections");
    page.switchType("Type: In-VM");
    page.addInVmAcceptor(NAME, SERVER);

    verifier.verifyResource(address, true);

    cliClient.executeCommand(remove);

    verifier.verifyResource(address, false);
  }
  @Test
  public void removeRemoteAcceptor() {
    cliClient.executeCommand(command);

    page.navigateToMessaging();
    page.selectView("Connections");

    verifier.verifyResource(address, true);

    page.selectInTable(NAME, 0);
    page.remove();

    verifier.verifyResource(address, false);
  }
  @Test
  public void addDiscoveryGroup() {
    page.navigateToMessaging();
    page.selectView("Clustering");
    page.switchToDiscovery();

    page.addDiscoveryGroup(NAME, BINDING);

    verifier.verifyResource(address, true);

    cliClient.executeCommand(remove);

    verifier.verifyResource(address, false);
  }
  @Test
  public void removeDiscoveryGroup() {
    cliClient.executeCommand(command);

    page.navigateToMessaging();
    page.selectView("Clustering");
    page.switchToDiscovery();

    verifier.verifyResource(address, true);

    page.selectInTable(NAME, 0);
    page.remove();

    verifier.verifyResource(address, false);
  }
  @Test
  public void updateAcceptorSocketBinding() throws IOException, CommandFailedException {
    cliClient.executeCommand(command);
    page.navigateToMessaging();
    page.selectView("Connections");
    page.selectInTable(NAME, 0);
    page.edit();

    String socketBindingName = "RemoteAcceptorSB" + RandomStringUtils.randomAlphanumeric(5);

    try (OnlineManagementClient client = ManagementClientProvider.createOnlineManagementClient()) {
      int port = AvailablePortFinder.getNextAvailable(1024);
      log.info("Obtained port for socket binding '" + socketBindingName + "' is " + port);
      client.apply(new AddSocketBinding.Builder(socketBindingName).port(port).build());
    }

    ConfigFragment editPanelFragment = page.getConfigFragment();

    editPanelFragment.getEditor().text("socketBinding", socketBindingName);
    boolean finished = editPanelFragment.save();

    assertTrue("Config should be saved and closed.", finished);
    verifier.verifyAttribute(address, "socket-binding", socketBindingName, 500);

    cliClient.executeCommand(remove);
  }
  @Test
  public void removeAcceptorProperties() {
    cliClient.executeCommand(command);
    cliClient.executeCommand(addProperty);
    page.navigateToMessaging();
    page.selectView("Connections");
    page.switchType("Type: In-VM");
    page.selectInTable(NAME, 0);
    ConfigPropertiesFragment properties = page.getConfig().propertiesConfig();
    properties.removeProperty("prop");

    verifier.verifyAttribute(address, "params", "undefined", 500);

    cliClient.executeCommand(remove);
  }
  @Test
  public void updateAcceptorProperties() {
    cliClient.executeCommand(command);
    page.navigateToMessaging();
    page.selectView("Connections");
    page.switchType("Type: In-VM");
    page.selectInTable(NAME, 0);

    ConfigPropertiesFragment properties = page.getConfig().propertiesConfig();
    ConfigPropertyWizard wizard = properties.addProperty();
    boolean result = wizard.name("prop").value("test").finish();

    assertTrue("Property should be added and wizard closed.", result);
    verifier.verifyAttribute(address, "params", "{\"prop\" => \"test\"}", 500);

    cliClient.executeCommand(remove);
  }
  @Test
  public void updateAcceptorServerID() {
    cliClient.executeCommand(command);
    page.navigateToMessaging();
    page.selectView("Connections");
    page.switchType("Type: In-VM");
    page.selectInTable(NAME, 0);
    page.edit();

    ConfigFragment editPanelFragment = page.getConfigFragment();

    editPanelFragment.getEditor().text("serverId", "0");
    boolean finished = editPanelFragment.save();

    assertTrue("Config should be saved and closed.", finished);
    verifier.verifyAttribute(address, "server-id", "0", 500);

    cliClient.executeCommand(remove);
  }
  @Test
  public void updateBroadcastGroupInitialTimeoutNegativeValue() {
    cliClient.executeCommand(command);
    page.navigateToMessaging();
    page.selectView("Clustering");
    page.switchToDiscovery();
    page.selectInTable(NAME, 0);
    page.edit();

    ConfigFragment editPanelFragment = page.getConfigFragment();

    editPanelFragment.getEditor().text("initialWaitTimeout", "-1");
    boolean finished = editPanelFragment.save();

    assertFalse("Config should not be saved and closed.Negative value.", finished);
    verifier.verifyAttribute(address, "initial-wait-timeout", "10000", 500);

    cliClient.executeCommand(remove);
  }
  @Test
  public void updateDiscoveryGroupRefreshTimeout() {
    cliClient.executeCommand(command);
    page.navigateToMessaging();
    page.selectView("Clustering");
    page.switchToDiscovery();
    page.selectInTable(NAME, 0);
    page.edit();

    ConfigFragment editPanelFragment = page.getConfigFragment();

    editPanelFragment.getEditor().text("refreshTimeout", "2000");
    boolean finished = editPanelFragment.save();

    assertTrue("Config should be saved and closed.", finished);
    verifier.verifyAttribute(address, "refresh-timeout", "2000", 500);

    cliClient.executeCommand(remove);
  }