fix(aws_regions_by_service.json): FileNotFoundError[13] (#1689)

Co-authored-by: sergargar <sergio@verica.io>
This commit is contained in:
Sergio Garcia
2023-01-12 13:24:03 +01:00
committed by GitHub
parent b03df619df
commit fe906477da
6 changed files with 29 additions and 33 deletions

View File

@@ -1,3 +1,4 @@
import os
import pathlib
from datetime import datetime, timezone
from os import getcwd
@@ -5,7 +6,6 @@ from os import getcwd
import yaml
from prowler.lib.logger import logger
from prowler.lib.utils.utils import open_file, parse_json_file
timestamp = datetime.today()
timestamp_utc = datetime.now(timezone.utc).replace(tzinfo=timezone.utc)
@@ -30,7 +30,7 @@ csv_file_suffix = ".csv"
json_file_suffix = ".json"
json_asff_file_suffix = ".asff.json"
html_file_suffix = ".html"
config_yaml = f"{pathlib.Path().absolute()}/prowler/config/config.yaml"
config_yaml = f"{pathlib.Path(os.path.dirname(os.path.realpath(__file__)))}/config.yaml"
def change_config_var(variable, value):
@@ -55,22 +55,3 @@ def get_config_var(variable):
except Exception as error:
logger.error(f"{error.__class__.__name__}: {error}")
return ""
def get_aws_available_regions():
try:
actual_directory = pathlib.Path().absolute()
f = open_file(
f"{actual_directory}/prowler/providers/aws/{aws_services_json_file}"
)
data = parse_json_file(f)
regions = set()
for service in data["services"].values():
for partition in service["regions"]:
for item in service["regions"][partition]:
regions.add(item)
return list(regions)
except Exception as error:
logger.error(f"{error.__class__.__name__}: {error}")
return []

View File

@@ -2,11 +2,8 @@ import argparse
import sys
from argparse import RawTextHelpFormatter
from prowler.config.config import (
default_output_directory,
get_aws_available_regions,
prowler_version,
)
from prowler.config.config import default_output_directory, prowler_version
from prowler.providers.aws.aws_provider import get_aws_available_regions
class ProwlerArgumentParser:

View File

@@ -1,3 +1,4 @@
import os
import pathlib
import sys
@@ -108,10 +109,8 @@ def generate_regional_clients(
try:
regional_clients = {}
# Get json locally
actual_directory = pathlib.Path().absolute()
f = open_file(
f"{actual_directory}/prowler/providers/aws/{aws_services_json_file}"
)
actual_directory = pathlib.Path(os.path.dirname(os.path.realpath(__file__)))
f = open_file(f"{actual_directory}/{aws_services_json_file}")
data = parse_json_file(f)
# Check if it is a subservice
json_regions = data["services"][service]["regions"][
@@ -140,3 +139,20 @@ def generate_regional_clients(
logger.error(
f"{error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"
)
def get_aws_available_regions():
try:
actual_directory = pathlib.Path(os.path.dirname(os.path.realpath(__file__)))
f = open_file(f"{actual_directory}/{aws_services_json_file}")
data = parse_json_file(f)
regions = set()
for service in data["services"].values():
for partition in service["regions"]:
for item in service["regions"][partition]:
regions.add(item)
return list(regions)
except Exception as error:
logger.error(f"{error.__class__.__name__}: {error}")
return []

View File

@@ -1,4 +1,4 @@
from prowler.config.config import get_aws_available_regions
from prowler.providers.aws.aws_provider import get_aws_available_regions
class Test_Config:

View File

@@ -1,3 +1,4 @@
import os
import pathlib
from importlib.machinery import FileFinder
from pkgutil import ModuleInfo
@@ -107,7 +108,7 @@ class Test_Check:
test_cases = [
{
"input": {
"metadata_path": f"{pathlib.Path().absolute()}/tests/lib/check/fixtures/metadata.json",
"metadata_path": f"{os.path.dirname(os.path.realpath(__file__))}/fixtures/metadata.json",
},
"expected": {
"CheckID": "iam_disable_30_days_credentials",

View File

@@ -1,3 +1,4 @@
import os
import pathlib
from os import path, remove
from unittest import mock
@@ -66,7 +67,7 @@ def mock_make_api_call(self, operation_name, kwarg):
class Test_Outputs:
def test_fill_file_descriptors(self):
audited_account = AWS_ACCOUNT_ID
output_directory = f"{pathlib.Path().absolute()}"
output_directory = f"{os.path.dirname(os.path.realpath(__file__))}"
audit_info = AWS_Audit_Info(
original_session=None,
audit_session=None,