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  # empty report
16  RB = rpt()
17  report = RB.generateReport()
18  self.assertEqual(report, '{"_class": "io.jenkins.plugins.analysis.core.restapi.ReportApi", "issues": [], "size": 0}')
19 
20  # basic report
22  RB = rpt()
23  RB.addIssue("some/file/path.py", "LOW", "test")
24  report = RB.generateReport()
25  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}')
26 
27  # basic report
29  with self.assertRaises(Exception):
30  RB = rpt()
31  RB.addIssue("/some/file/path/", "LOW", "test")
32  report = RB.generateReport() # noqa: F841
33 
34  # basic report
36  with self.assertRaises(Exception):
37  RB = rpt()
38  RB.addIssue(None, "LOW", "test")
39  report = RB.generateReport() # noqa: F841
40 
41  # basic report
43  with self.assertRaises(Exception):
44  RB = rpt()
45  RB.addIssue("", "LOW", "test")
46  report = RB.generateReport() # noqa: F841
47 
48  # basic report
50  with self.assertRaises(Exception):
51  RB = rpt()
52  RB.addIssue("a.txt", "severityunk", "test")
53  report = RB.generateReport() # noqa: F841
54 
55  # basic report
57  with self.assertRaises(Exception):
58  RB = rpt()
59  RB.addIssue("a.txt", "LOW", None)
60  report = RB.generateReport() # noqa: F841
61 
62  # basic report
64  with self.assertRaises(Exception):
65  RB = rpt()
66  RB.addIssue("a.txt", "LOW", "")
67  report = RB.generateReport() # noqa: F841
68 
69  # basic report
71  RB = rpt()
72  RB.addIssue("some/file/path.py", "LOW", "test", lineStart=1)
73  report = RB.generateReport()
74  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}')
75 
76  # basic report
78  RB = rpt()
79  RB.addIssue("some/file/path.py", "LOW", "test", lineStart=1, lineEnd=2)
80  report = RB.generateReport()
81  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}')
82 
83  # basic report
85  RB = rpt()
86  RB.addIssue("some/file/path.py", "LOW", "test", lineEnd=2)
87  report = RB.generateReport()
88  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}')
89 
90  # basic report
92  RB = rpt()
93  RB.addIssue("some/file/path.py", "LOW", "test", lineStart=1, lineEnd=2, columnStart=3)
94  report = RB.generateReport()
95  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}')
96 
97  # basic report
99  RB = rpt()
100  RB.addIssue("some/file/path.py", "LOW", "test", lineStart=1, lineEnd=2, columnStart=3, columnEnd=4)
101  report = RB.generateReport()
102  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}')
103 
104  # basic report
106  RB = rpt()
107  RB.addIssue("some/file/path.py", "LOW", "test", lineStart=1, lineEnd=2, columnEnd=4)
108  report = RB.generateReport()
109  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}')
110 
111  # basic report
113  RB = rpt()
114  RB.addIssue("some/file/path.py", "LOW", "test", lineStart=1, lineEnd=2, columnStart=3, columnEnd=4, category="category")
115  report = RB.generateReport()
116  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}')
117 
118  # basic report
120  RB = rpt()
121  RB.addIssue("some/file/path.py", "LOW", "test", lineStart=1, lineEnd=2, columnStart=3, columnEnd=4, category="category", type="type")
122  report = RB.generateReport()
123  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}')
124 
125  # basic report
127  RB = rpt()
128  RB.addIssue("some/file/path.py", "LOW", "test", lineStart=1, lineEnd=2, columnStart=3, columnEnd=4, category="category", type="type", description="description")
129  report = RB.generateReport()
130  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}')
131 
132  # basic report
134  RB = rpt()
135  RB.addIssue("some/file/path.py", "LOW", "test", lineStart=1, lineEnd=2, columnStart=3, columnEnd=4, category="category", type="type", description="description", packageName="package")
136  report = RB.generateReport()
137  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}')
138 
139  # basic report
141  RB = rpt()
142  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")
143  report = RB.generateReport()
144  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}')
145 
146  # basic report
148  RB = rpt()
149  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")
150  report = RB.generateReport()
151  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}')
152 
153 
154 if __name__ == "__main__":
155  unittest.main()