chore(role arguments): enhance role arguments validation (#3240)

This commit is contained in:
Sergio Garcia
2024-01-08 14:41:52 +01:00
committed by GitHub
parent 80b88a9365
commit 1df84ef6e4
5 changed files with 24 additions and 13 deletions

View File

@@ -5,6 +5,7 @@ import pytest
from mock import patch
from prowler.lib.cli.parser import ProwlerArgumentParser
from prowler.providers.aws.config import ROLE_SESSION_NAME
from prowler.providers.aws.lib.arguments.arguments import (
validate_bucket,
validate_role_session_name,
@@ -743,7 +744,7 @@ class Test_Parser:
assert wrapped_exit.value.code == 2
assert (
capsys.readouterr().err
== f"{prowler_default_usage_error}\nprowler: error: aws: To use -I/-T options -R option is needed\n"
== f"{prowler_default_usage_error}\nprowler: error: aws: To use -I/--external-id, -T/--session-duration or --role-session-name options -R/--role option is needed\n"
)
def test_aws_parser_session_duration_long(self, capsys):
@@ -756,7 +757,7 @@ class Test_Parser:
assert wrapped_exit.value.code == 2
assert (
capsys.readouterr().err
== f"{prowler_default_usage_error}\nprowler: error: aws: To use -I/-T options -R option is needed\n"
== f"{prowler_default_usage_error}\nprowler: error: aws: To use -I/--external-id, -T/--session-duration or --role-session-name options -R/--role option is needed\n"
)
# TODO
@@ -777,7 +778,7 @@ class Test_Parser:
assert wrapped_exit.value.code == 2
assert (
capsys.readouterr().err
== f"{prowler_default_usage_error}\nprowler: error: aws: To use -I/-T options -R option is needed\n"
== f"{prowler_default_usage_error}\nprowler: error: aws: To use -I/--external-id, -T/--session-duration or --role-session-name options -R/--role option is needed\n"
)
def test_aws_parser_external_id_long(self, capsys):
@@ -790,7 +791,7 @@ class Test_Parser:
assert wrapped_exit.value.code == 2
assert (
capsys.readouterr().err
== f"{prowler_default_usage_error}\nprowler: error: aws: To use -I/-T options -R option is needed\n"
== f"{prowler_default_usage_error}\nprowler: error: aws: To use -I/--external-id, -T/--session-duration or --role-session-name options -R/--role option is needed\n"
)
def test_aws_parser_region_f(self):
@@ -1017,7 +1018,7 @@ class Test_Parser:
def test_aws_parser_role_session_name(self):
argument = "--role-session-name"
role_session_name = "ProwlerAssessmentSession"
role_session_name = ROLE_SESSION_NAME
command = [prowler_command, argument, role_session_name]
parsed = self.parser.parse(command)
assert parsed.role_session_name == role_session_name