Skip to content

Commit

Permalink
Add autifyConnectClientExtraArguments
Browse files Browse the repository at this point in the history
  • Loading branch information
riywo committed Oct 25, 2022
1 parent 655be7e commit 36af124
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 2 deletions.
3 changes: 2 additions & 1 deletion src/main/java/io/jenkins/plugins/autify/AutifyCli.java
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ public int install() {

public int webTestRun(String autifyUrl, boolean wait, String timeout, List<UrlReplacement> urlReplacements,
String testExecutionName, String browser, String device, String deviceType, String os, String osVersion,
String autifyConnect, boolean autifyConnectClient) {
String autifyConnect, boolean autifyConnectClient, String autifyConnectClientExtraArguments) {
Builder builder = new Builder("web", "test", "run");
builder.add(autifyUrl);
builder.addFlag("--wait", wait);
Expand All @@ -82,6 +82,7 @@ public int webTestRun(String autifyUrl, boolean wait, String timeout, List<UrlRe
return 1;
}
builder.addFlag("--autify-connect-client", autifyConnectClient);
builder.addFlag("--autify-connect-client-extra-arguments", autifyConnectClientExtraArguments);
}
return execute(builder);
}
Expand Down
13 changes: 12 additions & 1 deletion src/main/java/io/jenkins/plugins/autify/AutifyWebBuilder.java
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ public class AutifyWebBuilder extends Builder implements SimpleBuildStep {
private String osVersion;
private String autifyConnect;
private boolean autifyConnectClient;
private String autifyConnectClientExtraArguments;
private String autifyPath;
private String shellInstallerUrl;

Expand Down Expand Up @@ -173,6 +174,15 @@ public void setAutifyConnectClient(@CheckForNull boolean value) {
this.autifyConnectClient = value;
}

public String getAutifyConnectClientExtraArguments() {
return StringUtils.trimToEmpty(autifyConnectClientExtraArguments);
}

@DataBoundSetter
public void setAutifyConnectClientExtraArguments(@CheckForNull String value) {
this.autifyConnectClientExtraArguments = value;
}

public String getAutifyPath() {
return StringUtils.trimToEmpty(autifyPath);
}
Expand Down Expand Up @@ -211,7 +221,8 @@ public void perform(Run<?, ?> run, FilePath workspace, EnvVars env, Launcher lau
}
autifyCli.webAuthLogin(webAccessToken);
if (autifyCli.webTestRun(autifyUrl, wait, timeout, urlReplacements, testExecutionName, browser, device,
deviceType, os, osVersion, autifyConnect, autifyConnectClient) != 0) {
deviceType, os, osVersion, autifyConnect, autifyConnectClient,
autifyConnectClientExtraArguments) != 0) {
listener.getLogger().println("Failed to execute autify web test run");
run.setResult(Result.FAILURE);
return;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,5 +40,8 @@
<f:entry title="${%AutifyConnectClient}" field="autifyConnectClient">
<f:checkbox />
</f:entry>
<f:entry title="${%AutifyConnectClientExtraArguments}" field="autifyConnectClientExtraArguments">
<f:textbox placeholder="--experimental-tunnel-proxy http://proxy"/>
</f:entry>
</f:advanced>
</j:jelly>
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,4 @@ Os=OS
OsVersion=OS version (Effective only for real mobile device)
AutifyConnect=Autify Connect Access Point
AutifyConnectClient=Run with Autify Connect Client?
AutifyConnectClientExtraArguments=Extra command line arguments you want to pass to Autify Connect Client
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ public class AutifyWebBuilderTest {
.add("--os-version", stub)
.add("--autify-connect", stub)
.add("--autify-connect-client")
.add("--autify-connect-client-extra-arguments", stub)
.toString() + "\n";

AutifyWebBuilder builder;
Expand Down Expand Up @@ -91,6 +92,7 @@ public void testConfigRoundtripFull() throws Exception {
builder.setOsVersion(stub);
builder.setAutifyConnect(stub);
builder.setAutifyConnectClient(true);
builder.setAutifyConnectClientExtraArguments(stub);
project.getBuildersList().add(builder);
project = jenkins.configRoundtrip(project);

Expand All @@ -106,6 +108,7 @@ public void testConfigRoundtripFull() throws Exception {
lhs.setOsVersion(stub);
lhs.setAutifyConnect(stub);
lhs.setAutifyConnectClient(true);
lhs.setAutifyConnectClientExtraArguments(stub);
jenkins.assertEqualDataBoundBeans(lhs, project.getBuildersList().get(0));
}

Expand All @@ -131,6 +134,7 @@ public void testBuildAllFields() throws Exception {
builder.setOsVersion(stub);
builder.setAutifyConnect(stub);
builder.setAutifyConnectClient(true);
builder.setAutifyConnectClientExtraArguments(stub);
project.getBuildersList().add(builder);
FreeStyleBuild build = jenkins.buildAndAssertSuccess(project);
jenkins.assertLogContains(webTestRunFullCommand, build);
Expand Down Expand Up @@ -173,6 +177,7 @@ public void testScriptedPipelineAllFields() throws Exception {
+ " osVersion: '" + stub + "', "
+ " autifyConnect: '" + stub + "', "
+ " autifyConnectClient: true, "
+ " autifyConnectClientExtraArguments: '" + stub + "', "
+ " shellInstallerUrl: '" + shellInstallerUrl + "'\n"
+ "}";
job.setDefinition(new CpsFlowDefinition(pipelineScript, true));
Expand Down

0 comments on commit 36af124

Please sign in to comment.