Skip to content

Commit d9cec92

Browse files
authored
Merge pull request #8 from jenkinsci/dev
Lambdatest Report Design Changes
2 parents 9a3f58a + 0dd54ff commit d9cec92

File tree

12 files changed

+599
-167
lines changed

12 files changed

+599
-167
lines changed

build.gradle

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,9 @@ plugins {
2929
}
3030

3131
group = 'org.jenkins-ci.plugins'
32-
version = '1.19'
32+
33+
version = '1.19.2'
34+
3335
description = 'LambdaTest Plugin is used to run automated selenium tests on LambdaTest Cloud'
3436

3537
sourceCompatibility = 1.8
@@ -123,9 +125,12 @@ dependencies {
123125

124126
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.11.2'
125127
compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.11.2'
126-
127-
128-
// Use JUnit test framework
128+
129+
// https://mvnrepository.com/artifact/org.json/json
130+
compile group: 'org.json', name: 'json', version: '20090211'
131+
132+
133+
// Use JUnit test framework
129134
testImplementation 'junit:junit:4.12'
130135

131136
}
Lines changed: 62 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,62 @@
1-
package com.lambdatest.jenkins.freestyle;
2-
3-
import hudson.model.Action;
4-
import hudson.model.Run;
5-
6-
public abstract class AbstractFreeStyleBuildAction implements Action {
7-
private Run<?, ?> build;
8-
9-
protected String displayName;
10-
protected String iconFileName;
11-
protected String testUrl;
12-
13-
@Override
14-
public String getIconFileName() {
15-
return iconFileName;
16-
}
17-
18-
@Override
19-
public String getDisplayName() {
20-
return displayName;
21-
}
22-
23-
@Override
24-
public String getUrlName() {
25-
return testUrl;
26-
}
27-
28-
public Run<?, ?> getBuild() {
29-
return build;
30-
}
31-
32-
public void setBuild(Run<?, ?> build) {
33-
this.build = build;
34-
}
35-
36-
public void setIconFileName(String iconFileName) {
37-
this.iconFileName = iconFileName;
38-
}
39-
40-
public void setDisplayName(String dn) {
41-
// the displayname does not wrap after 46 characters
42-
// so it will bleed into the view
43-
int maxCharactersViewable = 46;
44-
if (dn.length() > maxCharactersViewable - 3) {
45-
// going to cut the string down and add "..."
46-
dn = dn.substring(0, maxCharactersViewable - 3);
47-
dn += "...";
48-
}
49-
displayName = dn;
50-
}
51-
52-
public void setTestUrl(String testUrl) {
53-
this.testUrl = testUrl.replaceAll("[:.()|/ ]", "").toLowerCase();
54-
}
55-
56-
}
1+
/*
2+
Removed Iframe in new plugin version, uncomment this to implement it again
3+
*/
4+
5+
6+
7+
//package com.lambdatest.jenkins.freestyle;
8+
//
9+
//import hudson.model.Action;
10+
//import hudson.model.Run;
11+
//
12+
//public abstract class AbstractFreeStyleBuildAction implements Action {
13+
// private Run<?, ?> build;
14+
//
15+
// protected String displayName;
16+
// protected String iconFileName;
17+
// protected String testUrl;
18+
//
19+
// @Override
20+
// public String getIconFileName() {
21+
// return iconFileName;
22+
// }
23+
//
24+
// @Override
25+
// public String getDisplayName() {
26+
// return displayName;
27+
// }
28+
//
29+
// @Override
30+
// public String getUrlName() {
31+
// return testUrl;
32+
// }
33+
//
34+
// public Run<?, ?> getBuild() {
35+
// return build;
36+
// }
37+
//
38+
// public void setBuild(Run<?, ?> build) {
39+
// this.build = build;
40+
// }
41+
//
42+
// public void setIconFileName(String iconFileName) {
43+
// this.iconFileName = iconFileName;
44+
// }
45+
//
46+
// public void setDisplayName(String dn) {
47+
// // the displayname does not wrap after 46 characters
48+
// // so it will bleed into the view
49+
// int maxCharactersViewable = 46;
50+
// if (dn.length() > maxCharactersViewable - 3) {
51+
// // going to cut the string down and add "..."
52+
// dn = dn.substring(0, maxCharactersViewable - 3);
53+
// dn += "...";
54+
// }
55+
// displayName = dn;
56+
// }
57+
//
58+
// public void setTestUrl(String testUrl) {
59+
// this.testUrl = testUrl.replaceAll("[:.()|/ ]", "").toLowerCase();
60+
// }
61+
//
62+
//}
Lines changed: 100 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -1,95 +1,100 @@
1-
package com.lambdatest.jenkins.freestyle;
2-
3-
import com.lambdatest.jenkins.freestyle.api.Constant;
4-
5-
public class LambdaFreeStyleBuildAction extends AbstractFreeStyleBuildAction {
6-
/*
7-
* Holds info about the Selenium Test
8-
*/
9-
private String operatingSystem;
10-
private String browserName;
11-
private String browserVersion;
12-
private String resolution;
13-
private String buildName;
14-
private String buildNumber;
15-
private String testType;
16-
private String iframeLink;
17-
18-
LambdaFreeStyleBuildAction(final String testType, final String operatingSystem, final String browserName,
19-
final String browserVersion, final String resolution) {
20-
super();
21-
this.testType = testType;
22-
this.operatingSystem = operatingSystem;
23-
this.browserName = browserName;
24-
this.browserVersion = browserVersion;
25-
this.resolution = resolution;
26-
setIconFileName(Constant.LT_ICON_FILE_NAME);
27-
setDisplayName("LT(" + operatingSystem + " " + browserName + "-" + browserVersion + " " + resolution + ")");
28-
setTestUrl(displayName);
29-
}
30-
31-
public String getOperatingSystem() {
32-
return operatingSystem;
33-
}
34-
35-
public void setOperatingSystem(String operatingSystem) {
36-
this.operatingSystem = operatingSystem;
37-
}
38-
39-
public String getBrowserName() {
40-
return browserName;
41-
}
42-
43-
public void setBrowserName(String browserName) {
44-
this.browserName = browserName;
45-
}
46-
47-
public String getBrowserVersion() {
48-
return browserVersion;
49-
}
50-
51-
public void setBrowserVersion(String browserVersion) {
52-
this.browserVersion = browserVersion;
53-
}
54-
55-
public String getResolution() {
56-
return resolution;
57-
}
58-
59-
public void setResolution(String resolution) {
60-
this.resolution = resolution;
61-
}
62-
63-
public String getBuildName() {
64-
return buildName;
65-
}
66-
67-
public void setBuildName(String buildName) {
68-
this.buildName = buildName;
69-
}
70-
71-
public String getBuildNumber() {
72-
return buildNumber;
73-
}
74-
75-
public void setBuildNumber(String buildNumber) {
76-
this.buildNumber = buildNumber;
77-
}
78-
79-
public String getTestType() {
80-
return testType;
81-
}
82-
83-
public void setTestType(String testType) {
84-
this.testType = testType;
85-
}
86-
87-
public String getIframeLink() {
88-
return iframeLink;
89-
}
90-
91-
public void setIframeLink(String iframeLink) {
92-
this.iframeLink = iframeLink;
93-
}
94-
95-
}
1+
/*
2+
Removed Iframe in new plugin version, uncomment this to implement it again
3+
*/
4+
5+
6+
//package com.lambdatest.jenkins.freestyle;
7+
//
8+
//import com.lambdatest.jenkins.freestyle.api.Constant;
9+
//
10+
//public class LambdaFreeStyleBuildAction extends AbstractFreeStyleBuildAction {
11+
// /*
12+
// * Holds info about the Selenium Test
13+
// */
14+
// private String operatingSystem;
15+
// private String browserName;
16+
// private String browserVersion;
17+
// private String resolution;
18+
// private String buildName;
19+
// private String buildNumber;
20+
// private String testType;
21+
// private String iframeLink;
22+
//
23+
// LambdaFreeStyleBuildAction(final String testType, final String operatingSystem, final String browserName,
24+
// final String browserVersion, final String resolution) {
25+
// super();
26+
// this.testType = testType;
27+
// this.operatingSystem = operatingSystem;
28+
// this.browserName = browserName;
29+
// this.browserVersion = browserVersion;
30+
// this.resolution = resolution;
31+
// setIconFileName(Constant.LT_ICON_FILE_NAME);
32+
// setDisplayName("LT(" + operatingSystem + " " + browserName + "-" + browserVersion + " " + resolution + ")");
33+
// setTestUrl(displayName);
34+
// }
35+
//
36+
// public String getOperatingSystem() {
37+
// return operatingSystem;
38+
// }
39+
//
40+
// public void setOperatingSystem(String operatingSystem) {
41+
// this.operatingSystem = operatingSystem;
42+
// }
43+
//
44+
// public String getBrowserName() {
45+
// return browserName;
46+
// }
47+
//
48+
// public void setBrowserName(String browserName) {
49+
// this.browserName = browserName;
50+
// }
51+
//
52+
// public String getBrowserVersion() {
53+
// return browserVersion;
54+
// }
55+
//
56+
// public void setBrowserVersion(String browserVersion) {
57+
// this.browserVersion = browserVersion;
58+
// }
59+
//
60+
// public String getResolution() {
61+
// return resolution;
62+
// }
63+
//
64+
// public void setResolution(String resolution) {
65+
// this.resolution = resolution;
66+
// }
67+
//
68+
// public String getBuildName() {
69+
// return buildName;
70+
// }
71+
//
72+
// public void setBuildName(String buildName) {
73+
// this.buildName = buildName;
74+
// }
75+
//
76+
// public String getBuildNumber() {
77+
// return buildNumber;
78+
// }
79+
//
80+
// public void setBuildNumber(String buildNumber) {
81+
// this.buildNumber = buildNumber;
82+
// }
83+
//
84+
// public String getTestType() {
85+
// return testType;
86+
// }
87+
//
88+
// public void setTestType(String testType) {
89+
// this.testType = testType;
90+
// }
91+
//
92+
// public String getIframeLink() {
93+
// return iframeLink;
94+
// }
95+
//
96+
// public void setIframeLink(String iframeLink) {
97+
// this.iframeLink = iframeLink;
98+
// }
99+
//
100+
//}

