Skip to content

Commit e9335e2

Browse files
Remove extra columns from results
1 parent d681fe9 commit e9335e2

File tree

7 files changed

+169
-32
lines changed

7 files changed

+169
-32
lines changed

src/main/java/main/controllers/Project/TestRunController.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,6 @@ private void createPendingResults(TestRunDto testRunTemplate) throws AqualityExc
109109
pendingTestResult.setTest_id(test.getId());
110110
pendingTestResult.setTest_run_id(testRunTemplate.getId());
111111
pendingTestResult.setFinal_result_id(3);
112-
pendingTestResult.setTest_resolution_id(1);
113112
pendingTestResult.setDebug(testRunTemplate.getDebug());
114113
resultController.create(pendingTestResult);
115114
}

src/main/java/main/exceptions/AqualitySQLException.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ private static String getErrorMessage(SQLException exception){
2222
case "40001":
2323
return "You are trying to edit entity which is locked. Please retry the operation.";
2424
case "23000":
25+
if(exception.getMessage().contains("Cannot delete or update a parent row")){
26+
return "You are trying to remove entity that is used in other place!";
27+
}
2528
return String.format("You have missed required parameter: %s", exception.getMessage());
2629
case "HY000":
2730
return "Your Data Base does not support UTF characters, please contact administrator to allow it.";

src/main/java/main/model/db/dao/project/TestResultDao.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
public class TestResultDao extends DAO<TestResultDto> {
1313
public TestResultDao() {
1414
super(TestResultDto.class);
15-
select = "{call SELECT_TEST_RESULT(?,?,?,?,?,?,?,?,?,?,?)}";
16-
insert = "{call INSERT_TEST_RESULT(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}";
15+
select = "{call SELECT_TEST_RESULT(?,?,?,?,?,?,?,?,?,?)}";
16+
insert = "{call INSERT_TEST_RESULT(?,?,?,?,?,?,?,?,?,?,?,?)}";
1717
remove = "{call REMOVE_TEST_RESULT(?)}";
1818
}
1919

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

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -192,9 +192,6 @@ private void createResult(TestResultDto result, boolean update) throws AqualityE
192192
if (existingResult != null) {
193193
if(existingResult.getPending() > 0 || update){
194194
result.setId(existingResult.getId());
195-
if(!Objects.equals(result.getFail_reason(), existingResult.getFail_reason())){
196-
result.setComment("$blank");
197-
}
198195
if(result.getFinal_result_id() == 2){
199196
result.setLog("$blank");
200197
result.setFail_reason("$blank");
@@ -239,10 +236,8 @@ private void updateResultWithSimilarError(TestResultDto result) throws AqualityE
239236
if(similarResult == null){
240237
similarResult = testResults.stream().filter(x -> x.getFail_reason() != null && x.getFail_reason().equals(result.getFail_reason())).findFirst().orElse(null);
241238
}
242-
if(similarResult != null){
243-
result.setComment(similarResult.getComment());
244-
result.setTest_resolution_id(similarResult.getTest_resolution_id());
245-
result.setAssignee(similarResult.getAssignee());
239+
if(similarResult != null && similarResult.getIssue_id() != null){
240+
result.setIssue_id(similarResult.getIssue_id());
246241
}
247242
}
248243
} catch (Exception e){
@@ -252,7 +247,7 @@ private void updateResultWithSimilarError(TestResultDto result) throws AqualityE
252247

253248
private TestResultDto compareByRegexp(TestResultDto result, List<TestResultDto> oldResults, String expression) {
254249
for (TestResultDto oldResult : oldResults) {
255-
if(oldResult.getFail_reason() != null){
250+
if(oldResult.getFail_reason() != null && oldResult.getIssue_id() != null ){
256251
if(RegexpUtil.compareByRegexpGroups(result.getFail_reason(), oldResult.getFail_reason(), expression)){
257252
return oldResult;
258253
}
@@ -264,7 +259,7 @@ private TestResultDto compareByRegexp(TestResultDto result, List<TestResultDto>
264259
private boolean tryFillByIssue(TestResultDto result, List<IssueDto> issues) {
265260
if (result.getFail_reason() != null) {
266261
for (IssueDto issue : issues) {
267-
if (RegexpUtil.match(result.getFail_reason(), issue.getExpression())) {
262+
if (issue.getExpression() != null && RegexpUtil.match(result.getFail_reason(), issue.getExpression())) {
268263
result.setIssue_id(issue.getId());
269264
return true;
270265
}

src/main/java/main/model/dto/project/TestResultDto.java

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -32,18 +32,10 @@ public class TestResultDto extends BaseDto {
3232
@DataBaseInsert
3333
private Integer final_result_id;
3434
private FinalResultDto final_result;
35-
@DataBaseName(name="request_comment")
36-
@DataBaseInsert
37-
private String comment;
3835
@DataBaseName(name="request_test_run_id")
3936
@DataBaseSearchable
4037
@DataBaseInsert
4138
private Integer test_run_id;
42-
@DataBaseName(name="request_test_resolution_id")
43-
@DataBaseSearchable
44-
@DataBaseInsert
45-
private Integer test_resolution_id;
46-
private ResultResolutionDto test_resolution;
4739
@DataBaseName(name="request_debug")
4840
@DataBaseSearchable
4941
@DataBaseInsert
@@ -69,10 +61,6 @@ public class TestResultDto extends BaseDto {
6961
@DataBaseSearchable
7062
@DataBaseInsert
7163
private String fail_reason;
72-
@DataBaseName(name="request_assignee")
73-
@DataBaseInsert
74-
private Integer assignee;
75-
private ProjectUserDto assigned_user;
7664
@DataBaseName(name="request_limit")
7765
@DataBaseSearchable
7866
private Integer limit;

src/main/java/main/model/email/TestRunEmails.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,9 @@ public void sendTestRunResultsToTeam(TestRunDto testRun, List<UserDto> users) th
7474
" <p style=\"margin: 0;color:#e27070;text-transform: uppercase;font-family: Calibri, sans-serif;\">\n" +
7575
" Application Issues | " + appIssues.size() + " </p>\n" +
7676
" <p style=\"margin: 0;color:#676767;text-transform: uppercase;font-family: Calibri, sans-serif;\">\n" +
77-
" Test Issues | " + (int) failed.stream().filter(x -> x.getTest_resolution().getColor() == 2).count() + " </p>\n" +
77+
" Test Issues | " + (int) failed.stream().filter(x -> x.getIssue() != null && x.getIssue().getResolution().getColor() == 2).count() + " </p>\n" +
7878
" <p style=\"margin: 0;color:#676767;text-transform: uppercase;font-family: Calibri, sans-serif;\">\n" +
79-
" Not Assigned | " + (int) failed.stream().filter(x -> x.getTest_resolution().getColor() == 3).count() + " </p>\n" +
79+
" Not Assigned | " + (int) failed.stream().filter(x -> x.getIssue() == null || x.getIssue().getResolution().getColor() == 3).count() + " </p>\n" +
8080
" <p style=\"margin: 0;color:#676767;text-transform: uppercase;font-family: Calibri, sans-serif;\">\n" +
8181
" Other Issues | " + otherIssues.size() + " </p>\n" +
8282
" <br/>\n" +
@@ -116,15 +116,15 @@ private double getSuccessRate(double passedCount, double totalCount) {
116116
}
117117

118118
private List<TestResultDto> getAppIssues(List<TestResultDto> testResults) {
119-
return testResults.stream().filter(x -> x.getTest_resolution().getColor() == 1).collect(Collectors.toList());
119+
return testResults.stream().filter(x -> x.getIssue() != null && x.getIssue().getResolution().getColor() == 1).collect(Collectors.toList());
120120
}
121121

122122
private List<TestResultDto> getFailedResults(List<TestResultDto> testResults) {
123123
return testResults.stream().filter(x -> x.getFinal_result().getColor() != 5).collect(Collectors.toList());
124124
}
125125

126126
private List<TestResultDto> getOtherIssues(List<TestResultDto> testResults) {
127-
return testResults.stream().filter(x -> x.getTest_resolution().getColor() != 1 && x.getTest_resolution().getColor() != 2 && x.getTest_resolution().getColor() != 3).collect(Collectors.toList());
127+
return testResults.stream().filter(x -> x.getIssue() != null && x.getIssue().getResolution().getColor() != 1 && x.getIssue().getResolution().getColor() != 2 && x.getIssue().getResolution().getColor() != 3).collect(Collectors.toList());
128128
}
129129

130130
private double getTotalResultsCount(List<TestResultDto> testResults) {
@@ -155,10 +155,9 @@ private StringBuilder buildIssuesOverview(List<TestResultDto> appIssues){
155155
.append(" <p style=\"font-family: Calibri, sans-serif;margin:0;color: #4c4c4c;\">")
156156
.append(testResult.getTest().getName())
157157
.append(": ")
158-
.append(
159-
testResult.getComment() != null
160-
? testResult.getComment()
161-
: "No comment for This Failure.")
158+
.append( testResult.getIssue() != null
159+
? testResult.getIssue().getTitle()
160+
: "No issue for This Failure.")
162161
.append("</p>\n");
163162
}
164163

src/main/resources/db_changelog/db.changelog-0.3.9.xml

Lines changed: 153 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -895,4 +895,157 @@
895895
<rollback>
896896
</rollback>
897897
</changeSet>
898+
899+
<changeSet id="update INSERT_TEST_RESULT remove resolution, comment and assignee" author="v.kostyukevich">
900+
<sql endDelimiter="#">
901+
902+
DROP PROCEDURE IF EXISTS `INSERT_TEST_RESULT`;
903+
904+
#
905+
CREATE PROCEDURE `INSERT_TEST_RESULT`(
906+
IN request_project_id VARCHAR(10),
907+
IN request_id VARCHAR(10),
908+
IN request_test_id VARCHAR(500),
909+
IN request_final_result_id VARCHAR(500),
910+
IN request_test_run_id VARCHAR(500),
911+
IN request_log longtext,
912+
IN request_debug VARCHAR(1),
913+
IN request_finish_date VARCHAR(500),
914+
IN request_start_date VARCHAR(500),
915+
IN request_final_result_updated VARCHAR(500),
916+
IN request_fail_reason mediumtext,
917+
IN request_issue_id VARCHAR(11)
918+
)
919+
BEGIN
920+
INSERT INTO test_results (project_id, id, test_id, final_result_id, test_run_id, log, debug, start_date, finish_date, final_result_updated, fail_reason, issue_id)
921+
VALUES (
922+
request_project_id,
923+
IF(request_id='', null, request_id),
924+
request_test_id,
925+
IF(request_final_result_id='',1,request_final_result_id),
926+
IF(request_test_run_id = '', null, request_test_run_id),
927+
IF(request_log = '', null, request_log),
928+
IF(request_debug = '', 0, request_debug),
929+
If(request_start_date = '', null, FROM_UNIXTIME(request_start_date)),
930+
If(request_finish_date = '', null, FROM_UNIXTIME(request_finish_date)),
931+
NOW(),
932+
IF(request_fail_reason = '', null, request_fail_reason),
933+
replace_empty(request_issue_id, null))
934+
ON DUPLICATE KEY UPDATE
935+
test_id=IF(request_test_id = '',test_id,request_test_id),
936+
final_result_id = IF(request_final_result_id = '', final_result_id, request_final_result_id),
937+
log = IF(request_log = '', log, IF(request_log = '$blank', '', request_log)),
938+
debug = IF(request_debug = '', debug, request_debug),
939+
start_date = If(request_start_date = '', start_date, FROM_UNIXTIME(request_start_date)),
940+
finish_date = If(request_finish_date = '', finish_date, FROM_UNIXTIME(request_finish_date)),
941+
final_result_updated = IF(request_final_result_id = final_result_id AND request_final_result_updated = '', NOW(), IF(request_final_result_updated = '',final_result_updated, FROM_UNIXTIME(request_final_result_updated))),
942+
fail_reason = IF(request_fail_reason = '', fail_reason, IF(request_fail_reason = '$blank', '', request_fail_reason)),
943+
issue_id = apply_or_remove_id(request_issue_id, issue_id)
944+
;
945+
SET @insert_id = IF(request_id = '', (SELECT LAST_INSERT_ID()), request_id);
946+
SELECT * from test_results where id = @insert_id;
947+
END
948+
</sql>
949+
<rollback>
950+
</rollback>
951+
</changeSet>
952+
953+
<changeSet id="update SELECT_TEST_RESULT remove resolution" author="v.kostyukevich">
954+
<sql endDelimiter="#">
955+
956+
DROP PROCEDURE IF EXISTS `SELECT_TEST_RESULT`;
957+
958+
#
959+
CREATE PROCEDURE `SELECT_TEST_RESULT`(
960+
IN request_project_id VARCHAR(10),
961+
IN request_id VARCHAR(10),
962+
IN request_test_id VARCHAR(10),
963+
IN request_final_result_id VARCHAR(10),
964+
IN request_test_run_id VARCHAR(10),
965+
IN request_debug VARCHAR(1),
966+
IN request_fail_reason VARCHAR(150),
967+
IN request_fail_reason_regex VARCHAR(500),
968+
IN request_issue_id VARCHAR(11),
969+
In request_limit VARCHAR(11)
970+
)
971+
BEGIN
972+
declare valid_limit int;
973+
SET valid_limit = get_valid_limit(request_limit);
974+
975+
IF(request_fail_reason_regex = '') THEN SET request_fail_reason_regex = '.*';
976+
END IF;
977+
978+
SELECT * FROM test_results as res
979+
WHERE (request_id='' OR request_id=id)
980+
AND (request_project_id='' OR request_project_id=project_id)
981+
AND (request_test_id='' OR request_test_id=test_id)
982+
AND (request_final_result_id='' OR request_final_result_id=final_result_id)
983+
AND (request_test_run_id='' OR request_test_run_id=test_run_id)
984+
AND (request_debug='' OR request_debug=debug)
985+
AND (request_fail_reason='' OR INSTR(fail_reason, request_fail_reason) > 0)
986+
AND IFNULL(fail_reason, '') REGEXP request_fail_reason_regex
987+
AND (request_issue_id='' OR request_issue_id=issue_id)
988+
ORDER BY start_date DESC
989+
LIMIT valid_limit
990+
;
991+
END
992+
</sql>
993+
<rollback>
994+
</rollback>
995+
</changeSet>
996+
997+
<changeSet id="update test_results table remove resolution, comment and assignee" author="v.kostyukevich">
998+
<sql endDelimiter="#">
999+
1000+
ALTER TABLE `test_results`
1001+
DROP FOREIGN KEY `test_result_test_resolution`,
1002+
DROP FOREIGN KEY `test_result_assignee`;
1003+
#
1004+
ALTER TABLE `test_results`
1005+
DROP COLUMN `assignee`,
1006+
DROP COLUMN `test_resolution_id`,
1007+
DROP COLUMN `comment`,
1008+
DROP INDEX `test_result_test_resolution_idx` ,
1009+
DROP INDEX `test_result_assignee_idx` ;
1010+
</sql>
1011+
<rollback>
1012+
</rollback>
1013+
</changeSet>
1014+
1015+
<changeSet id="update result_resolution table with resolution_to_project CONSTRAINT" author="v.kostyukevich">
1016+
<sql endDelimiter="#">
1017+
1018+
ALTER TABLE `result_resolution`
1019+
ADD INDEX `resolution_to_project_idx` (`project_id` ASC);
1020+
#
1021+
1022+
ALTER TABLE `result_resolution`
1023+
ADD CONSTRAINT `resolution_to_project`
1024+
FOREIGN KEY (`project_id`)
1025+
REFERENCES `union_reporting`.`projects` (`id`)
1026+
ON DELETE CASCADE
1027+
ON UPDATE CASCADE;
1028+
</sql>
1029+
<rollback>
1030+
</rollback>
1031+
</changeSet>
1032+
1033+
<changeSet id="update REMOVE_RESULT_RESOLUTION remove resolution" author="v.kostyukevich">
1034+
<sql endDelimiter="#">
1035+
1036+
DROP PROCEDURE IF EXISTS `REMOVE_RESULT_RESOLUTION`;
1037+
1038+
#
1039+
CREATE PROCEDURE `REMOVE_RESULT_RESOLUTION`(
1040+
IN request_id VARCHAR(11)
1041+
)
1042+
BEGIN
1043+
DELETE FROM result_resolution
1044+
WHERE id=request_id;
1045+
END
1046+
</sql>
1047+
<rollback>
1048+
</rollback>
1049+
</changeSet>
1050+
8981051
</databaseChangeLog>

0 commit comments

Comments
 (0)