Skip to content
This repository was archived by the owner on Sep 30, 2025. It is now read-only.

Commit 4731f45

Browse files
author
Radislav Berkovich
committed
US 717038 custom converter - adjustments
1 parent 2343243 commit 4731f45

File tree

5 files changed

+89
-82
lines changed

5 files changed

+89
-82
lines changed

src/main/java/com/microfocus/application/automation/tools/model/TestsFramework.java

Lines changed: 34 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -20,62 +20,41 @@
2020

2121
package com.microfocus.application.automation.tools.model;
2222

23-
import com.hp.octane.integrations.executor.TestsToRunConverter;
24-
import org.apache.commons.collections.map.HashedMap;
25-
26-
import java.util.Collection;
27-
import java.util.HashMap;
28-
import java.util.Map;
29-
import java.util.Set;
30-
3123
public class TestsFramework {
3224

33-
private String description;
34-
private String value;
35-
private String format;
36-
private String delimiter;
37-
38-
public TestsFramework(String value) {
39-
this.value = value;
40-
this.description = "";
41-
this.format = "";
42-
this.delimiter = "";
43-
}
44-
45-
public TestsFramework(String value, String description, String format, String delimiter) {
46-
this.value = value;
47-
this.description = description;
48-
this.format = format;
49-
this.delimiter = delimiter;
50-
}
51-
52-
public String getDescription() {
53-
return description;
54-
}
55-
56-
public String getValue() {
57-
return value;
58-
}
59-
60-
public String getFormat() { return format; }
61-
62-
public String getDelimiter() { return delimiter; }
63-
64-
public Map<String, String> getProperties() {
65-
Map<String, String> properties = new HashMap();
66-
67-
setProperty(properties, TestsToRunConverter.CONVERTER_FORMAT, this.format);
68-
setProperty(properties, TestsToRunConverter.CONVERTER_DELIMITER, this.delimiter);
69-
70-
return properties;
71-
}
25+
private String description;
26+
private String name;
27+
private String format;
28+
private String delimiter;
29+
30+
public TestsFramework() {
31+
this.name = "";
32+
this.description = "";
33+
this.format = "";
34+
this.delimiter = "";
35+
}
36+
37+
public TestsFramework(String name, String description, String format, String delimiter) {
38+
this.name = name;
39+
this.description = description;
40+
this.format = format;
41+
this.delimiter = delimiter;
42+
}
43+
44+
public String getDescription() {
45+
return description;
46+
}
47+
48+
public String getName() {
49+
return name;
50+
}
51+
52+
public String getFormat() {
53+
return format;
54+
}
55+
56+
public String getDelimiter() {
57+
return delimiter;
58+
}
7259

73-
private void setProperty(Map<String, String> map, String key, String value) {
74-
if (map.containsKey(key)) {
75-
map.replace(key, value);
76-
}
77-
else {
78-
map.put(key, value);
79-
}
80-
}
8160
}

src/main/java/com/microfocus/application/automation/tools/octane/testrunner/TestsToRunConverterBuilder.java

Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222
package com.microfocus.application.automation.tools.octane.testrunner;
2323

24+
import com.hp.octane.integrations.executor.TestsToRunConverter;
2425
import com.hp.octane.integrations.executor.TestsToRunConverterResult;
2526
import com.hp.octane.integrations.executor.TestsToRunConvertersFactory;
2627
import com.hp.octane.integrations.executor.TestsToRunFramework;
@@ -42,28 +43,30 @@
4243
import javax.annotation.Nonnull;
4344
import java.io.IOException;
4445
import java.util.ArrayList;
46+
import java.util.HashMap;
4547
import java.util.List;
48+
import java.util.Map;
4649

