Datasets Service is used to store and manage test case data.
- Data set list (DSL)
- Data set (DS)
- Variable
- Key-value
- A list of lines
- File variables
- Complex - it deals with storing complex data sets, for example, Ben's cases.
- Storing, creating, editing, removing, cloning of key entities;
- A tool that creates and stores Data Set is a storage of a test case running first and AT start initiator;
- Access functions should provide access via REST and from Java;
- Support of macros and formulas:
- RAND - Generates a random number;
- DATE - Returns current date;
- TIME - Returns current time;
- There should be an option to move from one variable to another;
- There should be an option to operate data and time, for example, to add one day to the date;
- There should be an option to concatenate several variables, lines, numbers in one variable;
- The list of Excel formulas used in DS can be found here: atp_dataset_formulas_from_excel.txt
- Explicitly describe the types of variables and possibly the behavior and format of writing.
- Export/import support in Excel format is required;
- DSL is exported completely with all its DS.
Availability of multiple DSL in one Excel file is required:
it is mandatory if there is a logical grouping of lists as a tree (folders) - Relationship between the main entities in different systems:
- CERM:
- Configuration (1 Project = 1 DSL = 1..N DS)
- Execution (1 TestCase = 1 DSL = 1 DS)
- ATP:
- Configuration (1 Project = 1..N DSL)
- Configuration (1 TestCase = 1..N DSL)
- Execution (1 TestCase = 1 DSL = 1 DS)
- ITF:
- Configuration (1 Call chain = 1..N DSL)
- Execution (1 TestCase = 1 DSL = 1 DS)
- CERM:
- DSL is exported completely with all its DS.
Availability of multiple DSL in one Excel file is required:
- Add an option of blocking Data set entity. Block time should be limited, so that a block can be removed on the second day after creation.
- Getting a list of outdated DSL with an option to clean these DSL.
- It should enable importing DSL into already existing DSL
- It should enable export and import of multiple DSL at a time.
- VA
- DSL visibility area. Allows to separate the projects (Currently it's the same as project. So, 1 Visibility area = 1 project).
- DSL
- Defines the set of attributes for specific datasets.
- DS
- Contains the specific set of values for attributes in the dataset.
- Attribute
- Defines the type of values (currently, the following are supported: list values, text values, links to DS).
- Parameter
- Defines the attribute value in the specific dataset.
(in some case with flag -DskipTests)
-
Build project (mvn clean package) with profiles:
- db-postgresql
- generate-q-classes-pg
- migration-on-build-pg
Example:
mvn clean package -P db-postgresql,generate-q-classes-pg,migration-on-build-pg
Example with skip tests:
mvn clean package -DskipTests=true -P db-postgresql,generate-q-classes-pg,migration-on-build-pg
-
Change value of spring.resources.static-locations in application.properties from module atp-dataset:
spring.resources.static-locations=file:./atp-dataset/web/ -
Main class: org.qubership.atp.dataset.Main
-
VM options:
-Dspring.config.location=target/config/application.properties -Dspring.cloud.bootstrap.location=target/config/bootstrap.properties -Dlogging.level.org.qubership.atp.common.logging.interceptor.RestTemplateLogInterceptor=debug -Dlogging.level.org.qubership.atp.catalogue.service.client.feign.DatasetFeignClient=debug -Dds.logger.level=DEBUG -Dlogging.level.root=DEBUG
-
Use classpath of module: atp-dataset
-
Workdir (directory with project, example): atp-dataset
- Create database
CREATE DATABASE datasets;
- Create extension
CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; - Create user
CREATE USER postgres WITH PASSWORD 'admin';
- Grant privileges on database to user
GRANT ALL PRIVILEGES ON DATABASE "datasets" to postgres;
These profiles should be checked:
- db-postgresql
- generate-q-classes-pg
- migration-on-build-pg