2020import static org .assertj .core .api .Assertions .assertThat ;
2121
2222import org .apache .dolphinscheduler .e2e .core .DolphinScheduler ;
23+ import org .apache .dolphinscheduler .e2e .core .WebDriverWaitFactory ;
2324import org .apache .dolphinscheduler .e2e .pages .LoginPage ;
2425import org .apache .dolphinscheduler .e2e .pages .project .ProjectPage ;
26+ import org .apache .dolphinscheduler .e2e .pages .security .SecurityPage ;
27+ import org .apache .dolphinscheduler .e2e .pages .security .WorkerGroupPage ;
2528
29+ import java .time .Duration ;
2630import java .util .UUID ;
2731
2832import org .junit .jupiter .api .BeforeAll ;
2933import org .junit .jupiter .api .Order ;
3034import org .junit .jupiter .api .Test ;
3135import org .junitpioneer .jupiter .DisableIfTestFails ;
36+ import org .openqa .selenium .WebElement ;
3237import org .openqa .selenium .remote .RemoteWebDriver ;
38+ import org .openqa .selenium .support .ui .ExpectedConditions ;
3339import org .testcontainers .shaded .org .awaitility .Awaitility ;
3440
3541@ DolphinScheduler (composeFiles = "docker/basic/docker-compose.yaml" )
@@ -39,6 +45,7 @@ class ProjectE2ETest {
3945 private static final String project = "test-project-" + UUID .randomUUID ();
4046
4147 private static final String workerGroup = "default" ;
48+ private static final String workerGroupTest = "test-wg-" + UUID .randomUUID ();
4249
4350 private static RemoteWebDriver browser ;
4451
@@ -69,6 +76,23 @@ void testAssignWorkerGroup() {
6976 final ProjectPage page = new ProjectPage (browser );
7077 page .assignWorkerGroup (project , workerGroup );
7178 page .verifyAssignedWorkerGroup (project , workerGroup );
79+
80+ WorkerGroupPage workerGroupPage =
81+ new WorkerGroupPage (browser ).goToNav (SecurityPage .class ).goToTab (WorkerGroupPage .class );
82+ WebDriverWaitFactory .createWebDriverWait (workerGroupPage .driver ())
83+ .until (ExpectedConditions .urlContains ("/security/worker-group-manage" ));
84+ workerGroupPage .create (workerGroupTest );
85+ Awaitility .await ().atMost (Duration .ofMinutes (1 )).untilAsserted (() -> {
86+ browser .navigate ().refresh ();
87+ assertThat (workerGroupPage .workerGroupList ())
88+ .as ("workerGroup list should contain newly-created workerGroup" )
89+ .extracting (WebElement ::getText )
90+ .anyMatch (it -> it .contains (workerGroupTest ));
91+ });
92+
93+ ProjectPage backToProjectPage = new ProjectPage (browser ).goToNav (ProjectPage .class );
94+ backToProjectPage .assignWorkerGroup (project , workerGroupTest );
95+ backToProjectPage .verifyAssignedWorkerGroup (project , workerGroupTest );
7296 }
7397
7498 @ Test
0 commit comments