caellion-python-commons
test_codeanalysis_reports.py
Go to the documentation of this file.
1 # test framework
2 import unittest
3 from nose2.tools import params # noqa
4 
5 # package
6 from caellion.pycommons.codeanalysis.reports import ReportBuilder as rpt # noqa
7 
8 
9 # test cases
10 class TestCodeAnalysisReportsReportBuilder(unittest.TestCase):
11 
12  maxDiff = None
13 
14  # exceptions
16  with self.assertRaises(ValueError):
17  RB = rpt()
18  RB.__init__()
19 
20  # empty report
22  RB = rpt()
23  report = RB.generateReport()
24  self.assertEqual(report, '{"_class": "io.jenkins.plugins.analysis.core.restapi.ReportApi", "issues": [], "size": 0}')
25 
26  # basic report
28  RB = rpt()
29  RB.addIssue("some/file/path.py", "LOW", "test")
30  report = RB.generateReport()
31  self.assertEqual(report, '{"_class": "io.jenkins.plugins.analysis.core.restapi.ReportApi", "issues": [{"fileName": "some/file/path.py", "directory": "some/file/", "severity": "LOW", "message": "test"}], "size": 1}')
32 
33  # basic report
35  with self.assertRaises(Exception):
36  RB = rpt()
37  RB.addIssue("/some/file/path/", "LOW", "test")
38  report = RB.generateReport() # noqa: F841
39 
40  # basic report
42  with self.assertRaises(Exception):
43  RB = rpt()
44  RB.addIssue(None, "LOW", "test")
45  report = RB.generateReport() # noqa: F841
46 
47  # basic report
49  with self.assertRaises(Exception):
50  RB = rpt()
51  RB.addIssue("", "LOW", "test")
52  report = RB.generateReport() # noqa: F841
53 
54  # basic report
56  with self.assertRaises(Exception):
57  RB = rpt()
58  RB.addIssue("a.txt", "severityunk", "test")
59  report = RB.generateReport() # noqa: F841
60 
61  # basic report
63  with self.assertRaises(Exception):
64  RB = rpt()
65  RB.addIssue("a.txt", "LOW", None)
66  report = RB.generateReport() # noqa: F841
67 
68  # basic report
70  with self.assertRaises(Exception):
71  RB = rpt()
72  RB.addIssue("a.txt", "LOW", "")
73  report = RB.generateReport() # noqa: F841
74 
75  # basic report
77  RB = rpt()
78  RB.addIssue("some/file/path.py", "LOW", "test", lineStart=1)
79  report = RB.generateReport()
80  self.assertEqual(report, '{"_class": "io.jenkins.plugins.analysis.core.restapi.ReportApi", "issues": [{"fileName": "some/file/path.py", "directory": "some/file/", "severity": "LOW", "message": "test", "lineStart": 1}], "size": 1}')
81 
82  # basic report
84  RB = rpt()
85  RB.addIssue("some/file/path.py", "LOW", "test", lineStart=1, lineEnd=2)
86  report = RB.generateReport()
87  self.assertEqual(report, '{"_class": "io.jenkins.plugins.analysis.core.restapi.ReportApi", "issues": [{"fileName": "some/file/path.py", "directory": "some/file/", "severity": "LOW", "message": "test", "lineStart": 1, "lineEnd": 2}], "size": 1}')
88 
89  # basic report
91  RB = rpt()
92  RB.addIssue("some/file/path.py", "LOW", "test", lineEnd=2)
93  report = RB.generateReport()
94  self.assertEqual(report, '{"_class": "io.jenkins.plugins.analysis.core.restapi.ReportApi", "issues": [{"fileName": "some/file/path.py", "directory": "some/file/", "severity": "LOW", "message": "test"}], "size": 1}')
95 
96  # basic report
98  RB = rpt()
99  RB.addIssue("some/file/path.py", "LOW", "test", lineStart=1, lineEnd=2, columnStart=3)
100  report = RB.generateReport()
101  self.assertEqual(report, '{"_class": "io.jenkins.plugins.analysis.core.restapi.ReportApi", "issues": [{"fileName": "some/file/path.py", "directory": "some/file/", "severity": "LOW", "message": "test", "lineStart": 1, "lineEnd": 2, "columnStart": 3}], "size": 1}')
102 
103  # basic report
105  RB = rpt()
106  RB.addIssue("some/file/path.py", "LOW", "test", lineStart=1, lineEnd=2, columnStart=3, columnEnd=4)
107  report = RB.generateReport()
108  self.assertEqual(report, '{"_class": "io.jenkins.plugins.analysis.core.restapi.ReportApi", "issues": [{"fileName": "some/file/path.py", "directory": "some/file/", "severity": "LOW", "message": "test", "lineStart": 1, "lineEnd": 2, "columnStart": 3, "columnEnd": 4}], "size": 1}')
109 
110  # basic report
112  RB = rpt()
113  RB.addIssue("some/file/path.py", "LOW", "test", lineStart=1, lineEnd=2, columnEnd=4)
114  report = RB.generateReport()
115  self.assertEqual(report, '{"_class": "io.jenkins.plugins.analysis.core.restapi.ReportApi", "issues": [{"fileName": "some/file/path.py", "directory": "some/file/", "severity": "LOW", "message": "test", "lineStart": 1, "lineEnd": 2}], "size": 1}')
116 
117  # basic report
119  RB = rpt()
120  RB.addIssue("some/file/path.py", "LOW", "test", lineStart=1, lineEnd=2, columnStart=3, columnEnd=4, category="category")
121  report = RB.generateReport()
122  self.assertEqual(report, '{"_class": "io.jenkins.plugins.analysis.core.restapi.ReportApi", "issues": [{"fileName": "some/file/path.py", "directory": "some/file/", "severity": "LOW", "message": "test", "lineStart": 1, "lineEnd": 2, "columnStart": 3, "columnEnd": 4, "category": "category"}], "size": 1}')
123 
124  # basic report
126  RB = rpt()
127  RB.addIssue("some/file/path.py", "LOW", "test", lineStart=1, lineEnd=2, columnStart=3, columnEnd=4, category="category", type="type")
128  report = RB.generateReport()
129  self.assertEqual(report, '{"_class": "io.jenkins.plugins.analysis.core.restapi.ReportApi", "issues": [{"fileName": "some/file/path.py", "directory": "some/file/", "severity": "LOW", "message": "test", "lineStart": 1, "lineEnd": 2, "columnStart": 3, "columnEnd": 4, "category": "category", "type": "type"}], "size": 1}')
130 
131  # basic report
133  RB = rpt()
134  RB.addIssue("some/file/path.py", "LOW", "test", lineStart=1, lineEnd=2, columnStart=3, columnEnd=4, category="category", type="type", description="description")
135  report = RB.generateReport()
136  self.assertEqual(report, '{"_class": "io.jenkins.plugins.analysis.core.restapi.ReportApi", "issues": [{"fileName": "some/file/path.py", "directory": "some/file/", "severity": "LOW", "message": "test", "lineStart": 1, "lineEnd": 2, "columnStart": 3, "columnEnd": 4, "category": "category", "type": "type", "description": "description"}], "size": 1}')
137 
138  # basic report
140  RB = rpt()
141  RB.addIssue("some/file/path.py", "LOW", "test", lineStart=1, lineEnd=2, columnStart=3, columnEnd=4, category="category", type="type", description="description", packageName="package")
142  report = RB.generateReport()
143  self.assertEqual(report, '{"_class": "io.jenkins.plugins.analysis.core.restapi.ReportApi", "issues": [{"fileName": "some/file/path.py", "directory": "some/file/", "severity": "LOW", "message": "test", "lineStart": 1, "lineEnd": 2, "columnStart": 3, "columnEnd": 4, "category": "category", "type": "type", "description": "description", "packageName": "package"}], "size": 1}')
144 
145  # basic report
147  RB = rpt()
148  RB.addIssue("some/file/path.py", "LOW", "test", lineStart=1, lineEnd=2, columnStart=3, columnEnd=4, category="category", type="type", description="description", packageName="package", moduleName="module")
149  report = RB.generateReport()
150  self.assertEqual(report, '{"_class": "io.jenkins.plugins.analysis.core.restapi.ReportApi", "issues": [{"fileName": "some/file/path.py", "directory": "some/file/", "severity": "LOW", "message": "test", "lineStart": 1, "lineEnd": 2, "columnStart": 3, "columnEnd": 4, "category": "category", "type": "type", "description": "description", "packageName": "package", "moduleName": "module"}], "size": 1}')
151 
152  # basic report
154  RB = rpt()
155  RB.addIssue("some/file/path.py", "LOW", "test", lineStart=1, lineEnd=2, columnStart=3, columnEnd=4, category="category", type="type", description="description", packageName="package", moduleName="module", additionalProperties="adds")
156  report = RB.generateReport()
157  self.assertEqual(report, '{"_class": "io.jenkins.plugins.analysis.core.restapi.ReportApi", "issues": [{"fileName": "some/file/path.py", "directory": "some/file/", "severity": "LOW", "message": "test", "lineStart": 1, "lineEnd": 2, "columnStart": 3, "columnEnd": 4, "category": "category", "type": "type", "description": "description", "packageName": "package", "moduleName": "module", "additionalProperties": "adds"}], "size": 1}')
158 
159 
160 if __name__ == "__main__":
161  unittest.main()
This module provides utlilities related to creating Jenkins' warnings-ng-plugin-compatible reports fr...
Definition: reports.py:1