调试网络
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -4,6 +4,7 @@ from typing import List, Dict, Any, Optional, Union, Tuple
|
||||
import requests
|
||||
from urllib.parse import urljoin
|
||||
import copy
|
||||
import urllib3
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -535,8 +536,14 @@ class InputParser:
|
||||
self.logger.error(f"An unexpected error occurred while parsing Swagger spec {file_path}: {e}", exc_info=True)
|
||||
return None
|
||||
|
||||
def parse_dms_spec(self, domain_mapping_path: str, base_url: str, headers: Optional[Dict[str, str]] = None) -> Optional[ParsedDMSSpec]:
|
||||
def parse_dms_spec(self, domain_mapping_path: str, base_url: str, headers: Optional[Dict[str, str]] = None, ignore_ssl: bool = False) -> Optional[ParsedDMSSpec]:
|
||||
self.logger.info(f"Starting DMS spec parsing. Base URL: {base_url}, Domain Map: {domain_mapping_path}")
|
||||
|
||||
if ignore_ssl:
|
||||
self.logger.warning("SSL certificate verification is disabled for DMS API calls. This is not recommended for production use.")
|
||||
# 禁用SSL警告
|
||||
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
|
||||
|
||||
headers = headers or {}
|
||||
|
||||
try:
|
||||
@@ -549,7 +556,7 @@ class InputParser:
|
||||
list_url = urljoin(base_url, "/api/schema/manage/schema")
|
||||
self.logger.info(f"Fetching API list from: {list_url}")
|
||||
try:
|
||||
response = requests.get(list_url, headers=headers)
|
||||
response = requests.get(list_url, headers=headers, verify=not ignore_ssl)
|
||||
response.raise_for_status()
|
||||
api_list_data = response.json()
|
||||
|
||||
@@ -587,7 +594,7 @@ class InputParser:
|
||||
self.logger.info(f"Fetching model for '{name}' from: {model_url}")
|
||||
|
||||
try:
|
||||
response = requests.get(model_url, headers=headers)
|
||||
response = requests.get(model_url, headers=headers, verify=not ignore_ssl)
|
||||
response.raise_for_status()
|
||||
model_schema_response = response.json()
|
||||
except requests.exceptions.RequestException as e:
|
||||
|
||||
@@ -2645,7 +2645,8 @@ class APITestOrchestrator:
|
||||
|
||||
def run_tests_from_dms(self, domain_mapping_path: str,
|
||||
categories: Optional[List[str]] = None,
|
||||
custom_test_cases_dir: Optional[str] = None
|
||||
custom_test_cases_dir: Optional[str] = None,
|
||||
ignore_ssl: bool = False
|
||||
) -> Tuple[TestSummary, Optional[ParsedAPISpec]]:
|
||||
"""
|
||||
通过动态DMS服务发现来执行测试。
|
||||
@@ -2654,7 +2655,7 @@ class APITestOrchestrator:
|
||||
parser = InputParser()
|
||||
|
||||
self.logger.info("从DMS动态服务启动测试...")
|
||||
parsed_spec = parser.parse_dms_spec(domain_mapping_path, base_url=self.base_url)
|
||||
parsed_spec = parser.parse_dms_spec(domain_mapping_path, base_url=self.base_url, ignore_ssl=ignore_ssl)
|
||||
|
||||
if not parsed_spec:
|
||||
self.logger.error("无法从DMS服务解析API,测试终止。")
|
||||
|
||||
Reference in New Issue
Block a user