Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/dev/mockoon.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/dev/postman.json

Large diffs are not rendered by default.

9 changes: 3 additions & 6 deletions framework/python/src/api/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
import signal
import threading
import uvicorn
from urllib.parse import urlparse

from core import tasks
from common import logger
Expand Down Expand Up @@ -437,15 +436,13 @@ async def get_reports(self, request: Request):
LOGGER.debug("Received reports list request")
# Resolve the server IP from the request so we
# can fix the report URL
client_origin = request.headers.get("Origin")
parsed_url = urlparse(client_origin)
server_ip = parsed_url.hostname # This will give you the IP address

reports = self._session.get_all_reports()
for report in reports:
# report URL is currently hard coded as localhost so we can
# replace that to fix the IP dynamically from the requester
report["report"] = report["report"].replace("localhost", server_ip)
report["report"] = report["report"].replace(
"localhost", request.client.host)
report["export"] = report["report"].replace("report", "export")
return reports

async def delete_report(self, request: Request, response: Response):
Expand Down
7 changes: 7 additions & 0 deletions framework/python/src/common/testreport.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ def __init__(self,
self._module_reports = []
self._module_templates = []
self._report_url = ''
self._export_url = ''
self._cur_page = 0

def update_device_profile(self, additional_info):
Expand Down Expand Up @@ -110,6 +111,9 @@ def set_report_url(self, url):
def get_report_url(self):
return self._report_url

def get_export_url(self):
return self._export_url

def set_mac_addr(self, mac_addr):
self._mac_addr = mac_addr

Expand Down Expand Up @@ -186,6 +190,9 @@ def from_json(self, json_file):

if 'report' in json_file:
self._report_url = json_file['report']
if 'export' in json_file:
self._export_url = json_file['export']

self._total_tests = json_file['tests']['total']

# Loop through test results
Expand Down
14 changes: 12 additions & 2 deletions framework/python/src/core/session.py
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,9 @@ def __init__(self, root_dir):
# Direct url for PDF report
self._report_url = None

# Export URL
self._export_url = None

# Version
self._load_version()

Expand Down Expand Up @@ -515,6 +518,12 @@ def get_report_url(self):
def set_report_url(self, url):
self._report_url = url

def get_export_url(self):
return self._export_url

def set_export_url(self, url):
self._export_url = url

def set_subnets(self, ipv4_subnet, ipv6_subnet):
self._ipv4_subnet = ipv4_subnet
self._ipv6_subnet = ipv6_subnet
Expand Down Expand Up @@ -862,9 +871,10 @@ def to_json(self):

if self._report_url is not None:
session_json['report'] = self.get_report_url()
if self._export_url is not None:
session_json['export'] = self.get_export_url()

if self._description is not None:
session_json['description'] = self._description
session_json['description'] = self._description

return session_json

Expand Down
2 changes: 2 additions & 0 deletions framework/python/src/test_orc/test_orchestrator.py
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,7 @@ def run_test_modules(self):
self._write_reports(report)
self._test_in_progress = False
self.get_session().set_report_url(report.get_report_url())
self.get_session().set_export_url(report.get_export_url())

# Set testing description
test_pack: TestPack = self.get_test_pack(device.test_pack)
Expand Down Expand Up @@ -266,6 +267,7 @@ def _generate_report(self):
"{device_folder}",
device.device_folder) +
self.get_session().get_started().strftime("%Y-%m-%dT%H:%M:%S"))
report["export"] = report["report"].replace("report", "export")

return report

Expand Down
3 changes: 2 additions & 1 deletion testing/api/test_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -935,7 +935,8 @@ def test_get_reports(empty_devices_dir, add_devices, # pylint: disable=W0613
"started",
"finished",
"tests",
"report"
"report",
"export"
]

# Iterate through the expected_keys
Expand Down
Loading