mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-08-21 23:48:47 +00:00
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:
parent
321a0e811b
commit
783cbb46de
@ -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();
|
||||||
|
}
|
||||||
|
}
|
@ -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);
|
||||||
|
@ -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));
|
||||||
|
@ -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
|
||||||
|
@ -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 + "]"));
|
||||||
|
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user