mirror of
https://github.com/prowler-cloud/prowler.git
synced 2026-10-19 01:44:16 +00:00
+3







![dependabot[bot]](/assets/img/avatar_default.png)
856afb3966
Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: r3drun3 <simone.ragonesi@sighup.io> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: John Mastron <14130495+mtronrd@users.noreply.github.com> Co-authored-by: John Mastron <jmastron@jpl.nasa.gov> Co-authored-by: Sergio Garcia <sergargar1@gmail.com> Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com> Co-authored-by: sergargar <sergargar@users.noreply.github.com> Co-authored-by: Pepe Fagoaga <pepe@verica.io> Co-authored-by: github-actions <noreply@github.com> Co-authored-by: simone ragonesi <102741679+R3DRUN3@users.noreply.github.com> Co-authored-by: Johnny Lu <johnny2lu@gmail.com> Co-authored-by: Vajrala Venkateswarlu <59252985+venkyvajrala@users.noreply.github.com> Co-authored-by: Ignacio Dominguez <ignacio.dominguez@zego.com>
88 lines
3.3 KiB
Python
88 lines
3.3 KiB
Python
import importlib
|
|
import logging
|
|
import tempfile
|
|
from argparse import Namespace
|
|
from os import path
|
|
|
|
from mock import patch
|
|
|
|
from prowler.providers.common.clean import clean_provider_local_output_directories
|
|
|
|
|
|
class Test_Common_Clean:
|
|
def set_provider_input_args(self, provider):
|
|
set_args_function = f"set_{provider}_input_args"
|
|
args = getattr(
|
|
getattr(importlib.import_module(__name__), __class__.__name__),
|
|
set_args_function,
|
|
)(self)
|
|
return args
|
|
|
|
def set_aws_input_args(self):
|
|
args = Namespace()
|
|
args.provider = "aws"
|
|
args.output_bucket = "test-bucket"
|
|
args.output_bucket_no_assume = None
|
|
return args
|
|
|
|
def set_azure_input_args(self):
|
|
args = Namespace()
|
|
args.provider = "azure"
|
|
return args
|
|
|
|
def test_clean_provider_local_output_directories_non_initialized(self, caplog):
|
|
provider = "azure"
|
|
input_args = self.set_provider_input_args(provider)
|
|
caplog.set_level(logging.INFO)
|
|
clean_provider_local_output_directories(input_args)
|
|
assert (
|
|
f"Cleaning local output directories not initialized for provider {provider}:"
|
|
in caplog.text
|
|
)
|
|
|
|
def test_clean_aws_local_output_directories_non_default_dir_output_bucket(self):
|
|
provider = "aws"
|
|
input_args = self.set_provider_input_args(provider)
|
|
with tempfile.TemporaryDirectory() as temp_dir:
|
|
input_args.output_directory = temp_dir
|
|
clean_provider_local_output_directories(input_args)
|
|
assert not path.exists(input_args.output_directory)
|
|
|
|
def test_clean_aws_local_output_directories_non_default_dir_output_bucket_no_assume(
|
|
self,
|
|
):
|
|
provider = "aws"
|
|
input_args = self.set_provider_input_args(provider)
|
|
input_args.output_bucket = None
|
|
input_args.output_bucket_no_assume = "test"
|
|
with tempfile.TemporaryDirectory() as temp_dir:
|
|
input_args.output_directory = temp_dir
|
|
clean_provider_local_output_directories(input_args)
|
|
assert not path.exists(input_args.output_directory)
|
|
|
|
def test_clean_aws_local_output_directories_default_dir_output_bucket(self):
|
|
provider = "aws"
|
|
input_args = self.set_provider_input_args(provider)
|
|
with tempfile.TemporaryDirectory() as temp_dir:
|
|
with patch(
|
|
"prowler.providers.common.clean.default_output_directory", new=temp_dir
|
|
):
|
|
input_args.output_directory = temp_dir
|
|
clean_provider_local_output_directories(input_args)
|
|
assert path.exists(input_args.output_directory)
|
|
|
|
def test_clean_aws_local_output_directories_default_dir_output_bucket_no_assume(
|
|
self,
|
|
):
|
|
provider = "aws"
|
|
input_args = self.set_provider_input_args(provider)
|
|
input_args.output_bucket_no_assume = "test"
|
|
input_args.ouput_bucket = None
|
|
with tempfile.TemporaryDirectory() as temp_dir:
|
|
with patch(
|
|
"prowler.providers.common.clean.default_output_directory", new=temp_dir
|
|
):
|
|
input_args.output_directory = temp_dir
|
|
clean_provider_local_output_directories(input_args)
|
|
assert path.exists(input_args.output_directory)
|