Skip to content

Commit

Permalink
add elapsed time to junit xml #50
Browse files Browse the repository at this point in the history
  • Loading branch information
KissPeter committed Mar 4, 2022
1 parent a75fa98 commit 6673e27
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 8 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ Start the sample application (install the necessary packages listed in test/requ
$ python3 test/test_application.py
Start the fuzzer:
$ ./bin/APIFuzzer -s test/test_api/openapi_v2.json -u http://127.0.0.1:5000/ -r /tmp/reports/ --log debug
$ APIFuzzer -s test/test_api/openapi_v2.json -u http://127.0.0.1:5000/ -r /tmp/reports/ --log debug
Check the reports:
$ ls -1 /tmp/reports/
Expand Down
2 changes: 1 addition & 1 deletion apifuzzer/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = "0.9.12"
__version__ = "0.9.13"
13 changes: 10 additions & 3 deletions apifuzzer/fuzzer_target/fuzz_request_sender.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import os
import urllib.parse
from io import BytesIO
from time import time
from time import time, perf_counter

import pycurl
from bitstring import Bits
Expand Down Expand Up @@ -35,6 +35,7 @@ def __init__(self, name, base_url, report_dir, auth_headers, junit_report_path):
self.failed_test = list()
self.logger.info("Logger initialized")
self.resp_headers = dict()
self.transmit_start_test = None

def pre_test(self, test_num):
"""
Expand All @@ -48,6 +49,7 @@ def pre_test(self, test_num):
monitor.pre_test(test_number=self.test_number)
self.report.add("test_number", test_num)
self.report.add("state", "STARTED")
self.transmit_start_test = perf_counter()

def transmit(self, **kwargs):
"""
Expand Down Expand Up @@ -218,7 +220,10 @@ def post_test(self, test_num):
if self.report.get_status() != Report.PASSED:
if self.junit_report_path:
test_case = TestCase(
name=self.test_number, status=self.report.get_status()
name=self.test_number,
status=self.report.get_status(),
timestamp=time(),
elapsed_sec=perf_counter() - self.transmit_start_test
)
test_case.add_failure_info(message=json.dumps(self.report.to_dict()))
self.failed_test.append(test_case)
Expand Down Expand Up @@ -257,6 +262,8 @@ def teardown(self):
if self.junit_report_path:
with open(self.junit_report_path, "w") as report_file:
to_xml_report_file(
report_file, [TestSuite("API Fuzzer", test_cases)], prettyprint=True
report_file,
[TestSuite(name="API Fuzzer", test_cases=test_cases, timestamp=time())],
prettyprint=True
)
super(ServerTarget, self).teardown() # pylint: disable=E1003
5 changes: 2 additions & 3 deletions test/test_api/openapi_v2.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
],
"basePath": "/",
"paths": {
"/exception/{integer_id}":{
"get": {
"/path_param/{integer_id}": {
"get": {
"parameters": [
{
"name": "integer_id",
Expand All @@ -19,7 +19,6 @@
"type": "number",
"format": "double"
}

]
}
},
Expand Down

0 comments on commit 6673e27

Please sign in to comment.