pytest-json-ctrf 0.5.0__tar.gz → 0.5.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (18) hide show
  1. {pytest_json_ctrf-0.5.0 → pytest_json_ctrf-0.5.2}/PKG-INFO +5 -1
  2. {pytest_json_ctrf-0.5.0 → pytest_json_ctrf-0.5.2}/README.md +4 -0
  3. {pytest_json_ctrf-0.5.0 → pytest_json_ctrf-0.5.2}/ctrf/Report.py +12 -6
  4. {pytest_json_ctrf-0.5.0 → pytest_json_ctrf-0.5.2}/ctrf/TestObject.py +1 -4
  5. {pytest_json_ctrf-0.5.0 → pytest_json_ctrf-0.5.2}/pyproject.toml +1 -1
  6. {pytest_json_ctrf-0.5.0 → pytest_json_ctrf-0.5.2}/pytest_json_ctrf.egg-info/PKG-INFO +5 -1
  7. {pytest_json_ctrf-0.5.0 → pytest_json_ctrf-0.5.2}/ctrf/BaseMetadataReport.py +0 -0
  8. {pytest_json_ctrf-0.5.0 → pytest_json_ctrf-0.5.2}/ctrf/CommonTestReportPlugin.py +0 -0
  9. {pytest_json_ctrf-0.5.0 → pytest_json_ctrf-0.5.2}/ctrf/__init__.py +0 -0
  10. {pytest_json_ctrf-0.5.0 → pytest_json_ctrf-0.5.2}/ctrf/main.py +0 -0
  11. {pytest_json_ctrf-0.5.0 → pytest_json_ctrf-0.5.2}/pytest_json_ctrf.egg-info/SOURCES.txt +0 -0
  12. {pytest_json_ctrf-0.5.0 → pytest_json_ctrf-0.5.2}/pytest_json_ctrf.egg-info/dependency_links.txt +0 -0
  13. {pytest_json_ctrf-0.5.0 → pytest_json_ctrf-0.5.2}/pytest_json_ctrf.egg-info/entry_points.txt +0 -0
  14. {pytest_json_ctrf-0.5.0 → pytest_json_ctrf-0.5.2}/pytest_json_ctrf.egg-info/requires.txt +0 -0
  15. {pytest_json_ctrf-0.5.0 → pytest_json_ctrf-0.5.2}/pytest_json_ctrf.egg-info/top_level.txt +0 -0
  16. {pytest_json_ctrf-0.5.0 → pytest_json_ctrf-0.5.2}/setup.cfg +0 -0
  17. {pytest_json_ctrf-0.5.0 → pytest_json_ctrf-0.5.2}/tests/test_example.py +0 -0
  18. {pytest_json_ctrf-0.5.0 → pytest_json_ctrf-0.5.2}/tests/test_plugin.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pytest-json-ctrf
3
- Version: 0.5.0
3
+ Version: 0.5.2
4
4
  Summary: Pytest plugin to generate json report in CTRF (Common Test Report Format)
5
5
  Author: Oleksii Ostapov
6
6
  Project-URL: Infopulse, https://infopulse.com/
@@ -54,6 +54,9 @@ More info here: https://ctrf.io/docs/schema/examples
54
54
 
55
55
  ```json
56
56
  {
57
+ "reportFormat": "CTRF",
58
+ "specVersion": "0.0.0",
59
+ "generatedBy": "pytest",
57
60
  "results": {
58
61
  "tool": {
59
62
  "name": "jest"
@@ -111,6 +114,7 @@ The `pytest_runtest_logreport` hook in the controller node is used to collect th
111
114
  - https://github.com/infopulse/Playwright-course-python -> The report will be used in the demo project as +1 report option
112
115
 
113
116
  ## Changelog
117
+ - 0.5.1 - added mandatory root object fields: reportFormat, specVersion, generatedBy
114
118
  - 0.5.0 - Changed logic of handling parametrized tests. Previously they were marked as retries, now they are reported as separate tests
115
119
  - 0.4.1 - Introduced backward compatibility with python 3.8, fixed issues with the time formats
116
120
 
@@ -39,6 +39,9 @@ More info here: https://ctrf.io/docs/schema/examples
39
39
 
40
40
  ```json
