Skip to content

Commit bdd07aa

Browse files
Merge pull request #62 from aquality-automation/feature/import-handlers-unit-tests
unit tests for import handlers
2 parents 6348bc3 + 382da60 commit bdd07aa

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+5939
-198
lines changed

.circleci/config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
- ~/.m2
2424
key: v1-dependencies-{{ checksum "pom.xml" }}
2525

26-
- run: mvn test -f pom.xml -P !run-migration
26+
- run: mvn clean test -f pom.xml -P !run-migration
2727

2828
- run:
2929
name: Save test results

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
## 0.3.9 (Unreleased)
44

55
Features:
6+
- Added unit tests for import handlers -> [View Issue](https://github.com/aquality-automation/aquality-tracking/issues/81)
67
- Added unit tests for checking DAO's -> [View Issue](https://github.com/aquality-automation/aquality-tracking/issues/80)
78

89
## 0.3.8 (2020-03-11)

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@
146146
<dependency>
147147
<groupId>org.testng</groupId>
148148
<artifactId>testng</artifactId>
149-
<version>6.14.3</version>
149+
<version>7.0.0</version>
150150
<scope>test</scope>
151151
</dependency>
152152
<dependency>

src/main/java/main/model/db/imports/HandlerFactory.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@ Handler getHandler(File file, String type, TestNameNodeType testNameNodeType, Da
2121
if(testNameNodeType == null){
2222
throw new AqualityException("testNameNode is required");
2323
}
24-
return new JavaTestNG(file, testNameNodeType);
24+
return new JavaJUnitTestNG(file, testNameNodeType, finishTime);
2525
case Cucumber:
2626
case TestNGCucumber:
2727
return new Cucumber(file, finishTime);
2828
case PHPCodeception:
29-
return new PHPCodeception(file);
29+
return new PHPCodeception(file, finishTime);
3030
case NUnit_v2:
3131
return new NUnitV2(file);
3232
case NUnit_v3:

src/main/java/main/model/db/imports/ImportHandlers/JavaTestNG.java renamed to src/main/java/main/model/db/imports/ImportHandlers/JavaJUnitTestNG.java

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

33
import main.exceptions.AqualityException;
44
import main.model.db.imports.Handler;
5-
import main.model.db.imports.SAXHandlers.JavaTestNGHandler;
5+
import main.model.db.imports.SAXHandlers.JavaJUnitTestNGHandler;
66
import main.model.db.imports.TestNameNodeType;
77
import main.model.dto.TestDto;
88
import main.model.dto.TestResultDto;
@@ -12,13 +12,14 @@
1212

1313
import java.io.File;
1414
import java.io.IOException;
15+
import java.util.Date;
1516
import java.util.List;
1617

17-
public class JavaTestNG extends Handler{
18-
private JavaTestNGHandler handler;
18+
public class JavaJUnitTestNG extends Handler{
19+
private JavaJUnitTestNGHandler handler;
1920

20-
public JavaTestNG(File file, TestNameNodeType testNameNodeType) throws AqualityException {
21-
handler = new JavaTestNGHandler(testNameNodeType);
21+
public JavaJUnitTestNG(File file, TestNameNodeType testNameNodeType, Date finishTime) throws AqualityException {
22+
handler = new JavaJUnitTestNGHandler(testNameNodeType, finishTime);
2223
try {
2324
this.parser.parse(file, handler);
2425
} catch (SAXException | IOException e) {

src/main/java/main/model/db/imports/ImportHandlers/PHPCodeception.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,15 @@
1111

1212
import java.io.File;
1313
import java.io.IOException;
14+
import java.util.Date;
1415
import java.util.List;
1516

1617
public class PHPCodeception extends Handler {
1718

1819
private PHPCodeceptionHandler handler;
1920

20-
public PHPCodeception(File file) throws AqualityException {
21-
handler = new PHPCodeceptionHandler();
21+
public PHPCodeception(File file, Date finishTime) throws AqualityException {
22+
handler = new PHPCodeceptionHandler(finishTime);
2223
try {
2324
this.parser.parse(file, handler);
2425
} catch (SAXException | IOException e) {

src/main/java/main/model/db/imports/SAXHandlers/JavaTestNGHandler.java renamed to src/main/java/main/model/db/imports/SAXHandlers/JavaJUnitTestNGHandler.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
import static main.model.db.imports.ResultStatus.*;
1616

17-
public class JavaTestNGHandler extends Handler {
17+
public class JavaJUnitTestNGHandler extends Handler {
1818
private TestSuiteDto testSuite = new TestSuiteDto();
1919
private List<TestResultDto> results = new ArrayList<>();
2020
private TestResultDto result = new TestResultDto();
@@ -25,11 +25,11 @@ public class JavaTestNGHandler extends Handler {
2525
private Date currentTimeSlot;
2626
private TestNameNodeType testNameNodeType;
2727

28-
public JavaTestNGHandler(TestNameNodeType testNameNodeType) throws AqualityException {
28+
public JavaJUnitTestNGHandler(TestNameNodeType testNameNodeType, Date finishTime) throws AqualityException {
2929
super();
3030
this.testNameNodeType = testNameNodeType;
3131
result.setFail_reason("$blank");
32-
testRun.setFinish_time(new Date());
32+
testRun.setFinish_time(finishTime);
3333
}
3434

3535
@Override

src/main/java/main/model/db/imports/SAXHandlers/NUnitV2Handler.java

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -44,40 +44,40 @@ public void endDocument() {
4444
@Override
4545
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
4646
currentElement = qName;
47-
if(qName.equals("test-results")){
47+
if (qName.equals("test-results")) {
4848
try {
4949
testRun.setFinish_time(convertToDate(attributes.getValue("date"), attributes.getValue("time")));
5050
} catch (ParseException e) {
5151
e.printStackTrace();
5252
}
53-
}
54-
else if (qName.equals("environment")) {
53+
} else if (qName.equals("environment")) {
5554
testRun.setExecution_environment(attributes.getValue("machine-name"));
5655
testRun.setAuthor(String.format("%s\\%s", attributes.getValue("user-domain"), attributes.getValue("user")));
5756

58-
}
59-
else if (qName.equals("test-suite") && attributes.getValue("type").equals("TestSuite") && strTime == null) {
57+
} else if (qName.equals("test-suite")
58+
&& (attributes.getValue("type").equals("TestSuite") || attributes.getValue("type").equals("Assembly"))
59+
&& strTime == null) {
6060

6161
calendar.setTime(testRun.getFinish_time());
6262
strTime = attributes.getValue("time");
63-
milliTime = Integer.parseInt(strTime.replaceAll("\\.",""));
63+
milliTime = Integer.parseInt(strTime.replaceAll("\\.", ""));
6464
calendar.add(Calendar.MILLISECOND, -milliTime);
6565
testRun.setStart_time(calendar.getTime());
6666
currentTimeSlot = testRun.getStart_time();
67-
} else if(qName.equals("test-suite") && attributes.getValue("type").equals("TestSuite")
68-
&& strTime.equals(attributes.getValue("time"))){
67+
} else if (qName.equals("test-suite") && attributes.getValue("type").equals("TestSuite")
68+
&& strTime.equals(attributes.getValue("time"))) {
6969
testSuite.setName(attributes.getValue("name"));
70-
} else if(qName.equals("test-case")) {
70+
} else if (qName.equals("test-case")) {
7171
isTestCaseClose = false;
7272
test.setName(attributes.getValue("name"));
7373
result.setStart_date(currentTimeSlot);
7474
calendar.setTime(currentTimeSlot);
75-
milliTime = Integer.parseInt(attributes.getValue("time").replaceAll("\\.",""));
75+
milliTime = Integer.parseInt(attributes.getValue("time").replaceAll("\\.", ""));
7676
calendar.add(Calendar.MILLISECOND, milliTime);
7777
currentTimeSlot = calendar.getTime();
7878
result.setFinish_date(currentTimeSlot);
7979

80-
if(attributes.getValue("success").equals("False")){
80+
if (attributes.getValue("success").equals("False")) {
8181
isTestFailed = true;
8282
}
8383

@@ -96,7 +96,7 @@ public void endElement(String uri, String localName, String qName) {
9696
tests.add(test);
9797
test = new TestDto();
9898
result.setInternalTestId(test.getName());
99-
if(result.getFail_reason() != null && result.getFail_reason().equals("$blank")) result.setFail_reason("");
99+
if (result.getFail_reason() != null && result.getFail_reason().equals("$blank")) result.setFail_reason("");
100100
results.add(result);
101101
result = new TestResultDto();
102102
result.setFail_reason("$blank");
@@ -105,7 +105,7 @@ public void endElement(String uri, String localName, String qName) {
105105

106106
@Override
107107
public void characters(char[] ch, int start, int length) {
108-
String value = new String(ch,start,length);
108+
String value = new String(ch, start, length);
109109
if (isTestFailed) {
110110
if (currentElement.equals("message")) {
111111
String res = result.getFail_reason();
@@ -129,7 +129,7 @@ private Date convertToDate(String dateString, String timeString) throws ParseExc
129129
return format.parse(date);
130130
}
131131

132-
private ResultStatus getStatus(String status){
132+
private ResultStatus getStatus(String status) {
133133
switch (status) {
134134
case "Success":
135135
return PASSED;
@@ -141,19 +141,19 @@ private ResultStatus getStatus(String status){
141141
}
142142
}
143143

144-
public TestSuiteDto getTestSuite(){
144+
public TestSuiteDto getTestSuite() {
145145
return testSuite;
146146
}
147147

148-
public TestRunDto getTestRun(){
148+
public TestRunDto getTestRun() {
149149
return testRun;
150150
}
151151

152-
public List<TestDto> getTests(){
152+
public List<TestDto> getTests() {
153153
return tests;
154154
}
155155

156-
public List<TestResultDto> getTestResults(){
156+
public List<TestResultDto> getTestResults() {
157157
return results;
158158
}
159159
}

src/main/java/main/model/db/imports/SAXHandlers/PHPCodeceptionHandler.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@ public class PHPCodeceptionHandler extends Handler {
2323
private Calendar calendar = Calendar.getInstance();
2424
private boolean testcaseIsFound = false;
2525

26-
public PHPCodeceptionHandler() throws AqualityException {
26+
public PHPCodeceptionHandler(Date finishTime) throws AqualityException {
2727
super();
2828
result.setFail_reason("$blank");
29-
testRun.setFinish_time(new Date());
29+
testRun.setFinish_time(finishTime);
3030
}
3131

3232
@Override

src/main/java/main/model/db/imports/SAXHandlers/RobotHandler.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public void startElement(String uri, String localName, String qName, Attributes
4949
currentElement = qName;
5050
if (qName.equals("robot")){
5151
try {
52-
testRun.setFinish_time(convertToDate(attributes.getValue("generated")));
52+
testRun.setStart_time(convertToDate(attributes.getValue("generated")));
5353
} catch (ParseException e) {
5454
e.printStackTrace();
5555
}
@@ -63,10 +63,10 @@ public void startElement(String uri, String localName, String qName, Attributes
6363
currentKWName = attributes.getValue("name");
6464
} else if(qName.equals("status") && testStarted && !kwStarted){
6565
try {
66-
6766
result.setFinal_result_id(getStatus(attributes.getValue("status")).getValue());
6867
result.setStart_date(convertToDate(attributes.getValue("starttime")));
6968
result.setFinish_date(convertToDate(attributes.getValue("endtime")));
69+
testRun.setFinish_time(convertToDate(attributes.getValue("endtime")));
7070
} catch (ParseException e) {
7171
e.printStackTrace();
7272
}

src/test/java/tests/workers/imports/ClassNameNUnitHandlerTest.java

Lines changed: 0 additions & 52 deletions
This file was deleted.

src/test/java/tests/workers/imports/CucumberHandlerTest.java

Lines changed: 0 additions & 58 deletions
This file was deleted.

0 commit comments

Comments
 (0)