mirror of
https://github.com/prowler-cloud/prowler.git
synced 2026-11-02 01:15:31 +00:00
chore(cloudsql): Change default cases for CloudSQL checks and remaining tests (#4537)
This commit is contained in:
1 parent
13c50086eb
commit
dc11d85451
27 files changed
+363
-62
No files matched your search
+2
-2
@@ -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"
|
||||
|
||||
+2
-2
@@ -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"
|
||||
|
||||
+2
-2
@@ -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"
|
||||
|
||||
+45
@@ -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
|
||||
|
||||
|
||||
+49
-4
@@ -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"
|
||||
|
||||
+45
@@ -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
|
||||
|
||||
|
||||
+45
@@ -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
|
||||
|
||||
|
||||
+45
@@ -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
|
||||
|
||||
|
||||
+45
@@ -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
|
||||
|
||||
|
||||
+1
-1
@@ -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,
|
||||
)
|
||||
]
|
||||
|
||||
Reference in new issue
Block a user