added test for tag duplication (#2096)

* added test for tag dublication

* minor changes

* java style-check changes

* minor fixing in tests

* test fixes

* minor change
This commit is contained in:
parthp2107 2022-01-10 11:25:33 +05:30 committed by GitHub
parent 321a0e811b
commit 783cbb46de
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 103 additions and 9 deletions

View File

@ -0,0 +1,92 @@
/*
* Copyright 2021 Collate
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.openmetadata.catalog.selenium.pages.common;
import java.time.Duration;
import java.util.ArrayList;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
import org.openmetadata.catalog.selenium.events.Events;
import org.openmetadata.catalog.selenium.properties.Property;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.Assert;
@Order(17)
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public class CommonTests {
static WebDriver webDriver;
static String url = Property.getInstance().getURL();
static Actions actions;
static WebDriverWait wait;
Integer waitTime = Property.getInstance().getSleepTime();
@BeforeEach
public void openMetadataWindow() {
System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/linux/chromedriver");
ChromeOptions options = new ChromeOptions();
options.addArguments("--headless");
options.addArguments("--window-size=1280,800");
webDriver = new ChromeDriver(options);
actions = new Actions(webDriver);
wait = new WebDriverWait(webDriver, Duration.ofSeconds(30));
webDriver.manage().window().maximize();
webDriver.get(url);
}
@Test
@Order(1)
public void tagDuplicationCheck() throws InterruptedException {
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
Thread.sleep(waitTime);
Events.click(webDriver, By.cssSelector("[data-testid='tables']")); // Tables
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), "dim_location");
Events.click(webDriver, By.cssSelector("[data-testid='data-name']"));
Thread.sleep(waitTime);
actions.moveToElement(webDriver.findElement(By.xpath("//div[@data-testid='tag-conatiner']//span"))).perform();
Events.click(webDriver, By.xpath("//div[@data-testid='tag-conatiner']//span"));
Events.click(webDriver, By.cssSelector("[data-testid='associatedTagName']"));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='associatedTagName']"), "PersonalData.Personal");
Events.click(webDriver, By.cssSelector("[data-testid='list-item']"));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='associatedTagName']"), "User.FacePhoto");
Events.click(webDriver, By.cssSelector("[data-testid='list-item']"));
Events.click(webDriver, By.cssSelector("[data-testid='saveAssociatedTag']"));
Thread.sleep(2000);
Object tagCount =
webDriver.findElements(By.xpath("//*[text()[contains(.,'" + "#PersonalData.Personal" + "')]] ")).size();
Assert.assertEquals(tagCount, 2);
}
@AfterEach
public void closeTabs() {
ArrayList<String> tabs = new ArrayList<>(webDriver.getWindowHandles());
String originalHandle = webDriver.getWindowHandle();
for (String handle : webDriver.getWindowHandles()) {
if (!handle.equals(originalHandle)) {
webDriver.switchTo().window(handle);
webDriver.close();
}
}
webDriver.switchTo().window(tabs.get(0)).close();
}
}

View File

@ -175,6 +175,7 @@ public class PaginationAndFilterTest {
} }
Events.click(webDriver, By.cssSelector("[data-testid='saveAssociatedTag']")); Events.click(webDriver, By.cssSelector("[data-testid='saveAssociatedTag']"));
webDriver.navigate().back(); webDriver.navigate().back();
webDriver.navigate().refresh();
Events.click(webDriver, By.cssSelector("[data-testid='checkbox'][id='PII.None']")); Events.click(webDriver, By.cssSelector("[data-testid='checkbox'][id='PII.None']"));
Events.click(webDriver, By.cssSelector("[data-testid='checkbox'][id='shopify']")); Events.click(webDriver, By.cssSelector("[data-testid='checkbox'][id='shopify']"));
Thread.sleep(2000); Thread.sleep(2000);

View File

@ -50,6 +50,7 @@ public class MessagingServicePageTest {
System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/linux/chromedriver"); System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/linux/chromedriver");
ChromeOptions options = new ChromeOptions(); ChromeOptions options = new ChromeOptions();
options.addArguments("--headless"); options.addArguments("--headless");
options.addArguments("--window-size=1280,800");
webDriver = new ChromeDriver(options); webDriver = new ChromeDriver(options);
actions = new Actions(webDriver); actions = new Actions(webDriver);
wait = new WebDriverWait(webDriver, Duration.ofSeconds(30)); wait = new WebDriverWait(webDriver, Duration.ofSeconds(30));

View File

@ -138,7 +138,7 @@ public class MyDataPageTest {
Events.click(webDriver, By.cssSelector("[data-testid='tables']")); // Tables Events.click(webDriver, By.cssSelector("[data-testid='tables']")); // Tables
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), table); Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), table);
Events.click(webDriver, By.cssSelector("[data-testid='data-name'][id='bigquery_gcpshopifydim_product_variant']")); Events.click(webDriver, By.cssSelector("[data-testid='data-name'][id='bigquery_gcpshopifydim_product_variant']"));
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[4]")); // Manage Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[5]")); // Manage
Events.click(webDriver, By.cssSelector("[data-testid='owner-dropdown']")); // Owner Events.click(webDriver, By.cssSelector("[data-testid='owner-dropdown']")); // Owner
Events.click(webDriver, By.xpath("//div[@data-testid='dropdown-list']//div[2]//button[2]")); Events.click(webDriver, By.xpath("//div[@data-testid='dropdown-list']//div[2]//button[2]"));
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Select User/Team Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Select User/Team

View File

@ -72,9 +72,10 @@ public class TableDetailsPageTest {
openExplorePage(); openExplorePage();
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), tableName); Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), tableName);
Events.click(webDriver, By.cssSelector("[data-testid='data-name']")); Events.click(webDriver, By.cssSelector("[data-testid='data-name']"));
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[2]")); // Profiler Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[2]")); // Sample Data
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[3]")); // Lineage Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[3]")); // Profiler
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[4]")); // Manage Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[4]")); // Lineage
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[5]")); // Manage
} }
@Test @Test
@ -178,7 +179,6 @@ public class TableDetailsPageTest {
Events.click(webDriver, By.cssSelector("[data-testid='getFollowerDetail']")); Events.click(webDriver, By.cssSelector("[data-testid='getFollowerDetail']"));
Events.click(webDriver, By.cssSelector("[data-testid='follow-button']")); Events.click(webDriver, By.cssSelector("[data-testid='follow-button']"));
Events.click(webDriver, By.cssSelector("[data-testid='getFollowerDetail']")); Events.click(webDriver, By.cssSelector("[data-testid='getFollowerDetail']"));
Events.click(webDriver, By.cssSelector("[data-testid='sample-data-button']"));
} }
@Test @Test
@ -187,7 +187,7 @@ public class TableDetailsPageTest {
openExplorePage(); openExplorePage();
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), tableName); Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), tableName);
Events.click(webDriver, By.cssSelector("[data-testid='data-name']")); Events.click(webDriver, By.cssSelector("[data-testid='data-name']"));
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[2]")); // Profiler Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[3]")); // Profiler
for (int i = 1; i <= 4; i++) { for (int i = 1; i <= 4; i++) {
Events.click(webDriver, By.xpath("(//td[@data-testid='tableBody-cell']//span)" + "[" + i + "]")); // Profiler Events.click(webDriver, By.xpath("(//td[@data-testid='tableBody-cell']//span)" + "[" + i + "]")); // Profiler
actions actions
@ -207,7 +207,7 @@ public class TableDetailsPageTest {
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
Thread.sleep(3000); Thread.sleep(3000);
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]")); Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[4]")); // Manage Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[5]")); // Manage
Events.click(webDriver, By.cssSelector("[data-testid='owner-dropdown']")); // Owner Events.click(webDriver, By.cssSelector("[data-testid='owner-dropdown']")); // Owner
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchInputText']"), "Cloud"); Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchInputText']"), "Cloud");
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Select User/Team Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Select User/Team
@ -223,7 +223,7 @@ public class TableDetailsPageTest {
openExplorePage(); openExplorePage();
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), tableName); Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), tableName);
Events.click(webDriver, By.cssSelector("[data-testid='data-name']")); Events.click(webDriver, By.cssSelector("[data-testid='data-name']"));
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[3]")); Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[4]"));
for (int i = 1; i <= 3; i++) { for (int i = 1; i <= 3; i++) {
WebElement lineageEntity = WebElement lineageEntity =
webDriver.findElement(By.xpath("(//span[@data-testid='lineage-entity'])" + "[" + i + "]")); webDriver.findElement(By.xpath("(//span[@data-testid='lineage-entity'])" + "[" + i + "]"));

View File

@ -119,7 +119,7 @@ public class TeamsPageTest {
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated // Last Updated Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated // Last Updated
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]")); Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[4]")); // Manage Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[5]")); // Manage
Events.click(webDriver, By.cssSelector("[data-testid='owner-dropdown']")); // Owner Events.click(webDriver, By.cssSelector("[data-testid='owner-dropdown']")); // Owner
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchInputText']"), teamDisplayName); Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchInputText']"), teamDisplayName);
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Select User/Team Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Select User/Team