分布式调度框架。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
xiangzihao 9d9517ac77
[DSIP-38] Optimize dependency tree (#16838)
2 weeks ago
..
dolphinscheduler-api-test-case [Improvement-16106] Add admin-user-filter in LDAP (#16826) 3 weeks ago
dolphinscheduler-api-test-core [DSIP-75] Support auto add license header by spotless (#16643) 3 months ago
README.md [Improvement-16106] Add admin-user-filter in LDAP (#16826) 3 weeks ago
pom.xml [DSIP-38] Optimize dependency tree (#16838) 2 weeks ago

README.md

DolphinScheduler Backend API Test

Page Object Model

DolphinScheduler API test respects the Page Object Model (POM) design pattern. Every page of DolphinScheduler's api is abstracted into a class for better maintainability.

Example

The login page's api is abstracted as LoginPage , with the following fields,

public HttpResponse login(String username, String password) {
    Map<String, Object> params = new HashMap<>();

    params.put("userName", username);
    params.put("userPassword", password);

    RequestClient requestClient = new RequestClient();

    return requestClient.post("/login", null, params);
}

where userName, userPassword are the main elements on UI that we are interested in.

Test Environment Setup

DolphinScheduler API test uses testcontainers to set up the testing environment, with docker compose.

Typically, every test case needs one or more docker-compose.yaml files to set up all needed components, and expose the DolphinScheduler UI port for testing. You can use @DolphinScheduler(composeFiles = "") and pass the docker-compose.yaml files to automatically set up the environment in the test class.


@DolphinScheduler(composeFiles = "docker/tenant/docker-compose.yaml")
class TenantAPITest {
}

Notes

Local development

Mac M1

Add VM options to the test configuration in IntelliJ IDEA:

# In this mode you need to install docker desktop for mac and run it with locally
-Dm1_chip=true

Running locally(without Docker)

# In this mode you need to start frontend and backend services locally
-Dlocal=true

Running locally(with Docker)

# In this mode you only need to install docker locally
  • To run the tests locally, you need to have the DolphinScheduler running locally. You should add dolphinscheduler-api-test/pom.xml to the maven project Since it does not participate in project compilation, it is not in the main project.
  • Running run test class org.apache.dolphinscheduler.api.test.cases.TenantAPITest in the IDE.