From fdcc2ac5cb8baa84ea67e373122701653a07ef9e Mon Sep 17 00:00:00 2001 From: Nacho Rivera Date: Fri, 1 Dec 2023 12:26:59 +0100 Subject: [PATCH] revert(clean local dirs): delete clean local dirs output feature (#3087) --- prowler/__main__.py | 4 -- prowler/providers/common/clean.py | 32 ---------- tests/providers/common/clean_test.py | 87 ---------------------------- 3 files changed, 123 deletions(-) delete mode 100644 prowler/providers/common/clean.py delete mode 100644 tests/providers/common/clean_test.py diff --git a/prowler/__main__.py b/prowler/__main__.py index a6151dec98..ea57194f3e 100644 --- a/prowler/__main__.py +++ b/prowler/__main__.py @@ -51,7 +51,6 @@ from prowler.providers.common.audit_info import ( set_provider_audit_info, set_provider_execution_parameters, ) -from prowler.providers.common.clean import clean_provider_local_output_directories from prowler.providers.common.outputs import set_provider_output_options from prowler.providers.common.quick_inventory import run_provider_quick_inventory @@ -324,9 +323,6 @@ def prowler(): if checks_folder: remove_custom_checks_module(checks_folder, provider) - # clean local directories - clean_provider_local_output_directories(args) - # If there are failed findings exit code 3, except if -z is input if not args.ignore_exit_code_3 and stats["total_fail"] > 0: sys.exit(3) diff --git a/prowler/providers/common/clean.py b/prowler/providers/common/clean.py deleted file mode 100644 index 0890cee6e5..0000000000 --- a/prowler/providers/common/clean.py +++ /dev/null @@ -1,32 +0,0 @@ -import importlib -import sys -from shutil import rmtree - -from prowler.config.config import default_output_directory -from prowler.lib.logger import logger - - -def clean_provider_local_output_directories(args): - """ - clean_provider_local_output_directories deletes the output files generated locally in custom directories when the output is sent to a remote storage provider - """ - try: - # import provider cleaning function - provider_clean_function = f"clean_{args.provider}_local_output_directories" - getattr(importlib.import_module(__name__), provider_clean_function)(args) - except AttributeError as attribute_exception: - logger.info( - f"Cleaning local output directories not initialized for provider {args.provider}: {attribute_exception}" - ) - except Exception as error: - logger.critical( - f"{error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}" - ) - sys.exit(1) - - -def clean_aws_local_output_directories(args): - """clean_aws_local_output_directories deletes the output files generated locally in custom directories when output is sent to a remote storage provider for AWS""" - if args.output_bucket or args.output_bucket_no_assume: - if args.output_directory != default_output_directory: - rmtree(args.output_directory) diff --git a/tests/providers/common/clean_test.py b/tests/providers/common/clean_test.py deleted file mode 100644 index 7b58217a77..0000000000 --- a/tests/providers/common/clean_test.py +++ /dev/null @@ -1,87 +0,0 @@ -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)