def test_options_for_scan_missing_mandatory(monkeypatch, arg): command = "./scan example.org --scan=a11y --%s" % arg.replace("_", "-") monkeypatch.setattr(sys, "argv", command.split(" ")) scan_utils.options() command = "./scan example.org --scan=a11y --%s=" % arg.replace("_", "-") monkeypatch.setattr(sys, "argv", command.split(" ")) scan_utils.options()
def test_options_for_scan_help(monkeypatch, capsys, args): monkeypatch.setattr(sys, "argv", args.split(" ")) # Handling exception here instead of with decorator because we want to # examine the console output. with pytest.raises(SystemExit) as exc: scan_utils.options() assert exc.typename == "SystemExit" out, err = capsys.readouterr() assert out.startswith("usage: scan [-h]")
def test_options_for_scan_no_target(monkeypatch, capsys): # Handling exception here instead of with decorator because for some reason # even our enhanced ArgumentParser generates SystemExit for this error # instead of a more specific exception. command = "./scan --scan=a11y" monkeypatch.setattr(sys, "argv", command.split(" ")) with pytest.raises(SystemExit) as exc: scan_utils.options() assert exc.typename == "SystemExit" out, err = capsys.readouterr() assert err.endswith("arguments are required: domains\n")
def test_options_for_scan_basic(monkeypatch): command = "./scan example.org --scan=a11y" monkeypatch.setattr(sys, "argv", command.split(" ")) result, _ = scan_utils.options() assert result == { "_": default_underscore_scan, "domains": "example.org", "scan": "a11y", **scan_default_values, "output": "./", }
def test_options(monkeypatch, args, expected): monkeypatch.setattr(sys, "argv", args.split(" ")) result = scan_utils.options() assert result == expected
def test_options_for_scan_check_for_single_args(monkeypatch, command, expected): monkeypatch.setattr(sys, "argv", command.split(" ")) result, _ = scan_utils.options() if not result == expected: pytest.set_trace() assert result == expected
def test_options_for_scan_lambda_profile_no_lambda(monkeypatch): command = "./scan example.org --scan=a11y --lambda-profile=something" monkeypatch.setattr(sys, "argv", command.split(" ")) scan_utils.options()