src/main/java/com/lambdatest/jenkins/freestyle/MagicPlugBuildWrapper.java

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
import com.lambdatest.jenkins.freestyle.service.LambdaTunnelService;
3030
import com.lambdatest.jenkins.freestyle.service.LambdaWebSocketTunnelService;
3131
import com.lambdatest.jenkins.freestyle.service.OSValidator;
32-
32+
import com.lambdatest.jenkins.freestyle.report.ReportBuildAction;
3333
import hudson.FilePath;
3434
import hudson.Launcher;
3535
import hudson.model.AbstractBuild;
@@ -146,8 +146,10 @@ public Environment setUp(AbstractBuild build, Launcher launcher, BuildListener l
146146
throws IOException, InterruptedException {
147147
logger.info(build.getWorkspace().getName());
148148
String buildname = build.getFullDisplayName().substring(0,
149-
build.getFullDisplayName().length() - (String.valueOf(build.getNumber()).length() + 1));
149+
build.getFullDisplayName().length() - (String.valueOf(build.getNumber()).length() + 2));
150+
buildname = "jenkins-" + buildname + "-" + build.getNumber();
150151
String buildnumber = String.valueOf(build.getNumber());
152+
logger.info("buildName : " + buildname);
151153
// Configure Tunnel
152154
if (this.localTunnel != null && this.useLocalTunnel) {
153155
configureTunnel(this.localTunnel, buildname, buildnumber,build.getWorkspace());
@@ -170,13 +172,13 @@ public static void createFreeStyleBuildActions(AbstractBuild build, String build
170172
String browserVersion = seleniumCapabilityRequest.getString(Constant.BROWSER_VERSION);
171173
String resolution = seleniumCapabilityRequest.getString(Constant.RESOLUTION);
172174

173-
LambdaFreeStyleBuildAction lfsBuildAction = new LambdaFreeStyleBuildAction("SeleniumTest", operatingSystem,
174-
browserName, browserVersion, resolution);
175-
lfsBuildAction.setBuild(build);
176-
lfsBuildAction.setBuildName(buildname);
177-
lfsBuildAction.setBuildNumber(buildnumber);
178-
lfsBuildAction.setIframeLink(CapabilityService.buildIFrameLink(buildnumber, username, accessToken, choice));
179-
build.addAction(lfsBuildAction);
175+
// LambdaFreeStyleBuildAction lfsBuildAction = new LambdaFreeStyleBuildAction("SeleniumTest", operatingSystem,
176+
// browserName, browserVersion, resolution);
177+
// lfsBuildAction.setBuild(build);
178+
// lfsBuildAction.setBuildName(buildname);
179+
// lfsBuildAction.setBuildNumber(buildnumber);
180+
// lfsBuildAction.setIframeLink(CapabilityService.buildIFrameLink(buildnumber, username, accessToken, choice));
181+
// build.addAction(lfsBuildAction);
180182
}
181183

182184
@Override
@@ -195,7 +197,8 @@ private MagicPlugEnvironment(final AbstractBuild build) {
195197
@Override
196198
public void buildEnvVars(Map<String, String> env) {
197199
String buildname = build.getFullDisplayName().substring(0,
198-
build.getFullDisplayName().length() - (String.valueOf(build.getNumber()).length() + 1));
200+
build.getFullDisplayName().length() - (String.valueOf(build.getNumber()).length() + 2));
201+
buildname = "jenkins-" + buildname + "-" + build.getNumber();
199202
String buildnumber = String.valueOf(build.getNumber());
200203
if (!CollectionUtils.isEmpty(seleniumCapabilityRequest) && seleniumCapabilityRequest.size() == 1) {
201204
JSONObject seleniumCapability = seleniumCapabilityRequest.get(0);

0 commit comments

Comments
 (0)