41
41
  {
42
+ "reportFormat": "CTRF",
43
+ "specVersion": "0.0.0",
44
+ "generatedBy": "pytest",
42
45
  "results": {
43
46
  "tool": {
44
47
  "name": "jest"
@@ -96,6 +99,7 @@ The `pytest_runtest_logreport` hook in the controller node is used to collect th
96
99
  - https://github.com/infopulse/Playwright-course-python -> The report will be used in the demo project as +1 report option
97
100
 
98
101
  ## Changelog
102
+ - 0.5.1 - added mandatory root object fields: reportFormat, specVersion, generatedBy
99
103
  - 0.5.0 - Changed logic of handling parametrized tests. Previously they were marked as retries, now they are reported as separate tests
100
104
  - 0.4.1 - Introduced backward compatibility with python 3.8, fixed issues with the time formats
101
105
 
@@ -3,6 +3,7 @@ import pytest
3
3
  import time
4
4
  import json
5
5
  from typing import Optional
6
+ from datetime import datetime, timezone
6
7
  from pytest import TestReport
7
8
  from collections import OrderedDict
8
9
  from .TestObject import TestObject, TestStatus
@@ -78,12 +79,17 @@ class Report:
78
79
 
79
80
  def get_report(self) -> dict:
80
81
  self.process_retries()
81
- return {'results': {
82
- "tool": self._get_tool(),
83
- "summary": self._get_summary(),
84
- "environment": self._get_environment(),
85
- "tests": [test.serialize() for test in self.prepared_tests.values()]
86
- }
82
+ return {
83
+ 'reportFormat': 'CTRF',
84
+ 'specVersion': '0.0.0',
85
+ 'timestamp': datetime.now(timezone.utc).isoformat(),
86
+ 'generatedBy': 'pytest',
87
+ 'results': {
88
+ "tool": self._get_tool(),
89
+ "summary": self._get_summary(),
90
+ "environment": self._get_environment(),
91
+ "tests": [test.serialize() for test in self.prepared_tests.values()]
92
+ }
87
93
  }
88
94
 
89
95
  def save(self, report_file: str) -> None:
@@ -16,7 +16,6 @@ class TestObject:
16
16
  name: str
17
17
  _status: TestStatus
18
18
  raw_status: Optional[str]
19
- duration: int = 0
20
19
  start: int
21
20
  stop: int
22
21
  retries: int
@@ -33,7 +32,6 @@ class TestObject:
33
32
  self._status = TestStatus.PENDING
34
33
  self._status = self.set_status(report)
35
34
  self.raw_status = None
36
- self.duration = 0
37
35
  self.start = 0
38
36
  self.stop = 0
39
37
  self.retries = 0
@@ -83,7 +81,6 @@ class TestObject:
83
81
  self.start = int(report.start * 1000)
84
82
  if report.when == "teardown" and self.stop == 0:
85
83
  self.stop = int(report.stop * 1000)
86
- self.duration = self.stop - self.start
87
84
  if report.longrepr and len(report.longreprtext) > 0:
88
85
  self.trace = report.longreprtext
89
86
  if hasattr(report, '_ctrf_metadata'):
@@ -95,7 +92,7 @@ class TestObject:
95
92
  'name': self.name,
96
93
  'status': self._status.value,
97
94
  'raw_status': self.raw_status,
98
- 'duration': self.duration,
95
+ 'duration': self.stop - self.start,
99
96
  'start': self.start,
100
97
  'stop': self.stop,
101
98
  'retries': None if self.retries == 1 else self.retries,
@@ -10,7 +10,7 @@ exclude = [
10
10
 
11
11
  [project]
12
12
  name = "pytest-json-ctrf"
13
- version = "0.5.0"
13
+ version = "0.5.2"
14
14
 
15
15
  dependencies = [
16
16
  "pytest>6.0.0",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pytest-json-ctrf
3
- Version: 0.5.0
3
+ Version: 0.5.2
4
4
  Summary: Pytest plugin to generate json report in CTRF (Common Test Report Format)
5
5
  Author: Oleksii Ostapov
6
6
  Project-URL: Infopulse, https://infopulse.com/
@@ -54,6 +54,9 @@ More info here: https://ctrf.io/docs/schema/examples
54
54
 
55
55
  ```json
56
56
  {
57
+ "reportFormat": "CTRF",
58
+ "specVersion": "0.0.0",
59
+ "generatedBy": "pytest",
57
60
  "results": {
58
61
  "tool": {
59
62
  "name": "jest"
@@ -111,6 +114,7 @@ The `pytest_runtest_logreport` hook in the controller node is used to collect th
111
114
  - https://github.com/infopulse/Playwright-course-python -> The report will be used in the demo project as +1 report option
112
115
 
113
116
  ## Changelog
117
+ - 0.5.1 - added mandatory root object fields: reportFormat, specVersion, generatedBy
114
118
  - 0.5.0 - Changed logic of handling parametrized tests. Previously they were marked as retries, now they are reported as separate tests
115
119
  - 0.4.1 - Introduced backward compatibility with python 3.8, fixed issues with the time formats
116
120