From d5dc69bcc12dcb1603c5d3d94eec80020d7abf7c Mon Sep 17 00:00:00 2001 From: yfujita Date: Fri, 15 Mar 2019 18:07:33 +0900 Subject: [PATCH 1/5] Skip empty testsuite --- .gitignore | 1 + .../marevol/redmine/impasse/cmd/Report.java | 7 +++- .../redmine/impasse/report/HtmlReporter.java | 32 +++++++++++++++++++ .../redmine/impasse/report/Reporter.java | 2 ++ 4 files changed, 41 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index de935cb..516039f 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ mydbflute/ bin/ .project .classpath +.idea/ \ No newline at end of file diff --git a/src/main/java/net/marevol/redmine/impasse/cmd/Report.java b/src/main/java/net/marevol/redmine/impasse/cmd/Report.java index 1df50f4..be91c6f 100644 --- a/src/main/java/net/marevol/redmine/impasse/cmd/Report.java +++ b/src/main/java/net/marevol/redmine/impasse/cmd/Report.java @@ -38,6 +38,9 @@ protected static class Options { @Option(name = "-r", aliases = "--include-result", usage = "") protected boolean includeResult; + @Option(name = "-s", aliases = "--skip-empty-testsuite", usage = "") + protected boolean skipEmptyTestsuite; + @Option(name = "-o", aliases = "--out", metaVar = "OutputFile", usage = "Output File", required = true) protected File outputFile; } @@ -77,7 +80,9 @@ private static void execute(final Options options) { reporter.projectName(options.projectName) .planName(options.planName).outputFile(options.outputFile) - .includeResults(options.includeResult).execute(); + .includeResults(options.includeResult) + .skipEmptyTestsuite(options.skipEmptyTestsuite) + .execute(); } catch (final Exception e) { throw new ImpasseSystemException(e); diff --git a/src/main/java/net/marevol/redmine/impasse/report/HtmlReporter.java b/src/main/java/net/marevol/redmine/impasse/report/HtmlReporter.java index 3b7ea18..56e7122 100644 --- a/src/main/java/net/marevol/redmine/impasse/report/HtmlReporter.java +++ b/src/main/java/net/marevol/redmine/impasse/report/HtmlReporter.java @@ -62,6 +62,8 @@ public class HtmlReporter implements Reporter { private boolean includeResults; + private boolean skipEmptyTestsuite; + private String planName; @Resource @@ -281,6 +283,10 @@ protected void parseContent(final VelocityContext baseContext, for (final ImpasseNodes node : nodesList) { if (nodeTypeMap.get("testsuite").intValue() == node.getNodeTypeId() .intValue()) { + if (skipEmptyTestsuite && !hasTestCaseChild(node)) { + continue; + } + number++; // testsuite @@ -376,6 +382,26 @@ protected void parseContent(final VelocityContext baseContext, } } + public boolean hasTestCaseChild(final ImpasseNodes parentNode) { + final ImpasseNodesCB cb1 = new ImpasseNodesCB(); + cb1.query().setParentId_Equal(parentNode.getId()); + cb1.query().addOrderBy_NodeOrder_Asc(); + final ListResultBean nodesList = impasseNodesBhv + .selectList(cb1); + for (final ImpasseNodes node : nodesList) { + if (nodeTypeMap.get("testsuite").intValue() == node.getNodeTypeId() + .intValue()) { + if (hasTestCaseChild(node)) { + return true; + } + } else if (nodeTypeMap.get("testcase").intValue() == node.getNodeTypeId() + .intValue()) { + return true; + } + } + return false; + } + public String getCurrentNumber() { final StringBuilder buf = new StringBuilder(); for (final Integer num : numberList) { @@ -405,6 +431,12 @@ public Reporter includeResults(final boolean includeResults) { return this; } + @Override + public Reporter skipEmptyTestsuite(boolean skipEmptyTestsite) { + this.skipEmptyTestsuite = skipEmptyTestsite; + return this; + } + @Override public Reporter planName(final String planName) { this.planName = planName; diff --git a/src/main/java/net/marevol/redmine/impasse/report/Reporter.java b/src/main/java/net/marevol/redmine/impasse/report/Reporter.java index dc7ee4a..92df16b 100644 --- a/src/main/java/net/marevol/redmine/impasse/report/Reporter.java +++ b/src/main/java/net/marevol/redmine/impasse/report/Reporter.java @@ -10,6 +10,8 @@ public interface Reporter { Reporter includeResults(boolean includeResults); + Reporter skipEmptyTestsuite(boolean skipEmptyTestsite); + Reporter planName(String planName); void execute(); From b8b45ca5b005d6d19d77d5837f247c4eed734b0f Mon Sep 17 00:00:00 2001 From: yfujita Date: Fri, 15 Mar 2019 18:32:23 +0900 Subject: [PATCH 2/5] log --- .../java/net/marevol/redmine/impasse/report/HtmlReporter.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/net/marevol/redmine/impasse/report/HtmlReporter.java b/src/main/java/net/marevol/redmine/impasse/report/HtmlReporter.java index 56e7122..7da6669 100644 --- a/src/main/java/net/marevol/redmine/impasse/report/HtmlReporter.java +++ b/src/main/java/net/marevol/redmine/impasse/report/HtmlReporter.java @@ -284,6 +284,7 @@ protected void parseContent(final VelocityContext baseContext, if (nodeTypeMap.get("testsuite").intValue() == node.getNodeTypeId() .intValue()) { if (skipEmptyTestsuite && !hasTestCaseChild(node)) { + System.out.println("Skip node"); continue; } From 0d85f8ef46c5a56921c688aedf2f1dcea22c976a Mon Sep 17 00:00:00 2001 From: yfujita Date: Fri, 15 Mar 2019 18:41:34 +0900 Subject: [PATCH 3/5] skip no testPlanCase --- .../redmine/impasse/report/HtmlReporter.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/marevol/redmine/impasse/report/HtmlReporter.java b/src/main/java/net/marevol/redmine/impasse/report/HtmlReporter.java index 7da6669..1f39c27 100644 --- a/src/main/java/net/marevol/redmine/impasse/report/HtmlReporter.java +++ b/src/main/java/net/marevol/redmine/impasse/report/HtmlReporter.java @@ -397,7 +397,19 @@ public boolean hasTestCaseChild(final ImpasseNodes parentNode) { } } else if (nodeTypeMap.get("testcase").intValue() == node.getNodeTypeId() .intValue()) { - return true; + final ImpasseTestCasesCB cb2 = new ImpasseTestCasesCB(); + cb2.query().setId_Equal(node.getId()); + final ImpasseTestCases testCase = impasseTestCasesBhv + .selectEntity(cb2); + final ImpasseTestPlanCasesCB cb4 = new ImpasseTestPlanCasesCB(); + cb4.query().setTestPlanId_Equal(testPlan.getId()); + cb4.query().setTestCaseId_Equal(testCase.getId()); + cb4.query().addOrderBy_NodeOrder_Asc(); + final ImpasseTestPlanCases testPlanCase = impasseTestPlanCasesBhv + .selectEntity(cb4); + if (testPlanCase != null) { + return true; + } } } return false; From 36a0a8b639d77889a391ba4a817ebfdf2de66f72 Mon Sep 17 00:00:00 2001 From: yfujita Date: Fri, 15 Mar 2019 19:09:13 +0900 Subject: [PATCH 4/5] skip no testPlanCase --- .../redmine/impasse/report/HtmlReporter.java | 31 ++++++++++++------- 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/src/main/java/net/marevol/redmine/impasse/report/HtmlReporter.java b/src/main/java/net/marevol/redmine/impasse/report/HtmlReporter.java index 1f39c27..a0ccc3e 100644 --- a/src/main/java/net/marevol/redmine/impasse/report/HtmlReporter.java +++ b/src/main/java/net/marevol/redmine/impasse/report/HtmlReporter.java @@ -219,6 +219,9 @@ protected void parseTitle(final ImpasseNodes parentNode, for (final ImpasseNodes node : nodesList) { if (nodeTypeMap.get("testsuite").intValue() == node.getNodeTypeId() .intValue()) { + if (skipEmptyTestsuite && !hasTestCaseChild(node)) { + continue; + } number++; // testsuite @@ -383,7 +386,7 @@ protected void parseContent(final VelocityContext baseContext, } } - public boolean hasTestCaseChild(final ImpasseNodes parentNode) { + private boolean hasTestCaseChild(final ImpasseNodes parentNode) { final ImpasseNodesCB cb1 = new ImpasseNodesCB(); cb1.query().setParentId_Equal(parentNode.getId()); cb1.query().addOrderBy_NodeOrder_Asc(); @@ -397,17 +400,7 @@ public boolean hasTestCaseChild(final ImpasseNodes parentNode) { } } else if (nodeTypeMap.get("testcase").intValue() == node.getNodeTypeId() .intValue()) { - final ImpasseTestCasesCB cb2 = new ImpasseTestCasesCB(); - cb2.query().setId_Equal(node.getId()); - final ImpasseTestCases testCase = impasseTestCasesBhv - .selectEntity(cb2); - final ImpasseTestPlanCasesCB cb4 = new ImpasseTestPlanCasesCB(); - cb4.query().setTestPlanId_Equal(testPlan.getId()); - cb4.query().setTestCaseId_Equal(testCase.getId()); - cb4.query().addOrderBy_NodeOrder_Asc(); - final ImpasseTestPlanCases testPlanCase = impasseTestPlanCasesBhv - .selectEntity(cb4); - if (testPlanCase != null) { + if (isTestPlanCase(node)) { return true; } } @@ -415,6 +408,20 @@ public boolean hasTestCaseChild(final ImpasseNodes parentNode) { return false; } + private boolean isTestPlanCase(final ImpasseNodes testCaseNode) { + final ImpasseTestCasesCB cb2 = new ImpasseTestCasesCB(); + cb2.query().setId_Equal(testCaseNode.getId()); + final ImpasseTestCases testCase = impasseTestCasesBhv + .selectEntity(cb2); + final ImpasseTestPlanCasesCB cb4 = new ImpasseTestPlanCasesCB(); + cb4.query().setTestPlanId_Equal(testPlan.getId()); + cb4.query().setTestCaseId_Equal(testCase.getId()); + cb4.query().addOrderBy_NodeOrder_Asc(); + final ImpasseTestPlanCases testPlanCase = impasseTestPlanCasesBhv + .selectEntity(cb4); + return testPlanCase != null; + } + public String getCurrentNumber() { final StringBuilder buf = new StringBuilder(); for (final Integer num : numberList) { From de3f62a4d49786a3573aca66d5d2f808b4a713ab Mon Sep 17 00:00:00 2001 From: yfujita Date: Fri, 15 Mar 2019 19:11:34 +0900 Subject: [PATCH 5/5] refactor --- .../java/net/marevol/redmine/impasse/report/HtmlReporter.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/net/marevol/redmine/impasse/report/HtmlReporter.java b/src/main/java/net/marevol/redmine/impasse/report/HtmlReporter.java index a0ccc3e..d2a8fc8 100644 --- a/src/main/java/net/marevol/redmine/impasse/report/HtmlReporter.java +++ b/src/main/java/net/marevol/redmine/impasse/report/HtmlReporter.java @@ -287,7 +287,6 @@ protected void parseContent(final VelocityContext baseContext, if (nodeTypeMap.get("testsuite").intValue() == node.getNodeTypeId() .intValue()) { if (skipEmptyTestsuite && !hasTestCaseChild(node)) { - System.out.println("Skip node"); continue; }