4750
/**
4851
* Builder for available frameworks for converting
4952
*/
5053
public class TestsToRunConverterBuilder extends Builder implements SimpleBuildStep {
5154

52-
private TestsToRunConverterModel framework;
55+
private TestsToRunConverterModel model;
5356

5457
private final String TESTS_TO_RUN_PARAMETER = "testsToRun";
5558
private final String TESTS_TO_RUN_CONVERTED_PARAMETER = "testsToRunConverted";
5659

5760
private final String DEFAULT_EXECUTING_DIRECTORY = "${workspace}";
5861
private final String CHECKOUT_DIRECTORY_PARAMETER = "testsToRunCheckoutDirectory";
5962

60-
public TestsToRunConverterBuilder(String framework) {
61-
this.framework = new TestsToRunConverterModel(framework, "", "");
63+
public TestsToRunConverterBuilder(String model) {
64+
this.model = new TestsToRunConverterModel(model, "", "");
6265
}
6366

6467
@DataBoundConstructor
6568
public TestsToRunConverterBuilder(String framework, String format, String delimiter) {
66-
this.framework = new TestsToRunConverterModel(framework, format, delimiter);
69+
this.model = new TestsToRunConverterModel(framework, format, delimiter);
6770
}
6871

6972
@Override
@@ -103,15 +106,13 @@ public void perform(@Nonnull Run<?, ?> build, @Nonnull FilePath filePath, @Nonnu
103106
return;
104107
}
105108

106-
if (getTestsToRunConverterModel() == null) {
109+
if (model == null || SdkStringUtils.isEmpty(model.getName())) {
107110
printToConsole(listener, "No frameworkModel is selected. Skipping.");
108111
return;
109112
}
110-
TestsFramework framework = getTestsToRunConverterModel().getFramework();
111-
String frameworkName = framework.getValue();
112-
113-
String frameworkFormat = framework.getFormat();
114-
String frameworkDelimiter = framework.getDelimiter();
113+
String frameworkName = model.getName();
114+
String frameworkFormat = model.getFormat();
115+
String frameworkDelimiter = model.getDelimiter();
115116
printToConsole(listener, "Selected framework = " + frameworkName);
116117
if (SdkStringUtils.isNotEmpty(frameworkFormat)) {
117118
printToConsole(listener, "Using format = " + frameworkFormat);
@@ -120,7 +121,7 @@ public void perform(@Nonnull Run<?, ?> build, @Nonnull FilePath filePath, @Nonnu
120121

121122
TestsToRunFramework testsToRunFramework = TestsToRunFramework.fromValue(frameworkName);
122123
TestsToRunConverterResult convertResult = TestsToRunConvertersFactory.createConverter(testsToRunFramework)
123-
.setProperties(framework.getProperties())
124+
.setProperties(this.getProperties())
124125
.convert(rawTests, executingDirectory);
125126
printToConsole(listener, "Found #tests : " + convertResult.getTestsData().size());
126127
printToConsole(listener, TESTS_TO_RUN_CONVERTED_PARAMETER + " = " + convertResult.getConvertedTestsString());
@@ -136,9 +137,21 @@ public void perform(@Nonnull Run<?, ?> build, @Nonnull FilePath filePath, @Nonnu
136137
}
137138
}
138139

140+
public Map<String, String> getProperties() {
141+
Map<String, String> properties = new HashMap();
142+
143+
properties.put(TestsToRunConverter.CONVERTER_FORMAT, model.getFormat());
144+
properties.put(TestsToRunConverter.CONVERTER_DELIMITER, model.getDelimiter());
145+
146+
return properties;
147+
}
139148

149+
/***
150+
* Used in UI
151+
* @return
152+
*/
140153
public TestsToRunConverterModel getTestsToRunConverterModel() {
141-
return framework;
154+
return model;
142155
}
143156

144157
private void printToConsole(TaskListener listener, String msg) {

src/main/java/com/microfocus/application/automation/tools/octane/testrunner/TestsToRunConverterModel.java

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@
2121
package com.microfocus.application.automation.tools.octane.testrunner;
2222

2323
import com.hp.octane.integrations.executor.TestsToRunFramework;
24+
import com.hp.octane.integrations.utils.SdkStringUtils;
2425
import com.microfocus.application.automation.tools.model.TestsFramework;
26+
import org.apache.http.annotation.Obsolete;
2527
import org.kohsuke.stapler.DataBoundConstructor;
2628

2729
import java.io.Serializable;
@@ -39,7 +41,9 @@ public class TestsToRunConverterModel implements Serializable {
3941

4042
public final static List<TestsFramework> Frameworks;
4143

42-
private String framework;
44+
@Obsolete
45+
private String model;//remainders from version 5.7
46+
private String name;
4347
private String format;
4448
private String delimiter;
4549

@@ -53,16 +57,27 @@ public class TestsToRunConverterModel implements Serializable {
5357
}
5458

5559
@DataBoundConstructor
56-
public TestsToRunConverterModel(String framework, String format, String delimiter) {
57-
this.framework = framework;
60+
public TestsToRunConverterModel(String name, String format, String delimiter) {
61+
this.name = name;
5862
this.format = format;
5963
this.delimiter = delimiter;
6064
}
6165

6266
public TestsFramework getFramework() {
63-
return new TestsFramework(framework, "", format, delimiter);
67+
return new TestsFramework(getName(), "", format, delimiter);
6468
}
6569

70+
public String getName() {
71+
return SdkStringUtils.isEmpty(name) ? model : name;
72+
}
73+
74+
public String getFormat() {
75+
return format;
76+
}
77+
78+
public String getDelimiter() {
79+
return delimiter;
80+
}
6681
}
6782

6883

src/main/resources/com/microfocus/application/automation/tools/octane/testrunner/TestsToRunConverterBuilder/config.jelly

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,29 +25,29 @@
2525
<f:entry title="Testing framework" field="framework">
2626
<select name="teststorunconverter.framework" onchange="selectionChanged(this)">
2727
<j:forEach var="myFramework" items="${descriptor.Frameworks}">
28-
<f:option selected="${myFramework.value == instance.testsToRunConverterModel.framework.value}" value="${myFramework.value}">
28+
<f:option selected="${myFramework.name == instance.testsToRunConverterModel.framework.name}" value="${myFramework.name}">
2929
${myFramework.description}
3030
</f:option>
3131
</j:forEach>
3232
</select>
3333
</f:entry>
3434

3535
<j:forEach var="myFramework" items="${descriptor.Frameworks}">
36-
<f:textbox id="format+${myFramework.value}" value="${myFramework.format}" hidden="hidden"/>
37-
<f:textbox id="delimiter+${myFramework.value}" value="${myFramework.delimiter}" hidden="hidden"/>
36+
<f:textbox id="format+${myFramework.name}" value="${myFramework.format}" hidden="hidden"/>
37+
<f:textbox id="delimiter+${myFramework.name}" value="${myFramework.delimiter}" hidden="hidden"/>
3838
</j:forEach>
3939

4040

41-
<j:if test="${instance.testsToRunConverterModel.framework.value == 'custom'}">
42-
<f:entry title="Format" field="format" >
41+
<j:if test="${instance.testsToRunConverterModel.framework.name == 'custom'}">
42+
<f:entry title="Test format" field="format" >
4343
<f:textbox id="format" name="teststorunconverter.format" value="${instance.testsToRunConverterModel.framework.format}" />
4444
</f:entry>
4545

46-
<f:entry title="Delimiter" field="delimiter" >
46+
<f:entry title="Tests delimiter" field="delimiter" >
4747
<f:textbox id="delimiter" name="teststorunconverter.delimiter" value="${instance.testsToRunConverterModel.framework.delimiter}" />
4848
</f:entry>
4949
</j:if>
50-
<j:if test="${instance.testsToRunConverterModel.framework.value != 'custom'}">
50+
<j:if test="${instance.testsToRunConverterModel.framework.name != 'custom'}">
5151
<f:entry title="Format" field="format" >
5252
<f:textbox id="format" name="teststorunconverter.format" value="${instance.testsToRunConverterModel.framework.format}" disabled="true"/>
5353
</f:entry>

src/main/resources/com/microfocus/application/automation/tools/octane/testrunner/TestsToRunConverterBuilder/help-format.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
~ ___________________________________________________________________
1919
-->
2020
<div>
21-
The format used to convert the data received in "testsToRun" parameter to the format of the Custom testing framework, and inject it to the "testsToRunConverted" parameter<br/>
21+
The format used to convert single test received in "testsToRun" parameter to the format of the Custom testing framework, and inject it to the "testsToRunConverted" parameter<br/>
2222
The format syntax is:
2323
<ul>
2424
<li> <b>$package</b> - to use the test package name in format</li>
@@ -27,14 +27,14 @@
2727
</ul>
2828

2929
<br/>For example:<br/><br/>
30-
<i>testsToRun</i> parameter received 2 tests semicolon separated: <b>v1:MF.simple.tests|AppTest|testAlwaysFail<i>;</i>MF.simple.tests|App2Test|testSendGet</b><br/>
30+
<i>testsToRun</i> parameter received 2 tests semicolon separated: <b>v1:MF.simple.tests|AppTest|testA<i>;</i>MF.simple.tests|App2Test|testSendGet</b><br/>
3131
The defined <i>format</i> is: <b>$package.$class#$testName</b><br/>
3232
The defined <i>delimiter</i> is: <b> , </b>
3333
<ul>
3434
<li><b>$package</b> variable will get a value: <i>MF.simple.tests</i></li>
3535
<li><b>$class</b> variable will get a value: <i>AppTest</i></li>
36-
<li><b>$testName</b> variable will get a value: <i>testAlwaysFail</i></li>
36+
<li><b>$testName</b> variable will get a value: <i>testAl</i></li>
3737
</ul>
38-
<br/>The <i>testsToRunConverted</i> will be equal: <b>MF.simple.tests.AppTest#testAlwaysFail,MF.simple.tests.App2Test#testSendGet</b>
38+
<br/>The <i>testsToRunConverted</i> will be equal: <b>MF.simple.tests.AppTest#testA,MF.simple.tests.App2Test#testSendGet</b>
3939

4040
</div>

0 commit comments

Comments
 (0)