Skip to content

Commit a843bb4

Browse files
committed
chore: Pass API_NAME to Schemathesis via env vars
1 parent 6ffd83a commit a843bb4

File tree

2 files changed

+19
-6
lines changed

2 files changed

+19
-6
lines changed

Diff for: .github/workflows/fuzz_demo.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ jobs:
2727
env:
2828
SCHEMATHESIS_REPORT: 'true'
2929
SCHEMATHESIS_TOKEN: ${{ secrets.SCHEMATHESIS_TOKEN }}
30+
SCHEMATHESIS_API_NAME: 'kubernetes-kcp'
3031
run: poetry run wafp schemathesis:Fast kubernetes_kcp --output-dir=./artifacts
3132

3233
- name: Archive artifacts

Diff for: src/wafp/fuzzers/catalog/schemathesis/__init__.py

+18-6
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import os
22
from textwrap import dedent
3-
from typing import Dict, List, Union
3+
from typing import Dict, List, Optional, Union
44

55
from wafp.fuzzers import BaseFuzzer, FuzzerContext
66
from wafp.utils import NotSet
@@ -12,8 +12,12 @@ def send_report_requested(self) -> bool:
1212
return bool(os.environ.get("SCHEMATHESIS_REPORT", False))
1313

1414
@property
15-
def saas_token(self) -> str:
16-
return os.environ.get("SCHEMATHESIS_TOKEN", "")
15+
def saas_token(self) -> Optional[str]:
16+
return os.environ.get("SCHEMATHESIS_TOKEN")
17+
18+
@property
19+
def api_name(self) -> Optional[str]:
20+
return os.environ.get("SCHEMATHESIS_API_NAME")
1721

1822
def get_entrypoint_args(
1923
self, context: FuzzerContext, schema: str, base_url: str, headers: Dict[str, str], ssl_insecure: bool = False
@@ -32,13 +36,21 @@ def get_entrypoint_args(
3236
for key, value in headers.items():
3337
args.extend(["-H", f"{key}: {value}"])
3438
if ssl_insecure:
35-
args.extend(["--request-tls-verify=false"])
36-
if self.send_report_requested and self.saas_token:
39+
args.append("--request-tls-verify=false")
40+
if self.send_report_requested:
3741
self.logger.info("Report gonna be sent to schemathesis.io")
38-
args.extend(["--report", f"--schemathesis-io-token={self.saas_token}"])
42+
args.append("--report")
43+
if self.saas_token:
44+
args.append(f"--schemathesis-io-token={self.saas_token}")
3945
extend_entrypoint_args(context, args)
4046
return args
4147

48+
def get_environment_variables(self) -> Dict[str, str]:
49+
env = super().get_environment_variables()
50+
if self.api_name is not None:
51+
env["SCHEMATHESIS_API_NAME"] = self.api_name
52+
return env
53+
4254

4355
def extend_entrypoint_args(context: FuzzerContext, args: List[str]) -> None:
4456
"""Add target-specific entrypoint arguments."""

0 commit comments

Comments
 (0)