* Fix #1299: Move UI module into its own maven module * Fix #1299: fix indentation in selenium tests * Fix #1299: fix indentation in selenium tests * Fix #1299: fix indentation in selenium tests * Fix: Updated json2ts command script * Removed ignored file for bundle analyzer * Updated gitignore * Cleaning up the gitignore Co-authored-by: darth-coder00 <aashit@getcollate.io>
4
.gitignore
vendored
@ -65,8 +65,8 @@ dist
|
||||
secrets
|
||||
|
||||
# ts build info and report
|
||||
catalog-rest-service/src/main/resources/ui/webpack
|
||||
catalog-rest-service/src/main/resources/ui/tsconfig.tsbuildinfo
|
||||
openmetadata-ui/src/main/resources/ui/webpack
|
||||
openmetadata-ui/src/main/resources/ui/tsconfig.tsbuildinfo
|
||||
|
||||
#tests
|
||||
.coverage
|
||||
|
@ -319,14 +319,6 @@
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>src/main/resources/ui/dist</directory>
|
||||
</resource>
|
||||
<resource>
|
||||
<directory>src/main/resources/json/data</directory>
|
||||
</resource>
|
||||
</resources>
|
||||
|
||||
<plugins>
|
||||
<plugin>
|
||||
@ -418,69 +410,6 @@
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<!-- Handle Compiling Frontend -->
|
||||
<plugin>
|
||||
<groupId>com.github.eirslett</groupId>
|
||||
<artifactId>frontend-maven-plugin</artifactId>
|
||||
<version>1.11.0</version>
|
||||
|
||||
<!-- optional -->
|
||||
<configuration>
|
||||
<workingDirectory>src/main/resources/ui/</workingDirectory>
|
||||
<installDirectory>target</installDirectory>
|
||||
</configuration>
|
||||
|
||||
<executions>
|
||||
<execution>
|
||||
<id>install node and npm</id>
|
||||
<goals>
|
||||
<goal>install-node-and-npm</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<nodeVersion>v12.16.1</nodeVersion>
|
||||
<npmVersion>6.13.4</npmVersion>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>npm install</id>
|
||||
<goals>
|
||||
<goal>npm</goal>
|
||||
</goals>
|
||||
<phase>prepare-package</phase>
|
||||
<configuration>
|
||||
<arguments>install</arguments>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>npm run-script build-check</id>
|
||||
<goals>
|
||||
<goal>npm</goal>
|
||||
</goals>
|
||||
<!-- optional: the default phase is "generate-resources" -->
|
||||
<phase>prepare-package</phase>
|
||||
<configuration>
|
||||
<!-- optional: if not specified, it will run gulp's default task
|
||||
(and you can remove this whole <configuration> section.) -->
|
||||
<arguments>run-script build-check</arguments>
|
||||
<!--arguments>build</arguments-->
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>npm run-script build</id>
|
||||
<goals>
|
||||
<goal>npm</goal>
|
||||
</goals>
|
||||
<!-- optional: the default phase is "generate-resources" -->
|
||||
<phase>prepare-package</phase>
|
||||
<configuration>
|
||||
<!-- optional: if not specified, it will run gulp's default task
|
||||
(and you can remove this whole <configuration> section.) -->
|
||||
<arguments>run-script build</arguments>
|
||||
<!--arguments>build</arguments-->
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-resources-plugin</artifactId>
|
||||
<executions>
|
||||
|
@ -25,7 +25,6 @@ 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.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
@ -40,153 +39,153 @@ import java.util.ArrayList;
|
||||
|
||||
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
|
||||
public class PipelineDetailsPageTest {
|
||||
static WebDriver webDriver;
|
||||
static String url = Property.getInstance().getURL();
|
||||
Integer waitTime = Property.getInstance().getSleepTime();
|
||||
static Faker faker = new Faker();
|
||||
String pipelineName = "dim_product etl";
|
||||
static String enterDescription = "//div[@data-testid='enterDescription']/div/div[2]/div/div/div/div/div/div";
|
||||
static Actions actions;
|
||||
static WebDriverWait wait;
|
||||
static WebDriver webDriver;
|
||||
static String url = Property.getInstance().getURL();
|
||||
Integer waitTime = Property.getInstance().getSleepTime();
|
||||
static Faker faker = new Faker();
|
||||
String pipelineName = "dim_product etl";
|
||||
static String enterDescription = "//div[@data-testid='enterDescription']/div/div[2]/div/div/div/div/div/div";
|
||||
static Actions actions;
|
||||
static WebDriverWait wait;
|
||||
|
||||
@BeforeEach
|
||||
public void openMetadataWindow() {
|
||||
System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/linux/chromedriver");
|
||||
ChromeOptions options = new ChromeOptions();
|
||||
options.addArguments("--headless");
|
||||
webDriver = new ChromeDriver(options);
|
||||
actions = new Actions(webDriver);
|
||||
wait = new WebDriverWait(webDriver, Duration.ofSeconds(5));
|
||||
webDriver.manage().window().maximize();
|
||||
webDriver.get(url);
|
||||
}
|
||||
@BeforeEach
|
||||
public void openMetadataWindow() {
|
||||
System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/linux/chromedriver");
|
||||
ChromeOptions options = new ChromeOptions();
|
||||
options.addArguments("--headless");
|
||||
webDriver = new ChromeDriver(options);
|
||||
actions = new Actions(webDriver);
|
||||
wait = new WebDriverWait(webDriver, Duration.ofSeconds(5));
|
||||
webDriver.manage().window().maximize();
|
||||
webDriver.get(url);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Order(1)
|
||||
public void openExplorePage() throws InterruptedException {
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='appbar-item'][id='explore']")); // Explore
|
||||
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[4]")); // Pipeline
|
||||
Thread.sleep(waitTime);
|
||||
}
|
||||
@Test
|
||||
@Order(1)
|
||||
public void openExplorePage() throws InterruptedException {
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='appbar-item'][id='explore']")); // Explore
|
||||
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[4]")); // Pipeline
|
||||
Thread.sleep(waitTime);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Order(2)
|
||||
public void editDescription() throws InterruptedException {
|
||||
openExplorePage();
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
|
||||
Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[last()]"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='edit-description']"));
|
||||
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
|
||||
}
|
||||
@Test
|
||||
@Order(2)
|
||||
public void editDescription() throws InterruptedException {
|
||||
openExplorePage();
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
|
||||
Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[last()]"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='edit-description']"));
|
||||
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@Order(3)
|
||||
public void addTag() throws InterruptedException {
|
||||
openExplorePage();
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
|
||||
Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[last()]"));
|
||||
Thread.sleep(waitTime);
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='tags']"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='associatedTagName']"));
|
||||
for (int i = 1; i <=2; i++){
|
||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='associatedTagName']"), "P");
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']"));
|
||||
}
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='saveAssociatedTag']"));
|
||||
webDriver.navigate().back();
|
||||
webDriver.navigate().refresh();
|
||||
@Test
|
||||
@Order(3)
|
||||
public void addTag() throws InterruptedException {
|
||||
openExplorePage();
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
|
||||
Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[last()]"));
|
||||
Thread.sleep(waitTime);
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='tags']"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='associatedTagName']"));
|
||||
for (int i = 1; i <= 2; i++) {
|
||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='associatedTagName']"), "P");
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']"));
|
||||
}
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='saveAssociatedTag']"));
|
||||
webDriver.navigate().back();
|
||||
webDriver.navigate().refresh();
|
||||
}
|
||||
|
||||
@Test
|
||||
@Order(4)
|
||||
public void removeTag() throws InterruptedException {
|
||||
openExplorePage();
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
|
||||
Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[1]"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='tag-conatiner']"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='remove']"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='remove']"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='saveAssociatedTag']"));
|
||||
}
|
||||
@Test
|
||||
@Order(4)
|
||||
public void removeTag() throws InterruptedException {
|
||||
openExplorePage();
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
|
||||
Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[1]"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='tag-conatiner']"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='remove']"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='remove']"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='saveAssociatedTag']"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@Order(5)
|
||||
public void editTaskDescription() throws InterruptedException {
|
||||
openExplorePage();
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
|
||||
Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[last()]"));
|
||||
Thread.sleep(waitTime);
|
||||
actions.moveToElement(webDriver.findElement(By.xpath("//div[@data-testid='description']/button"))).perform();
|
||||
Events.click(webDriver, By.xpath("//div[@data-testid='description']/button"));
|
||||
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
|
||||
}
|
||||
@Test
|
||||
@Order(5)
|
||||
public void editTaskDescription() throws InterruptedException {
|
||||
openExplorePage();
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
|
||||
Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[last()]"));
|
||||
Thread.sleep(waitTime);
|
||||
actions.moveToElement(webDriver.findElement(By.xpath("//div[@data-testid='description']/button"))).perform();
|
||||
Events.click(webDriver, By.xpath("//div[@data-testid='description']/button"));
|
||||
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@Order(6)
|
||||
public void checkLineage() throws InterruptedException {
|
||||
openExplorePage();
|
||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), pipelineName);
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='data-name'][id ='sample_airflowdim_product_etl']"));
|
||||
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[2]"));
|
||||
for (int i=1; i<=3; i++) {
|
||||
WebElement lineageEntity = webDriver.findElement(
|
||||
By.xpath("(//span[@data-testid='lineage-entity'])" + "[" + i + "]"));
|
||||
actions.dragAndDropBy(lineageEntity, 100, 200).build();
|
||||
}
|
||||
@Test
|
||||
@Order(6)
|
||||
public void checkLineage() throws InterruptedException {
|
||||
openExplorePage();
|
||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), pipelineName);
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='data-name'][id ='sample_airflowdim_product_etl']"));
|
||||
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[2]"));
|
||||
for (int i = 1; i <= 3; i++) {
|
||||
WebElement lineageEntity = webDriver.findElement(
|
||||
By.xpath("(//span[@data-testid='lineage-entity'])" + "[" + i + "]"));
|
||||
actions.dragAndDropBy(lineageEntity, 100, 200).build();
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@Order(7)
|
||||
public void checkManage() throws InterruptedException {
|
||||
openExplorePage();
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
|
||||
Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[last()]"));
|
||||
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[3]"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='owner-dropdown']")); // Owner
|
||||
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='card-list']")); // Select Tier
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='saveManageTab']")); // Save
|
||||
webDriver.navigate().back();
|
||||
webDriver.navigate().refresh();
|
||||
}
|
||||
@Test
|
||||
@Order(7)
|
||||
public void checkManage() throws InterruptedException {
|
||||
openExplorePage();
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
|
||||
Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[last()]"));
|
||||
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[3]"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='owner-dropdown']")); // Owner
|
||||
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='card-list']")); // Select Tier
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='saveManageTab']")); // Save
|
||||
webDriver.navigate().back();
|
||||
webDriver.navigate().refresh();
|
||||
}
|
||||
|
||||
@Test
|
||||
@Order(8)
|
||||
public void checkBreadCrumb() throws InterruptedException {
|
||||
openExplorePage();
|
||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), pipelineName);
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='data-name'][id ='sample_airflowdim_product_etl']"));
|
||||
Thread.sleep(waitTime);
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='breadcrumb-link']"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='description-edit']")); // edit description
|
||||
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
|
||||
for (int i = 1; i <= 3; i++) { //check topics in service
|
||||
Events.click(webDriver, By.xpath("(//tr[@data-testid='column']//td[1]/a)" + "[" + i + "]")); // pipelines
|
||||
Thread.sleep(waitTime);
|
||||
webDriver.navigate().back();
|
||||
}
|
||||
@Test
|
||||
@Order(8)
|
||||
public void checkBreadCrumb() throws InterruptedException {
|
||||
openExplorePage();
|
||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), pipelineName);
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='data-name'][id ='sample_airflowdim_product_etl']"));
|
||||
Thread.sleep(waitTime);
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='breadcrumb-link']"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='description-edit']")); // edit description
|
||||
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
|
||||
for (int i = 1; i <= 3; i++) { //check topics in service
|
||||
Events.click(webDriver, By.xpath("(//tr[@data-testid='column']//td[1]/a)" + "[" + i + "]")); // pipelines
|
||||
Thread.sleep(waitTime);
|
||||
webDriver.navigate().back();
|
||||
}
|
||||
}
|
||||
|
||||
@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();
|
||||
@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();
|
||||
}
|
||||
}
|
||||
|
@ -27,7 +27,7 @@
|
||||
<version>0.7.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>catalog-bin</artifactId>
|
||||
<artifactId>openmetadata-dist</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<name>Catalog Distribution</name>
|
||||
<description>Catalog binary distribution</description>
|
||||
@ -43,6 +43,11 @@
|
||||
<artifactId>common</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.openmetadata</groupId>
|
||||
<artifactId>openmetadata-ui</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<properties>
|
133
openmetadata-ui/pom.xml
Normal file
@ -0,0 +1,133 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<artifactId>catalog</artifactId>
|
||||
<groupId>org.openmetadata</groupId>
|
||||
<version>0.7.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>openmetadata-ui</artifactId>
|
||||
|
||||
<properties>
|
||||
<dropwizard.swagger.version>2.0.12-1</dropwizard.swagger.version>
|
||||
<testng.version>7.4.0</testng.version>
|
||||
<selenium.version>4.0.0</selenium.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.openmetadata</groupId>
|
||||
<artifactId>common</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.openmetadata</groupId>
|
||||
<artifactId>catalog-rest-service</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.seleniumhq.selenium</groupId>
|
||||
<artifactId>selenium-java</artifactId>
|
||||
<version>${selenium.version}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.github.artsok</groupId>
|
||||
<artifactId>rerunner-jupiter</artifactId>
|
||||
<version>2.1.6</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.testng</groupId>
|
||||
<artifactId>testng</artifactId>
|
||||
<version>${testng.version}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.github.javafaker</groupId>
|
||||
<artifactId>javafaker</artifactId>
|
||||
<version>1.0.2</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>src/main/resources/ui/dist</directory>
|
||||
</resource>
|
||||
<resource>
|
||||
<directory>src/main/resources/json/data</directory>
|
||||
</resource>
|
||||
</resources>
|
||||
|
||||
<plugins>
|
||||
<!-- Handle Compiling Frontend -->
|
||||
<plugin>
|
||||
<groupId>com.github.eirslett</groupId>
|
||||
<artifactId>frontend-maven-plugin</artifactId>
|
||||
<version>1.11.0</version>
|
||||
|
||||
<!-- optional -->
|
||||
<configuration>
|
||||
<workingDirectory>src/main/resources/ui/</workingDirectory>
|
||||
<installDirectory>target</installDirectory>
|
||||
</configuration>
|
||||
|
||||
<executions>
|
||||
<execution>
|
||||
<id>install node and npm</id>
|
||||
<goals>
|
||||
<goal>install-node-and-npm</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<nodeVersion>v12.16.1</nodeVersion>
|
||||
<npmVersion>6.13.4</npmVersion>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>npm install</id>
|
||||
<goals>
|
||||
<goal>npm</goal>
|
||||
</goals>
|
||||
<phase>prepare-package</phase>
|
||||
<configuration>
|
||||
<arguments>install</arguments>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>npm run-script build-check</id>
|
||||
<goals>
|
||||
<goal>npm</goal>
|
||||
</goals>
|
||||
<!-- optional: the default phase is "generate-resources" -->
|
||||
<phase>prepare-package</phase>
|
||||
<configuration>
|
||||
<!-- optional: if not specified, it will run gulp's default task
|
||||
(and you can remove this whole <configuration> section.) -->
|
||||
<arguments>run-script build-check</arguments>
|
||||
<!--arguments>build</arguments-->
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>npm run-script build</id>
|
||||
<goals>
|
||||
<goal>npm</goal>
|
||||
</goals>
|
||||
<!-- optional: the default phase is "generate-resources" -->
|
||||
<phase>prepare-package</phase>
|
||||
<configuration>
|
||||
<!-- optional: if not specified, it will run gulp's default task
|
||||
(and you can remove this whole <configuration> section.) -->
|
||||
<arguments>run-script build</arguments>
|
||||
<!--arguments>build</arguments-->
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
@ -97,7 +97,7 @@
|
||||
"pretty": "prettier . --config './.prettierrc' --write",
|
||||
"build-check": "npm run lint",
|
||||
"commit-check": "npm run pretty && npm run build-check && npm run build",
|
||||
"json2ts": "./json2ts.sh ../json/schema ./src/generated && npm run lint:fix"
|
||||
"json2ts": "./json2ts.sh ../../../../../catalog-rest-service/src/main/resources/json/schema ./src/generated && npm run lint:fix"
|
||||
},
|
||||
"browserslist": {
|
||||
"production": [
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 4.8 KiB |
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 6.7 KiB |
Before Width: | Height: | Size: 8.4 KiB After Width: | Height: | Size: 8.4 KiB |
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 8.6 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 4.8 KiB |
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 6.7 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.6 KiB |
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 86 KiB |
Before Width: | Height: | Size: 103 KiB After Width: | Height: | Size: 103 KiB |
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 8.8 KiB |
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 6.5 KiB |
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 9.2 KiB |
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 63 KiB |
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 88 KiB |
Before Width: | Height: | Size: 8.4 KiB After Width: | Height: | Size: 8.4 KiB |
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 62 KiB |
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 9.3 KiB After Width: | Height: | Size: 9.3 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 5.6 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 147 KiB After Width: | Height: | Size: 147 KiB |
Before Width: | Height: | Size: 93 KiB After Width: | Height: | Size: 93 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 447 B After Width: | Height: | Size: 447 B |
Before Width: | Height: | Size: 557 B After Width: | Height: | Size: 557 B |
Before Width: | Height: | Size: 452 B After Width: | Height: | Size: 452 B |
Before Width: | Height: | Size: 477 B After Width: | Height: | Size: 477 B |
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.6 KiB |
Before Width: | Height: | Size: 517 B After Width: | Height: | Size: 517 B |