chore(cloudsql): Change default cases for CloudSQL checks and remaining tests (#4537)

This commit is contained in:
Rubén De la Torre Vico authored and GitHub committed 2024-07-26 10:09:04 -04:00
1 parent 13c50086eb
commit dc11d85451
27 files changed
+363 -62

No files matched your search

@@ -99,10 +99,10 @@ class Test_cloudsql_instance_postgres_log_error_verbosity_flag:
check = cloudsql_instance_postgres_log_error_verbosity_flag()
result = check.execute()
assert len(result) == 1
assert result[0].status == "FAIL"
assert result[0].status == "PASS"
assert (
result[0].status_extended
== "PostgreSQL Instance instance1 does not have 'log_error_verbosity' flag set to 'default'."
== "PostgreSQL Instance instance1 has 'log_error_verbosity' flag set to 'default'."
)
assert result[0].resource_id == "instance1"
assert result[0].resource_name == "instance1"
@@ -99,10 +99,10 @@ class Test_cloudsql_instance_postgres_log_min_duration_statement_flag:
check = cloudsql_instance_postgres_log_min_duration_statement_flag()
result = check.execute()
assert len(result) == 1
assert result[0].status == "FAIL"
assert result[0].status == "PASS"
assert (
result[0].status_extended
== "PostgreSQL Instance instance1 does not have 'log_min_duration_statement' flag set to '-1'."
== "PostgreSQL Instance instance1 has 'log_min_duration_statement' flag set to '-1'."
)
assert result[0].resource_id == "instance1"
assert result[0].resource_name == "instance1"
@@ -99,10 +99,10 @@ class Test_cloudsql_instance_postgres_log_min_error_statement_flag:
check = cloudsql_instance_postgres_log_min_error_statement_flag()
result = check.execute()
assert len(result) == 1
assert result[0].status == "FAIL"
assert result[0].status == "PASS"
assert (
result[0].status_extended
== "PostgreSQL Instance instance1 does not have 'log_min_error_statement' flag set minimum to 'error'."
== "PostgreSQL Instance instance1 has 'log_min_error_statement' flag set minimum to 'error'."
)
assert result[0].resource_id == "instance1"
assert result[0].resource_name == "instance1"
@@ -64,6 +64,51 @@ class Test_cloudsql_instance_sqlserver_contained_database_authentication_flag:
result = check.execute()
assert len(result) == 0
def test_cloudsql_instance_no_flags(self):
cloudsql_client = mock.MagicMock
with mock.patch(
"prowler.providers.common.provider.Provider.get_global_provider",
return_value=set_mocked_gcp_provider(),
), mock.patch(
"prowler.providers.gcp.services.cloudsql.cloudsql_instance_sqlserver_contained_database_authentication_flag.cloudsql_instance_sqlserver_contained_database_authentication_flag.cloudsql_client",
new=cloudsql_client,
):
from prowler.providers.gcp.services.cloudsql.cloudsql_instance_sqlserver_contained_database_authentication_flag.cloudsql_instance_sqlserver_contained_database_authentication_flag import (
cloudsql_instance_sqlserver_contained_database_authentication_flag,
)
from prowler.providers.gcp.services.cloudsql.cloudsql_service import (
Instance,
)
cloudsql_client.instances = [
Instance(
name="instance1",
version="SQLSERVER_2019_STANDARD",
ip_addresses=[],
region=GCP_EU1_LOCATION,
public_ip=False,
ssl=False,
automated_backups=True,
authorized_networks=[],
flags=[],
project_id=GCP_PROJECT_ID,
)
]
check = cloudsql_instance_sqlserver_contained_database_authentication_flag()
result = check.execute()
assert len(result) == 1
assert result[0].status == "PASS"
assert (
result[0].status_extended
== "SQL Server Instance instance1 has 'contained database authentication' flag set to 'off'."
)
assert result[0].resource_id == "instance1"
assert result[0].resource_name == "instance1"
assert result[0].location == GCP_EU1_LOCATION
assert result[0].project_id == GCP_PROJECT_ID
def test_cloudsql_instance_contained_database_authentication_flag_on(self):
cloudsql_client = mock.MagicMock
@@ -64,6 +64,51 @@ class Test_cloudsql_instance_sqlserver_cross_db_ownership_chaining_flag:
result = check.execute()
assert len(result) == 0
def test_cloudsql_instance_no_flags(self):
cloudsql_client = mock.MagicMock
with mock.patch(
"prowler.providers.common.provider.Provider.get_global_provider",
return_value=set_mocked_gcp_provider(),
), mock.patch(
"prowler.providers.gcp.services.cloudsql.cloudsql_instance_sqlserver_cross_db_ownership_chaining_flag.cloudsql_instance_sqlserver_cross_db_ownership_chaining_flag.cloudsql_client",
new=cloudsql_client,
):
from prowler.providers.gcp.services.cloudsql.cloudsql_instance_sqlserver_cross_db_ownership_chaining_flag.cloudsql_instance_sqlserver_cross_db_ownership_chaining_flag import (
cloudsql_instance_sqlserver_cross_db_ownership_chaining_flag,
)
from prowler.providers.gcp.services.cloudsql.cloudsql_service import (
Instance,
)
cloudsql_client.instances = [
Instance(
name="instance1",
version="SQLSERVER_2019_STANDARD",
ip_addresses=[],
region=GCP_EU1_LOCATION,
public_ip=False,
ssl=False,
automated_backups=True,
authorized_networks=[],
flags=[],
project_id=GCP_PROJECT_ID,
)
]
check = cloudsql_instance_sqlserver_cross_db_ownership_chaining_flag()
result = check.execute()
assert len(result) == 1
assert result[0].status == "PASS"
assert (
result[0].status_extended
== "SQL Server Instance instance1 has 'cross db ownership chaining' flag set to 'off'."
)
assert result[0].resource_id == "instance1"
assert result[0].resource_name == "instance1"
assert result[0].location == GCP_EU1_LOCATION
assert result[0].project_id == GCP_PROJECT_ID
def test_cloudsql_instance_cross_db_ownership_flag_on(self):
cloudsql_client = mock.MagicMock
@@ -91,7 +136,7 @@ class Test_cloudsql_instance_sqlserver_cross_db_ownership_chaining_flag:
ssl=False,
automated_backups=True,
authorized_networks=[],
flags=[{"name": "cross db ownership", "value": "on"}],
flags=[{"name": "cross db ownership chaining", "value": "on"}],
project_id=GCP_PROJECT_ID,
)
]
@@ -102,7 +147,7 @@ class Test_cloudsql_instance_sqlserver_cross_db_ownership_chaining_flag:
assert result[0].status == "FAIL"
assert (
result[0].status_extended
== "SQL Server Instance instance1 does not have 'cross db ownership' flag set to 'off'."
== "SQL Server Instance instance1 does not have 'cross db ownership chaining' flag set to 'off'."
)
assert result[0].resource_id == "instance1"
assert result[0].resource_name == "instance1"
@@ -136,7 +181,7 @@ class Test_cloudsql_instance_sqlserver_cross_db_ownership_chaining_flag:
ssl=False,
automated_backups=True,
authorized_networks=[],
flags=[{"name": "cross db ownership", "value": "off"}],
flags=[{"name": "cross db ownership chaining", "value": "off"}],
project_id=GCP_PROJECT_ID,
)
]
@@ -147,7 +192,7 @@ class Test_cloudsql_instance_sqlserver_cross_db_ownership_chaining_flag:
assert result[0].status == "PASS"
assert (
result[0].status_extended
== "SQL Server Instance instance1 has 'cross db ownership' flag set to 'off'."
== "SQL Server Instance instance1 has 'cross db ownership chaining' flag set to 'off'."
)
assert result[0].resource_id == "instance1"
assert result[0].resource_name == "instance1"
@@ -64,6 +64,51 @@ class Test_cloudsql_instance_sqlserver_external_scripts_enabled_flag:
result = check.execute()
assert len(result) == 0
def test_cloudsql_sqlserver_instance_no_flags(self):
cloudsql_client = mock.MagicMock
with mock.patch(
"prowler.providers.common.provider.Provider.get_global_provider",
return_value=set_mocked_gcp_provider(),
), mock.patch(
"prowler.providers.gcp.services.cloudsql.cloudsql_instance_sqlserver_external_scripts_enabled_flag.cloudsql_instance_sqlserver_external_scripts_enabled_flag.cloudsql_client",
new=cloudsql_client,
):
from prowler.providers.gcp.services.cloudsql.cloudsql_instance_sqlserver_external_scripts_enabled_flag.cloudsql_instance_sqlserver_external_scripts_enabled_flag import (
cloudsql_instance_sqlserver_external_scripts_enabled_flag,
)
from prowler.providers.gcp.services.cloudsql.cloudsql_service import (
Instance,
)
cloudsql_client.instances = [
Instance(
name="instance1",
version="SQLSERVER_2019",
ip_addresses=[],
region=GCP_EU1_LOCATION,
public_ip=False,
ssl=False,
automated_backups=True,
authorized_networks=[],
flags=[],
project_id=GCP_PROJECT_ID,
)
]
check = cloudsql_instance_sqlserver_external_scripts_enabled_flag()
result = check.execute()
assert len(result) == 1
assert result[0].status == "PASS"
assert (
result[0].status_extended
== "SQL Server Instance instance1 has 'external scripts enabled' flag set to 'off'."
)
assert result[0].resource_id == "instance1"
assert result[0].resource_name == "instance1"
assert result[0].location == GCP_EU1_LOCATION
assert result[0].project_id == GCP_PROJECT_ID
def test_cloudsql_sqlserver_instance_external_scripts_enabled_flag_on(self):
cloudsql_client = mock.MagicMock
@@ -64,6 +64,51 @@ class Test_cloudsql_instance_sqlserver_remote_access_flag:
result = check.execute()
assert len(result) == 0
def test_cloudsql_instance_no_flags(self):
cloudsql_client = mock.MagicMock
with mock.patch(
"prowler.providers.common.provider.Provider.get_global_provider",
return_value=set_mocked_gcp_provider(),
), mock.patch(
"prowler.providers.gcp.services.cloudsql.cloudsql_instance_sqlserver_remote_access_flag.cloudsql_instance_sqlserver_remote_access_flag.cloudsql_client",
new=cloudsql_client,
):
from prowler.providers.gcp.services.cloudsql.cloudsql_instance_sqlserver_remote_access_flag.cloudsql_instance_sqlserver_remote_access_flag import (
cloudsql_instance_sqlserver_remote_access_flag,
)
from prowler.providers.gcp.services.cloudsql.cloudsql_service import (
Instance,
)
cloudsql_client.instances = [
Instance(
name="instance1",
version="SQLSERVER_2019",
ip_addresses=[],
region=GCP_EU1_LOCATION,
public_ip=False,
ssl=False,
automated_backups=True,
authorized_networks=[],
flags=[],
project_id=GCP_PROJECT_ID,
)
]
check = cloudsql_instance_sqlserver_remote_access_flag()
result = check.execute()
assert len(result) == 1
assert result[0].status == "FAIL"
assert (
result[0].status_extended
== "SQL Server Instance instance1 has 'remote access' flag set to 'on'."
)
assert result[0].resource_id == "instance1"
assert result[0].resource_name == "instance1"
assert result[0].location == GCP_EU1_LOCATION
assert result[0].project_id == GCP_PROJECT_ID
def test_cloudsql_instance_remote_access_flag_on(self):
cloudsql_client = mock.MagicMock
@@ -64,6 +64,51 @@ class Test_cloudsql_instance_sqlserver_trace_flag:
result = check.execute()
assert len(result) == 0
def test_cloudsql_instance_no_flags(self):
cloudsql_client = mock.MagicMock
with mock.patch(
"prowler.providers.common.provider.Provider.get_global_provider",
return_value=set_mocked_gcp_provider(),
), mock.patch(
"prowler.providers.gcp.services.cloudsql.cloudsql_instance_sqlserver_trace_flag.cloudsql_instance_sqlserver_trace_flag.cloudsql_client",
new=cloudsql_client,
):
from prowler.providers.gcp.services.cloudsql.cloudsql_instance_sqlserver_trace_flag.cloudsql_instance_sqlserver_trace_flag import (
cloudsql_instance_sqlserver_trace_flag,
)
from prowler.providers.gcp.services.cloudsql.cloudsql_service import (
Instance,
)
cloudsql_client.instances = [
Instance(
name="instance1",
version="SQLSERVER_2019",
ip_addresses=[],
region=GCP_EU1_LOCATION,
public_ip=False,
ssl=False,
automated_backups=True,
authorized_networks=[],
flags=[],
project_id=GCP_PROJECT_ID,
)
]
check = cloudsql_instance_sqlserver_trace_flag()
result = check.execute()
assert len(result) == 1
assert result[0].status == "FAIL"
assert (
result[0].status_extended
== "SQL Server Instance instance1 has '3625 (trace flag)' flag set to 'off'."
)
assert result[0].resource_id == "instance1"
assert result[0].resource_name == "instance1"
assert result[0].location == GCP_EU1_LOCATION
assert result[0].project_id == GCP_PROJECT_ID
def test_cloudsql_instance_trace_flag_off(self):
cloudsql_client = mock.MagicMock
@@ -64,6 +64,51 @@ class Test_cloudsql_instance_sqlserver_user_connections_flag:
result = check.execute()
assert len(result) == 0
def test_cloudsql_sqlserver_instance_no_flags(self):
cloudsql_client = mock.MagicMock
with mock.patch(
"prowler.providers.common.provider.Provider.get_global_provider",
return_value=set_mocked_gcp_provider(),
), mock.patch(
"prowler.providers.gcp.services.cloudsql.cloudsql_instance_sqlserver_user_connections_flag.cloudsql_instance_sqlserver_user_connections_flag.cloudsql_client",
new=cloudsql_client,
):
from prowler.providers.gcp.services.cloudsql.cloudsql_instance_sqlserver_user_connections_flag.cloudsql_instance_sqlserver_user_connections_flag import (
cloudsql_instance_sqlserver_user_connections_flag,
)
from prowler.providers.gcp.services.cloudsql.cloudsql_service import (
Instance,
)
cloudsql_client.instances = [
Instance(
name="instance1",
version="SQLSERVER_2019",
ip_addresses=[],
region=GCP_EU1_LOCATION,
public_ip=False,
ssl=False,
automated_backups=True,
authorized_networks=[],
flags=[],
project_id=GCP_PROJECT_ID,
)
]
check = cloudsql_instance_sqlserver_user_connections_flag()
result = check.execute()
assert len(result) == 1
assert result[0].status == "PASS"
assert (
result[0].status_extended
== "SQL Server Instance instance1 has 'user connections' flag set to '0'."
)
assert result[0].resource_id == "instance1"
assert result[0].resource_name == "instance1"
assert result[0].location == GCP_EU1_LOCATION
assert result[0].project_id == GCP_PROJECT_ID
def test_cloudsql_sqlserver_instance_user_connections_flag_off(self):
cloudsql_client = mock.MagicMock
@@ -181,7 +181,7 @@ class Test_cloudsql_instance_sqlserver_user_options_flag:
ssl=False,
automated_backups=True,
authorized_networks=[],
flags=[{"name": "user options", "value": "some_value"}],
flags=[{"name": "user options", "value": "0"}],
project_id=GCP_PROJECT_ID,
)
]