Program: 114934
Project: 114934
Buggy source:
@Test(groups="String_Node_Str") public void checkCrossTenantSubscription() throws Exception {
  WebDriverWait wait=new WebDriverWait(driver,60);
  driver.get(getLoginURL());
  wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("String_Node_Str")));
  driver.findElement(By.id("String_Node_Str")).clear();
  driver.findElement(By.id("String_Node_Str")).sendKeys(gatewayContext.getContextTenant().getContextUser().getUserName());
  driver.findElement(By.id("String_Node_Str")).clear();
  driver.findElement(By.id("String_Node_Str")).sendKeys(gatewayContext.getContextTenant().getContextUser().getPassword());
  driver.findElement(By.cssSelector("String_Node_Str")).click();
  generateTenant("String_Node_Str");
  generateTenant("String_Node_Str");
  driver.get(getPublisherURL() + "String_Node_Str");
  wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("String_Node_Str")));
  driver.findElement(By.id("String_Node_Str")).clear();
  driver.findElement(By.id("String_Node_Str")).sendKeys(TEST_DATA_ADMIN_USER_NAME + APIMTestConstants.EMAIL_DOMAIN_SEPARATOR + TEST1_TENANT_DOMAIN);
  driver.findElement(By.id("String_Node_Str")).clear();
  driver.findElement(By.id("String_Node_Str")).sendKeys(TEST_DATA_PASSWORD);
  driver.findElement(By.id("String_Node_Str")).click();
  wait.until(ExpectedConditions.visibilityOfElementLocated(By.linkText("String_Node_Str")));
  driver.findElement(By.linkText("String_Node_Str")).click();
  wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("String_Node_Str")));
  driver.findElement(By.id("String_Node_Str")).click();
  wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("String_Node_Str")));
  driver.findElement(By.id("String_Node_Str")).click();
  driver.findElement(By.id("String_Node_Str")).clear();
  driver.findElement(By.id("String_Node_Str")).sendKeys(TEST_DATA_API_NAME);
  driver.findElement(By.id("String_Node_Str")).clear();
  driver.findElement(By.id("String_Node_Str")).sendKeys(TEST_DATA_API_NAME);
  driver.findElement(By.id("String_Node_Str")).clear();
  driver.findElement(By.id("String_Node_Str")).sendKeys(TEST_DATA_API_VERSION);
  driver.findElement(By.id("String_Node_Str")).clear();
  driver.findElement(By.id("String_Node_Str")).sendKeys("String_Node_Str");
  driver.findElement(By.cssSelector("String_Node_Str")).click();
  driver.findElement(By.id("String_Node_Str")).click();
  driver.findElement(By.id("String_Node_Str")).click();
  wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("String_Node_Str")));
  driver.findElement(By.xpath("String_Node_Str")).click();
  driver.findElement(By.id("String_Node_Str")).clear();
  driver.findElement(By.id("String_Node_Str")).sendKeys(TEST_DATA_API_END_POINT);
  driver.findElement(By.id("String_Node_Str")).click();
  driver.findElement(By.cssSelector("String_Node_Str")).click();
  driver.findElement(By.cssSelector("String_Node_Str")).click();
  new Select(driver.findElement(By.id("String_Node_Str"))).selectByValue("String_Node_Str");
  driver.findElement(By.id("String_Node_Str")).click();
  wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("String_Node_Str")));
  driver.findElement(By.id("String_Node_Str")).click();
  driver.get(getStoreURL() + "String_Node_Str" + TEST2_TENANT_DOMAIN);
  driver.navigate().refresh();
  log.info("String_Node_Str");
  wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("String_Node_Str")));
  driver.findElement(By.id("String_Node_Str")).click();
  WebElement userNameField=driver.findElement(By.id("String_Node_Str"));
  WebElement passwordField=driver.findElement(By.id("String_Node_Str"));
  userNameField.sendKeys(TEST_DATA_ADMIN_USER_NAME + APIMTestConstants.EMAIL_DOMAIN_SEPARATOR + TEST2_TENANT_DOMAIN);
  passwordField.sendKeys(TEST_DATA_PASSWORD);
  wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("String_Node_Str")));
  driver.findElement(By.id("String_Node_Str")).click();
  wait.until(ExpectedConditions.visibilityOfElementLocated(By.linkText(TEST_DATA_ADMIN_USER_NAME + APIMTestConstants.EMAIL_DOMAIN_SEPARATOR + TEST2_TENANT_DOMAIN)));
  log.info("String_Node_Str");
  driver.get(getStoreURL() + "String_Node_Str" + TEST1_TENANT_DOMAIN);
  long loopMaxTime=APIMTestConstants.MAX_LOOP_WAIT_TIME_MILLISECONDS;
  long startTime=System.currentTimeMillis();
  while ((!driver.getPageSource().contains(TEST_DATA_API_NAME)) && (System.currentTimeMillis() - startTime) < loopMaxTime) {
    driver.findElement(By.linkText("String_Node_Str")).click();
    Thread.sleep(500);
  }
  wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("String_Node_Str")));
  driver.findElement(By.cssSelector("String_Node_Str")).click();
  new Select(driver.findElement(By.id("String_Node_Str"))).selectByVisibleText(DEFAULT_APPLICATION);
  driver.findElement(By.id("String_Node_Str")).click();
  ServerConfigurationManager serverConfigurationManager=new ServerConfigurationManager(gatewayContext);
  serverConfigurationManager.restartGracefully();
  driver.get(getStoreURL() + "String_Node_Str" + TEST2_TENANT_DOMAIN);
  log.info("String_Node_Str");
  wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("String_Node_Str")));
  driver.findElement(By.id("String_Node_Str")).click();
  WebElement userNameField1=driver.findElement(By.id("String_Node_Str"));
  WebElement passwordField1=driver.findElement(By.id("String_Node_Str"));
  userNameField1.sendKeys(TEST_DATA_ADMIN_USER_NAME + APIMTestConstants.EMAIL_DOMAIN_SEPARATOR + TEST2_TENANT_DOMAIN);
  passwordField1.sendKeys(TEST_DATA_PASSWORD);
  wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("String_Node_Str")));
  driver.findElement(By.id("String_Node_Str")).click();
  wait.until(ExpectedConditions.visibilityOfElementLocated(By.linkText("String_Node_Str")));
  log.info("String_Node_Str");
  driver.get(getStoreURL() + "String_Node_Str" + TEST1_TENANT_DOMAIN);
  driver.findElement(By.cssSelector("String_Node_Str")).click();
  wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("String_Node_Str")));
}

