Skip to content

Commit cb90118

Browse files
Refactor constructors to use PageObject context instead of Injector
1 parent ab24193 commit cb90118

21 files changed

+54
-79
lines changed

src/main/java/org/jenkinsci/test/acceptance/plugins/dashboard_view/DashboardView.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package org.jenkinsci.test.acceptance.plugins.dashboard_view;
22

3-
import com.google.inject.Injector;
43
import edu.umd.cs.findbugs.annotations.CheckForNull;
54
import java.net.URL;
65
import java.util.ArrayList;
@@ -16,6 +15,7 @@
1615
import org.jenkinsci.test.acceptance.plugins.dashboard_view.read.ProjectStatusStdJobList;
1716
import org.jenkinsci.test.acceptance.po.Control;
1817
import org.jenkinsci.test.acceptance.po.Describable;
18+
import org.jenkinsci.test.acceptance.po.PageObject;
1919
import org.jenkinsci.test.acceptance.po.View;
2020
import org.openqa.selenium.By;
2121
import org.openqa.selenium.NoSuchElementException;
@@ -68,8 +68,8 @@ public class DashboardView extends View {
6868
* @param injector Injector to use.
6969
* @param url URL of view.
7070
*/
71-
public DashboardView(Injector injector, URL url) {
72-
super(injector, url);
71+
public DashboardView(PageObject context, URL url) {
72+
super(context, url);
7373
}
7474

7575
/**

src/main/java/org/jenkinsci/test/acceptance/plugins/gitlab_plugin/GitLabOrganizationFolder.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
package org.jenkinsci.test.acceptance.plugins.gitlab_plugin;
22

3-
import com.google.inject.Injector;
43
import java.net.URL;
54
import java.time.Duration;
65
import org.jenkinsci.test.acceptance.po.Describable;
76
import org.jenkinsci.test.acceptance.po.Folder;
7+
import org.jenkinsci.test.acceptance.po.PageObject;
88

99
@Describable("jenkins.branch.OrganizationFolder")
1010
public class GitLabOrganizationFolder extends Folder {
11-
public GitLabOrganizationFolder(Injector injector, URL url, String name) {
12-
super(injector, url, name);
11+
public GitLabOrganizationFolder(PageObject context, URL url, String name) {
12+
super(context, url, name);
1313
}
1414

1515
public void create(String owner) {

src/main/java/org/jenkinsci/test/acceptance/plugins/maven/MavenModule.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
public class MavenModule extends Job {
2929

3030
public MavenModule(MavenModuleSet job, String name) {
31-
super(job.injector, job.url("./%s/", name), name);
31+
super(job, job.url("./%s/", name), name);
3232
}
3333

3434
@Override

src/main/java/org/jenkinsci/test/acceptance/plugins/maven/MavenModuleSet.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
*/
2424
package org.jenkinsci.test.acceptance.plugins.maven;
2525

26-
import com.google.inject.Injector;
2726
import java.net.URL;
2827
import java.util.Objects;
2928
import java.util.function.Consumer;
@@ -33,6 +32,7 @@
3332
import org.jenkinsci.test.acceptance.po.Describable;
3433
import org.jenkinsci.test.acceptance.po.Jenkins;
3534
import org.jenkinsci.test.acceptance.po.Job;
35+
import org.jenkinsci.test.acceptance.po.PageObject;
3636
import org.jenkinsci.test.acceptance.po.PostBuildStep;
3737
import org.jenkinsci.test.acceptance.po.ShellBuildStep;
3838
import org.openqa.selenium.WebElement;
@@ -44,8 +44,8 @@ public class MavenModuleSet extends Job {
4444

4545
private Control advancedButton = control("/advanced-button[1]");
4646

47-
public MavenModuleSet(Injector injector, URL url, String name) {
48-
super(injector, url, name);
47+
public MavenModuleSet(PageObject context, URL url, String name) {
48+
super(context, url, name);
4949
}
5050

5151
public MavenModuleSet options(String options) {

src/main/java/org/jenkinsci/test/acceptance/plugins/nested_view/NestedView.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package org.jenkinsci.test.acceptance.plugins.nested_view;
22

3-
import com.google.inject.Injector;
43
import java.net.URL;
54
import org.jenkinsci.test.acceptance.po.Describable;
5+
import org.jenkinsci.test.acceptance.po.PageObject;
66
import org.jenkinsci.test.acceptance.po.View;
77
import org.jenkinsci.test.acceptance.po.ViewsMixIn;
88

@@ -13,8 +13,8 @@
1313
public class NestedView extends View {
1414
public final ViewsMixIn views = new ViewsMixIn(this);
1515

16-
public NestedView(Injector injector, URL url) {
17-
super(injector, url);
16+
public NestedView(PageObject context, URL url) {
17+
super(context, url);
1818
}
1919

2020
public void setDefaultView(String name) {

src/main/java/org/jenkinsci/test/acceptance/po/Build.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,17 +38,17 @@ public enum Result {
3838
private boolean success;
3939

4040
public Build(Job job, int buildNumber) {
41-
super(job.injector, job.url("%d/", buildNumber));
41+
super(job, job.url("%d/", buildNumber));
4242
this.job = job;
4343
}
4444

4545
public Build(Job job, String permalink) {
46-
super(job.injector, job.url(permalink + "/"));
46+
super(job, job.url(permalink + "/"));
4747
this.job = job;
4848
}
4949

5050
public Build(Job job, URL url) {
51-
super(job.injector, url);
51+
super(job, url);
5252
this.job = job;
5353
}
5454

src/main/java/org/jenkinsci/test/acceptance/po/Folder.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,11 @@ public class Folder extends TopLevelItem implements Container {
4545
private final By viewTab = by.css(".tabBar .tab a");
4646
private final By activeViewTab = by.css(".tabBar .tab.active a");
4747

48+
/**
49+
* @deprecated Use {@link #ConfigurablePageObject(PageObject, URL)} instead to properly maintain context hierarchy.
50+
* This constructor will be removed in a future version.
51+
*/
52+
@Deprecated
4853
public Folder(final Injector injector, final URL url, final String name) {
4954
super(injector, url, name);
5055

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
package org.jenkinsci.test.acceptance.po;
22

3-
import com.google.inject.Injector;
43
import java.net.URL;
54

65
/**
76
* @author Kohsuke Kawaguchi
87
*/
98
@Describable("hudson.model.FreeStyleProject")
109
public class FreeStyleJob extends Job {
11-
public FreeStyleJob(Injector injector, URL url, String name) {
12-
super(injector, url, name);
10+
public FreeStyleJob(PageObject context, URL url, String name) {
11+
super(context, url, name);
1312
}
1413
}

src/main/java/org/jenkinsci/test/acceptance/po/FreeStyleMultiBranchJob.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package org.jenkinsci.test.acceptance.po;
22

3-
import com.google.inject.Injector;
43
import java.net.URL;
54
import org.openqa.selenium.WebElement;
65

@@ -11,8 +10,8 @@
1110
*/
1211
@Describable("com.github.mjdetullio.jenkins.plugins.multibranch.FreeStyleMultiBranchProject")
1312
public class FreeStyleMultiBranchJob extends Job {
14-
public FreeStyleMultiBranchJob(Injector injector, URL url, String name) {
15-
super(injector, url, name);
13+
public FreeStyleMultiBranchJob(PageObject context, URL url, String name) {
14+
super(context, url, name);
1615
}
1716

1817
@Override

src/main/java/org/jenkinsci/test/acceptance/po/Jenkins.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
44
import com.fasterxml.jackson.databind.ObjectMapper;
5-
import com.google.inject.Injector;
65
import hudson.util.VersionNumber;
76
import java.io.FileOutputStream;
87
import java.io.IOException;
@@ -53,8 +52,8 @@ public class Jenkins extends Node implements Container {
5352
public final ViewsMixIn views;
5453
public final SlavesMixIn slaves;
5554

56-
private Jenkins(Injector injector, URL url) {
57-
super(injector, url);
55+
private Jenkins(PageObject context, URL url) {
56+
super(context, url);
5857
waitForStarted();
5958
jobs = new JobsMixIn(this);
6059
views = new ViewsMixIn(this);
@@ -66,8 +65,8 @@ public Jenkins getJenkins() {
6665
return this;
6766
}
6867

69-
public Jenkins(Injector injector, JenkinsController controller) {
70-
this(injector, startAndGetUrl(controller));
68+
public Jenkins(PageObject context, JenkinsController controller) {
69+
this(context, startAndGetUrl(controller));
7170
this.controller = controller;
7271
}
7372

0 commit comments

Comments
 (0)