added selenium tests for tags with space (#2129)

* added selenium tests for tags with space

* addressing style check

* addressing comments

* using config for url

* minor changes

* minor changes

* changes for new service page

* empty commit, testing workflow

* minor changes

* addressing style-check
This commit is contained in:
parthp2107 2022-01-11 17:45:28 +05:30 committed by GitHub
parent 2cb490c294
commit cf2381482d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 56 additions and 4 deletions

View File

@ -14,6 +14,9 @@
package org.openmetadata.catalog.selenium.pages.common;
import com.github.javafaker.Faker;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.time.Duration;
import java.util.ArrayList;
import java.util.List;
@ -33,6 +36,7 @@ import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.Assert;
@ -43,12 +47,14 @@ public class CommonTests {
private static final Logger LOG = Logger.getLogger(CommonTests.class.getName());
static WebDriver webDriver;
static String url = Property.getInstance().getURL();
static Actions actions;
static Faker faker = new Faker();
static String tagCategoryDisplayName = faker.name().firstName();
static String enterDescription = "//div[@data-testid='enterDescription']/div/div[2]/div/div/div/div/div/div";
static WebDriverWait wait;
Integer waitTime = Property.getInstance().getSleepTime();
static String url = Property.getInstance().getURL();
static String urlTag = "/api/v1/tags/";
@BeforeEach
public void openMetadataWindow() {
@ -86,6 +92,52 @@ public class CommonTests {
Assert.assertEquals(tagCount, 2);
}
@Test
@Order(2)
public void addTagWithSpaceCheck() throws InterruptedException, IOException {
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
Thread.sleep(waitTime);
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Tags']")); // Setting/Tags
Events.click(webDriver, By.cssSelector("[data-testid='add-category']"));
wait.until(ExpectedConditions.elementToBeClickable(webDriver.findElement(By.name("name"))));
Events.sendKeys(webDriver, By.name("name"), tagCategoryDisplayName);
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='saveButton']"));
webDriver.navigate().refresh();
Events.click(webDriver, By.xpath("//*[text()[contains(.,'" + tagCategoryDisplayName + "')]] "));
Events.click(webDriver, By.cssSelector("[data-testid='add-new-tag-button']"));
wait.until(ExpectedConditions.elementToBeClickable(By.name("name")));
Events.sendKeys(webDriver, By.name("name"), "Testing Tag");
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='saveButton']"));
URL tagUrl = new URL(url + urlTag + tagCategoryDisplayName + "/");
HttpURLConnection http = (HttpURLConnection) tagUrl.openConnection();
http.setRequestMethod("HEAD");
http.connect();
Assert.assertEquals(http.getResponseCode(), 200);
}
@Test
@Order(3)
public void addTagCategoryWithSpaceCheck() throws InterruptedException, IOException {
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
Thread.sleep(waitTime);
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Tags']")); // Setting/Tags
Events.click(webDriver, By.cssSelector("[data-testid='add-category']"));
wait.until(ExpectedConditions.elementToBeClickable(webDriver.findElement(By.name("name"))));
Events.sendKeys(webDriver, By.name("name"), "Space Tag");
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='saveButton']"));
webDriver.navigate().refresh();
URL tagUrl = new URL(url + urlTag);
HttpURLConnection http = (HttpURLConnection) tagUrl.openConnection();
http.setRequestMethod("HEAD");
http.connect();
Assert.assertEquals(http.getResponseCode(), 200);
}
@Test
@Order(4)
public void onlySpaceAsNameForServiceCheck() throws InterruptedException {

View File

@ -64,7 +64,7 @@ public class DashboardServiceTestPage {
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Services']")); // Setting/Services
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[3]"));
Events.click(webDriver, By.xpath("(//div[@data-testid='tab'])[3]"));
Thread.sleep(waitTime);
}

View File

@ -64,7 +64,7 @@ public class MessagingServicePageTest {
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Services']")); // Setting/Services
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[2]"));
Events.click(webDriver, By.xpath("(//div[@data-testid='tab'])[2]"));
Thread.sleep(waitTime);
}

View File

@ -64,7 +64,7 @@ public class PipelineServiceTestPage {
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Services']")); // Setting/Services
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[4]"));
Events.click(webDriver, By.xpath("(//div[@data-testid='tab'])[4]"));
Thread.sleep(waitTime);
}