Fixed version (ground truth):
@Test(groups="String_Node_Str") public void checkCrossTenantSubscription() throws Exception {
  WebDriverWait wait=new WebDriverWait(driver,60);
  driver.get(getLoginURL());
  wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("String_Node_Str")));
  driver.findElement(By.id("String_Node_Str")).clear();
  driver.findElement(By.id("String_Node_Str")).sendKeys(gatewayContextMgt.getContextTenant().getContextUser().getUserName());
  driver.findElement(By.id("String_Node_Str")).clear();
  driver.findElement(By.id("String_Node_Str")).sendKeys(gatewayContextMgt.getContextTenant().getContextUser().getPassword());
  driver.findElement(By.cssSelector("String_Node_Str")).click();
  generateTenant("String_Node_Str");
  generateTenant("String_Node_Str");
  driver.get(getPublisherURL() + "String_Node_Str");
  wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("String_Node_Str")));
  driver.findElement(By.id("String_Node_Str")).clear();
  driver.findElement(By.id("String_Node_Str")).sendKeys(TEST_DATA_ADMIN_USER_NAME + APIMTestConstants.EMAIL_DOMAIN_SEPARATOR + TEST1_TENANT_DOMAIN);
  driver.findElement(By.id("String_Node_Str")).clear();
  driver.findElement(By.id("String_Node_Str")).sendKeys(TEST_DATA_PASSWORD);
  driver.findElement(By.id("String_Node_Str")).click();
  wait.until(ExpectedConditions.visibilityOfElementLocated(By.linkText("String_Node_Str")));
  driver.findElement(By.linkText("String_Node_Str")).click();
  wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("String_Node_Str")));
  driver.findElement(By.id("String_Node_Str")).click();
  wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("String_Node_Str")));
  driver.findElement(By.id("String_Node_Str")).click();
  driver.findElement(By.id("String_Node_Str")).clear();
  driver.findElement(By.id("String_Node_Str")).sendKeys(TEST_DATA_API_NAME);
  driver.findElement(By.id("String_Node_Str")).clear();
  driver.findElement(By.id("String_Node_Str")).sendKeys(TEST_DATA_API_NAME);
  driver.findElement(By.id("String_Node_Str")).clear();
  driver.findElement(By.id("String_Node_Str")).sendKeys(TEST_DATA_API_VERSION);
  driver.findElement(By.id("String_Node_Str")).clear();
  driver.findElement(By.id("String_Node_Str")).sendKeys("String_Node_Str");
  driver.findElement(By.cssSelector("String_Node_Str")).click();
  driver.findElement(By.id("String_Node_Str")).click();
  driver.findElement(By.id("String_Node_Str")).click();
  wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("String_Node_Str")));
  driver.findElement(By.xpath("String_Node_Str")).click();
  driver.findElement(By.id("String_Node_Str")).clear();
  driver.findElement(By.id("String_Node_Str")).sendKeys(TEST_DATA_API_END_POINT);
  driver.findElement(By.id("String_Node_Str")).click();
  driver.findElement(By.cssSelector("String_Node_Str")).click();
  driver.findElement(By.cssSelector("String_Node_Str")).click();
  new Select(driver.findElement(By.id("String_Node_Str"))).selectByValue("String_Node_Str");
  driver.findElement(By.id("String_Node_Str")).click();
  wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("String_Node_Str")));
  driver.findElement(By.id("String_Node_Str")).click();
  driver.get(getStoreURL() + "String_Node_Str" + TEST2_TENANT_DOMAIN);
  driver.navigate().refresh();
  log.info("String_Node_Str");
  wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("String_Node_Str")));
  driver.findElement(By.id("String_Node_Str")).click();
  WebElement userNameField=driver.findElement(By.id("String_Node_Str"));
  WebElement passwordField=driver.findElement(By.id("String_Node_Str"));
  userNameField.sendKeys(TEST_DATA_ADMIN_USER_NAME + APIMTestConstants.EMAIL_DOMAIN_SEPARATOR + TEST2_TENANT_DOMAIN);
  passwordField.sendKeys(TEST_DATA_PASSWORD);
  wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("String_Node_Str")));
  driver.findElement(By.id("String_Node_Str")).click();
  wait.until(ExpectedConditions.visibilityOfElementLocated(By.linkText(TEST_DATA_ADMIN_USER_NAME + APIMTestConstants.EMAIL_DOMAIN_SEPARATOR + TEST2_TENANT_DOMAIN)));
  log.info("String_Node_Str");
  driver.get(getStoreURL() + "String_Node_Str" + TEST1_TENANT_DOMAIN);
  long loopMaxTime=APIMTestConstants.MAX_LOOP_WAIT_TIME_MILLISECONDS;
  long startTime=System.currentTimeMillis();
  while ((!driver.getPageSource().contains(TEST_DATA_API_NAME)) && (System.currentTimeMillis() - startTime) < loopMaxTime) {
    driver.findElement(By.linkText("String_Node_Str")).click();
    Thread.sleep(500);
  }
  wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("String_Node_Str")));
  driver.findElement(By.cssSelector("String_Node_Str")).click();
  new Select(driver.findElement(By.id("String_Node_Str"))).selectByVisibleText(DEFAULT_APPLICATION);
  driver.findElement(By.id("String_Node_Str")).click();
  ServerConfigurationManager serverConfigurationManager=new ServerConfigurationManager(gatewayContextMgt);
  serverConfigurationManager.restartGracefully();
  driver.get(getStoreURL() + "String_Node_Str" + TEST2_TENANT_DOMAIN);
  log.info("String_Node_Str");
  wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("String_Node_Str")));
  driver.findElement(By.id("String_Node_Str")).click();
  WebElement userNameField1=driver.findElement(By.id("String_Node_Str"));
  WebElement passwordField1=driver.findElement(By.id("String_Node_Str"));
  userNameField1.sendKeys(TEST_DATA_ADMIN_USER_NAME + APIMTestConstants.EMAIL_DOMAIN_SEPARATOR + TEST2_TENANT_DOMAIN);
  passwordField1.sendKeys(TEST_DATA_PASSWORD);
  wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("String_Node_Str")));
  driver.findElement(By.id("String_Node_Str")).click();
  wait.until(ExpectedConditions.visibilityOfElementLocated(By.linkText("String_Node_Str")));
  log.info("String_Node_Str");
  driver.get(getStoreURL() + "String_Node_Str" + TEST1_TENANT_DOMAIN);
  driver.findElement(By.cssSelector("String_Node_Str")).click();
  wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("String_Node_Str")));
}