refactor(azure): Change class names from azure services and fix typing error (#3350)

This commit is contained in:
Pedro Martín
2024-02-05 15:43:04 +01:00
committed by GitHub
parent 8c51094df1
commit 4587a9f651
44 changed files with 581 additions and 584 deletions

View File

@@ -27,7 +27,7 @@ class Defender(AzureService):
for pricing in pricings_list.value: for pricing in pricings_list.value:
pricings[subscription_name].update( pricings[subscription_name].update(
{ {
pricing.name: Defender_Pricing( pricing.name: Pricing(
resource_id=pricing.id, resource_id=pricing.id,
pricing_tier=pricing.pricing_tier, pricing_tier=pricing.pricing_tier,
free_trial_remaining_time=pricing.free_trial_remaining_time, free_trial_remaining_time=pricing.free_trial_remaining_time,
@@ -77,7 +77,7 @@ class Defender(AzureService):
for assessment in assessments_list: for assessment in assessments_list:
assessments[subscription_name].update( assessments[subscription_name].update(
{ {
assessment.display_name: Defender_Assessments( assessment.display_name: Assesment(
resource_id=assessment.id, resource_id=assessment.id,
resource_name=assessment.name, resource_name=assessment.name,
status=assessment.status.code, status=assessment.status.code,
@@ -100,7 +100,7 @@ class Defender(AzureService):
security_contacts.update({subscription_name: {}}) security_contacts.update({subscription_name: {}})
security_contacts[subscription_name].update( security_contacts[subscription_name].update(
{ {
security_contact_default.name: Defender_Security_Contacts( security_contact_default.name: SecurityContacts(
resource_id=security_contact_default.id, resource_id=security_contact_default.id,
emails=security_contact_default.emails, emails=security_contact_default.emails,
phone=security_contact_default.phone, phone=security_contact_default.phone,
@@ -118,7 +118,7 @@ class Defender(AzureService):
return security_contacts return security_contacts
class Defender_Pricing(BaseModel): class Pricing(BaseModel):
resource_id: str resource_id: str
pricing_tier: str pricing_tier: str
free_trial_remaining_time: timedelta free_trial_remaining_time: timedelta
@@ -131,13 +131,13 @@ class AutoProvisioningSetting(BaseModel):
auto_provision: str auto_provision: str
class Defender_Assessments(BaseModel): class Assesment(BaseModel):
resource_id: str resource_id: str
resource_name: str resource_name: str
status: str status: str
class Defender_Security_Contacts(BaseModel): class SecurityContacts(BaseModel):
resource_id: str resource_id: str
emails: str emails: str
phone: str phone: str

View File

@@ -45,7 +45,7 @@ class SQLServer(AzureService):
subscription, resource_group, sql_server.name subscription, resource_group, sql_server.name
) )
sql_servers[subscription].append( sql_servers[subscription].append(
SQL_Server( Server(
id=sql_server.id, id=sql_server.id,
name=sql_server.name, name=sql_server.name,
public_network_access=sql_server.public_network_access, public_network_access=sql_server.public_network_access,
@@ -105,7 +105,7 @@ class SQLServer(AzureService):
subscription, resource_group, server_name, database.name subscription, resource_group, server_name, database.name
) )
databases.append( databases.append(
DatabaseServer( Database(
id=database.id, id=database.id,
name=database.name, name=database.name,
type=database.type, type=database.type,
@@ -133,7 +133,7 @@ class SQLServer(AzureService):
@dataclass @dataclass
class DatabaseServer: class Database:
id: str id: str
name: str name: str
type: str type: str
@@ -143,7 +143,7 @@ class DatabaseServer:
@dataclass @dataclass
class SQL_Server: class Server:
id: str id: str
name: str name: str
public_network_access: str public_network_access: str
@@ -152,5 +152,5 @@ class SQL_Server:
auditing_policies: ServerBlobAuditingPolicy auditing_policies: ServerBlobAuditingPolicy
firewall_rules: FirewallRule firewall_rules: FirewallRule
encryption_protector: EncryptionProtector = None encryption_protector: EncryptionProtector = None
databases: list[DatabaseServer] = None databases: list[Database] = None
vulnerability_assessment: ServerVulnerabilityAssessment = None vulnerability_assessment: ServerVulnerabilityAssessment = None

View File

@@ -38,7 +38,7 @@ class Storage(AzureService):
storage_account.key_policy.key_expiration_period_in_days storage_account.key_policy.key_expiration_period_in_days
) )
storage_accounts[subscription].append( storage_accounts[subscription].append(
Storage_Account( Account(
id=storage_account.id, id=storage_account.id,
name=storage_account.name, name=storage_account.name,
resouce_group_name=resouce_group_name, resouce_group_name=resouce_group_name,
@@ -67,7 +67,7 @@ class Storage(AzureService):
properties = client.blob_services.get_service_properties( properties = client.blob_services.get_service_properties(
account.resouce_group_name, account.name account.resouce_group_name, account.name
) )
account.blob_properties = Blob_Properties( account.blob_properties = BlobProperties(
id=properties.id, id=properties.id,
name=properties.name, name=properties.name,
type=properties.type, type=properties.type,
@@ -81,7 +81,7 @@ class Storage(AzureService):
@dataclass @dataclass
class Blob_Properties: class BlobProperties:
id: str id: str
name: str name: str
type: str type: str
@@ -90,7 +90,7 @@ class Blob_Properties:
@dataclass @dataclass
class Storage_Account: class Account:
id: str id: str
name: str name: str
resouce_group_name: str resouce_group_name: str
@@ -102,4 +102,4 @@ class Storage_Account:
minimum_tls_version: str minimum_tls_version: str
private_endpoint_connections: PrivateEndpointConnection private_endpoint_connections: PrivateEndpointConnection
key_expiration_period_in_days: str key_expiration_period_in_days: str
blob_properties: Blob_Properties = None blob_properties: BlobProperties = None

View File

@@ -8,7 +8,7 @@ from prowler.providers.azure.lib.audit_info.models import (
Azure_Region_Config, Azure_Region_Config,
) )
AZURE_SUSCRIPTION = str(uuid4()) AZURE_SUBSCRIPTION = str(uuid4())
# Azure Identity # Azure Identity
IDENTITY_ID = "00000000-0000-0000-0000-000000000000" IDENTITY_ID = "00000000-0000-0000-0000-000000000000"
@@ -25,7 +25,7 @@ def set_mocked_azure_audit_info(
identity_type=IDENTITY_TYPE, identity_type=IDENTITY_TYPE,
tenant_ids=TENANT_IDS, tenant_ids=TENANT_IDS,
domain=DOMAIN, domain=DOMAIN,
subscriptions={AZURE_SUSCRIPTION: "id_subscription"}, subscriptions={AZURE_SUBSCRIPTION: "id_subscription"},
), ),
audit_config: dict = None, audit_config: dict = None,
azure_region_config: Azure_Region_Config = Azure_Region_Config(), azure_region_config: Azure_Region_Config = Azure_Region_Config(),

View File

@@ -1,10 +1,8 @@
from unittest import mock from unittest import mock
from uuid import uuid4 from uuid import uuid4
from prowler.providers.azure.services.defender.defender_service import ( from prowler.providers.azure.services.defender.defender_service import SecurityContacts
Defender_Security_Contacts, from tests.providers.azure.azure_fixtures import AZURE_SUBSCRIPTION
)
from tests.providers.azure.azure_fixtures import AZURE_SUSCRIPTION
class Test_defender_additional_email_configured_with_a_security_contact: class Test_defender_additional_email_configured_with_a_security_contact:
@@ -28,8 +26,8 @@ class Test_defender_additional_email_configured_with_a_security_contact:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.security_contacts = { defender_client.security_contacts = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"default": Defender_Security_Contacts( "default": SecurityContacts(
resource_id=resource_id, resource_id=resource_id,
emails="", emails="",
phone="", phone="",
@@ -55,9 +53,9 @@ class Test_defender_additional_email_configured_with_a_security_contact:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"There is not another correct email configured for susbscription {AZURE_SUSCRIPTION}." == f"There is not another correct email configured for susbscription {AZURE_SUBSCRIPTION}."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "default" assert result[0].resource_name == "default"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id
@@ -65,8 +63,8 @@ class Test_defender_additional_email_configured_with_a_security_contact:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.security_contacts = { defender_client.security_contacts = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"default": Defender_Security_Contacts( "default": SecurityContacts(
resource_id=resource_id, resource_id=resource_id,
emails="bad_email", emails="bad_email",
phone="", phone="",
@@ -92,9 +90,9 @@ class Test_defender_additional_email_configured_with_a_security_contact:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"There is not another correct email configured for susbscription {AZURE_SUSCRIPTION}." == f"There is not another correct email configured for susbscription {AZURE_SUBSCRIPTION}."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "default" assert result[0].resource_name == "default"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id
@@ -102,8 +100,8 @@ class Test_defender_additional_email_configured_with_a_security_contact:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.security_contacts = { defender_client.security_contacts = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"default": Defender_Security_Contacts( "default": SecurityContacts(
resource_id=resource_id, resource_id=resource_id,
emails="test@test.es, test@test.email.com", emails="test@test.es, test@test.email.com",
phone="", phone="",
@@ -129,9 +127,9 @@ class Test_defender_additional_email_configured_with_a_security_contact:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"There is not another correct email configured for susbscription {AZURE_SUSCRIPTION}." == f"There is not another correct email configured for susbscription {AZURE_SUBSCRIPTION}."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "default" assert result[0].resource_name == "default"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id
@@ -139,8 +137,8 @@ class Test_defender_additional_email_configured_with_a_security_contact:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.security_contacts = { defender_client.security_contacts = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"default": Defender_Security_Contacts( "default": SecurityContacts(
resource_id=resource_id, resource_id=resource_id,
emails="test@test.com", emails="test@test.com",
phone="", phone="",
@@ -166,9 +164,9 @@ class Test_defender_additional_email_configured_with_a_security_contact:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"There is another correct email configured for susbscription {AZURE_SUSCRIPTION}." == f"There is another correct email configured for susbscription {AZURE_SUBSCRIPTION}."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "default" assert result[0].resource_name == "default"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id
@@ -176,8 +174,8 @@ class Test_defender_additional_email_configured_with_a_security_contact:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.security_contacts = { defender_client.security_contacts = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"default": Defender_Security_Contacts( "default": SecurityContacts(
resource_id=resource_id, resource_id=resource_id,
emails="test@test.mail.es; bad_mail", emails="test@test.mail.es; bad_mail",
phone="", phone="",
@@ -203,8 +201,8 @@ class Test_defender_additional_email_configured_with_a_security_contact:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"There is another correct email configured for susbscription {AZURE_SUSCRIPTION}." == f"There is another correct email configured for susbscription {AZURE_SUBSCRIPTION}."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "default" assert result[0].resource_name == "default"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id

View File

@@ -4,7 +4,7 @@ from uuid import uuid4
from prowler.providers.azure.services.defender.defender_service import ( from prowler.providers.azure.services.defender.defender_service import (
AutoProvisioningSetting, AutoProvisioningSetting,
) )
from tests.providers.azure.azure_fixtures import AZURE_SUSCRIPTION from tests.providers.azure.azure_fixtures import AZURE_SUBSCRIPTION
class Test_defender_auto_provisioning_log_analytics_agent_vms_on: class Test_defender_auto_provisioning_log_analytics_agent_vms_on:
@@ -28,7 +28,7 @@ class Test_defender_auto_provisioning_log_analytics_agent_vms_on:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.auto_provisioning_settings = { defender_client.auto_provisioning_settings = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"default": AutoProvisioningSetting( "default": AutoProvisioningSetting(
resource_id=resource_id, resource_id=resource_id,
resource_name="default", resource_name="default",
@@ -52,9 +52,9 @@ class Test_defender_auto_provisioning_log_analytics_agent_vms_on:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Defender Auto Provisioning Log Analytics Agents from subscription {AZURE_SUSCRIPTION} is set to OFF." == f"Defender Auto Provisioning Log Analytics Agents from subscription {AZURE_SUBSCRIPTION} is set to OFF."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "default" assert result[0].resource_name == "default"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id
@@ -62,7 +62,7 @@ class Test_defender_auto_provisioning_log_analytics_agent_vms_on:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.auto_provisioning_settings = { defender_client.auto_provisioning_settings = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"default": AutoProvisioningSetting( "default": AutoProvisioningSetting(
resource_id=resource_id, resource_id=resource_id,
resource_name="default", resource_name="default",
@@ -86,9 +86,9 @@ class Test_defender_auto_provisioning_log_analytics_agent_vms_on:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Defender Auto Provisioning Log Analytics Agents from subscription {AZURE_SUSCRIPTION} is set to ON." == f"Defender Auto Provisioning Log Analytics Agents from subscription {AZURE_SUBSCRIPTION} is set to ON."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "default" assert result[0].resource_name == "default"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id
@@ -96,7 +96,7 @@ class Test_defender_auto_provisioning_log_analytics_agent_vms_on:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.auto_provisioning_settings = { defender_client.auto_provisioning_settings = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"default": AutoProvisioningSetting( "default": AutoProvisioningSetting(
resource_id=resource_id, resource_id=resource_id,
resource_name="default", resource_name="default",
@@ -126,17 +126,17 @@ class Test_defender_auto_provisioning_log_analytics_agent_vms_on:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Defender Auto Provisioning Log Analytics Agents from subscription {AZURE_SUSCRIPTION} is set to ON." == f"Defender Auto Provisioning Log Analytics Agents from subscription {AZURE_SUBSCRIPTION} is set to ON."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "default" assert result[0].resource_name == "default"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id
assert result[1].status == "FAIL" assert result[1].status == "FAIL"
assert ( assert (
result[1].status_extended result[1].status_extended
== f"Defender Auto Provisioning Log Analytics Agents from subscription {AZURE_SUSCRIPTION} is set to OFF." == f"Defender Auto Provisioning Log Analytics Agents from subscription {AZURE_SUBSCRIPTION} is set to OFF."
) )
assert result[1].subscription == AZURE_SUSCRIPTION assert result[1].subscription == AZURE_SUBSCRIPTION
assert result[1].resource_name == "default2" assert result[1].resource_name == "default2"
assert result[1].resource_id == resource_id assert result[1].resource_id == resource_id

View File

@@ -1,10 +1,8 @@
from unittest import mock from unittest import mock
from uuid import uuid4 from uuid import uuid4
from prowler.providers.azure.services.defender.defender_service import ( from prowler.providers.azure.services.defender.defender_service import Assesment
Defender_Assessments, from tests.providers.azure.azure_fixtures import AZURE_SUBSCRIPTION
)
from tests.providers.azure.azure_fixtures import AZURE_SUSCRIPTION
class Test_defender_auto_provisioning_vulnerabilty_assessments_machines_on: class Test_defender_auto_provisioning_vulnerabilty_assessments_machines_on:
@@ -28,8 +26,8 @@ class Test_defender_auto_provisioning_vulnerabilty_assessments_machines_on:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.assessments = { defender_client.assessments = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"Machines should have a vulnerability assessment solution": Defender_Assessments( "Machines should have a vulnerability assessment solution": Assesment(
resource_id=resource_id, resource_id=resource_id,
resource_name="vm1", resource_name="vm1",
status="Unhealthy", status="Unhealthy",
@@ -51,9 +49,9 @@ class Test_defender_auto_provisioning_vulnerabilty_assessments_machines_on:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Vulnerability assessment is not set up in all VMs in subscription {AZURE_SUSCRIPTION}." == f"Vulnerability assessment is not set up in all VMs in subscription {AZURE_SUBSCRIPTION}."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "vm1" assert result[0].resource_name == "vm1"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id
@@ -61,8 +59,8 @@ class Test_defender_auto_provisioning_vulnerabilty_assessments_machines_on:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.assessments = { defender_client.assessments = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"Machines should have a vulnerability assessment solution": Defender_Assessments( "Machines should have a vulnerability assessment solution": Assesment(
resource_id=resource_id, resource_id=resource_id,
resource_name="vm1", resource_name="vm1",
status="Healthy", status="Healthy",
@@ -84,8 +82,8 @@ class Test_defender_auto_provisioning_vulnerabilty_assessments_machines_on:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Vulnerability assessment is set up in all VMs in subscription {AZURE_SUSCRIPTION}." == f"Vulnerability assessment is set up in all VMs in subscription {AZURE_SUBSCRIPTION}."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "vm1" assert result[0].resource_name == "vm1"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id

View File

@@ -1,9 +1,9 @@
from unittest import mock from unittest import mock
from uuid import uuid4 from uuid import uuid4
from prowler.providers.azure.services.defender.defender_service import Defender_Pricing from prowler.providers.azure.services.defender.defender_service import Pricing
AZURE_SUSCRIPTION = str(uuid4()) AZURE_SUBSCRIPTION = str(uuid4())
class Test_defender_ensure_defender_for_app_services_is_on: class Test_defender_ensure_defender_for_app_services_is_on:
@@ -27,8 +27,8 @@ class Test_defender_ensure_defender_for_app_services_is_on:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.pricings = { defender_client.pricings = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"AppServices": Defender_Pricing( "AppServices": Pricing(
resource_id=resource_id, resource_id=resource_id,
pricing_tier="Not Standard", pricing_tier="Not Standard",
free_trial_remaining_time=0, free_trial_remaining_time=0,
@@ -50,9 +50,9 @@ class Test_defender_ensure_defender_for_app_services_is_on:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Defender plan Defender for App Services from subscription {AZURE_SUSCRIPTION} is set to OFF (pricing tier not standard)." == f"Defender plan Defender for App Services from subscription {AZURE_SUBSCRIPTION} is set to OFF (pricing tier not standard)."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "Defender plan App Services" assert result[0].resource_name == "Defender plan App Services"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id
@@ -60,8 +60,8 @@ class Test_defender_ensure_defender_for_app_services_is_on:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.pricings = { defender_client.pricings = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"AppServices": Defender_Pricing( "AppServices": Pricing(
resource_id=resource_id, resource_id=resource_id,
pricing_tier="Standard", pricing_tier="Standard",
free_trial_remaining_time=0, free_trial_remaining_time=0,
@@ -83,8 +83,8 @@ class Test_defender_ensure_defender_for_app_services_is_on:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Defender plan Defender for App Services from subscription {AZURE_SUSCRIPTION} is set to ON (pricing tier standard)." == f"Defender plan Defender for App Services from subscription {AZURE_SUBSCRIPTION} is set to ON (pricing tier standard)."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "Defender plan App Services" assert result[0].resource_name == "Defender plan App Services"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id

View File

@@ -1,9 +1,9 @@
from unittest import mock from unittest import mock
from uuid import uuid4 from uuid import uuid4
from prowler.providers.azure.services.defender.defender_service import Defender_Pricing from prowler.providers.azure.services.defender.defender_service import Pricing
AZURE_SUSCRIPTION = str(uuid4()) AZURE_SUBSCRIPTION = str(uuid4())
class Test_defender_ensure_defender_for_arm_is_on: class Test_defender_ensure_defender_for_arm_is_on:
@@ -27,8 +27,8 @@ class Test_defender_ensure_defender_for_arm_is_on:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.pricings = { defender_client.pricings = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"Arm": Defender_Pricing( "Arm": Pricing(
resource_id=resource_id, resource_id=resource_id,
pricing_tier="Not Standard", pricing_tier="Not Standard",
free_trial_remaining_time=0, free_trial_remaining_time=0,
@@ -50,9 +50,9 @@ class Test_defender_ensure_defender_for_arm_is_on:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Defender plan Defender for ARM from subscription {AZURE_SUSCRIPTION} is set to OFF (pricing tier not standard)." == f"Defender plan Defender for ARM from subscription {AZURE_SUBSCRIPTION} is set to OFF (pricing tier not standard)."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "Defender plan ARM" assert result[0].resource_name == "Defender plan ARM"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id
@@ -60,8 +60,8 @@ class Test_defender_ensure_defender_for_arm_is_on:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.pricings = { defender_client.pricings = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"Arm": Defender_Pricing( "Arm": Pricing(
resource_id=resource_id, resource_id=resource_id,
pricing_tier="Standard", pricing_tier="Standard",
free_trial_remaining_time=0, free_trial_remaining_time=0,
@@ -83,8 +83,8 @@ class Test_defender_ensure_defender_for_arm_is_on:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Defender plan Defender for ARM from subscription {AZURE_SUSCRIPTION} is set to ON (pricing tier standard)." == f"Defender plan Defender for ARM from subscription {AZURE_SUBSCRIPTION} is set to ON (pricing tier standard)."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "Defender plan ARM" assert result[0].resource_name == "Defender plan ARM"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id

View File

@@ -1,9 +1,9 @@
from unittest import mock from unittest import mock
from uuid import uuid4 from uuid import uuid4
from prowler.providers.azure.services.defender.defender_service import Defender_Pricing from prowler.providers.azure.services.defender.defender_service import Pricing
AZURE_SUSCRIPTION = str(uuid4()) AZURE_SUBSCRIPTION = str(uuid4())
class Test_defender_ensure_defender_for_azure_sql_databases_is_on: class Test_defender_ensure_defender_for_azure_sql_databases_is_on:
@@ -27,8 +27,8 @@ class Test_defender_ensure_defender_for_azure_sql_databases_is_on:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.pricings = { defender_client.pricings = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"SqlServers": Defender_Pricing( "SqlServers": Pricing(
resource_id=resource_id, resource_id=resource_id,
pricing_tier="Not Standard", pricing_tier="Not Standard",
free_trial_remaining_time=0, free_trial_remaining_time=0,
@@ -50,9 +50,9 @@ class Test_defender_ensure_defender_for_azure_sql_databases_is_on:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Defender plan Defender for Azure SQL DB Servers from subscription {AZURE_SUSCRIPTION} is set to OFF (pricing tier not standard)." == f"Defender plan Defender for Azure SQL DB Servers from subscription {AZURE_SUBSCRIPTION} is set to OFF (pricing tier not standard)."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "Defender plan Azure SQL DB Servers" assert result[0].resource_name == "Defender plan Azure SQL DB Servers"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id
@@ -60,8 +60,8 @@ class Test_defender_ensure_defender_for_azure_sql_databases_is_on:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.pricings = { defender_client.pricings = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"SqlServers": Defender_Pricing( "SqlServers": Pricing(
resource_id=resource_id, resource_id=resource_id,
pricing_tier="Standard", pricing_tier="Standard",
free_trial_remaining_time=0, free_trial_remaining_time=0,
@@ -83,8 +83,8 @@ class Test_defender_ensure_defender_for_azure_sql_databases_is_on:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Defender plan Defender for Azure SQL DB Servers from subscription {AZURE_SUSCRIPTION} is set to ON (pricing tier standard)." == f"Defender plan Defender for Azure SQL DB Servers from subscription {AZURE_SUBSCRIPTION} is set to ON (pricing tier standard)."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "Defender plan Azure SQL DB Servers" assert result[0].resource_name == "Defender plan Azure SQL DB Servers"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id

View File

@@ -1,9 +1,9 @@
from unittest import mock from unittest import mock
from uuid import uuid4 from uuid import uuid4
from prowler.providers.azure.services.defender.defender_service import Defender_Pricing from prowler.providers.azure.services.defender.defender_service import Pricing
AZURE_SUSCRIPTION = str(uuid4()) AZURE_SUBSCRIPTION = str(uuid4())
class Test_defender_ensure_defender_for_containers_is_on: class Test_defender_ensure_defender_for_containers_is_on:
@@ -27,8 +27,8 @@ class Test_defender_ensure_defender_for_containers_is_on:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.pricings = { defender_client.pricings = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"Containers": Defender_Pricing( "Containers": Pricing(
resource_id=resource_id, resource_id=resource_id,
pricing_tier="Not Standard", pricing_tier="Not Standard",
free_trial_remaining_time=0, free_trial_remaining_time=0,
@@ -50,9 +50,9 @@ class Test_defender_ensure_defender_for_containers_is_on:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Defender plan Defender for Containers from subscription {AZURE_SUSCRIPTION} is set to OFF (pricing tier not standard)." == f"Defender plan Defender for Containers from subscription {AZURE_SUBSCRIPTION} is set to OFF (pricing tier not standard)."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "Defender plan Container Registries" assert result[0].resource_name == "Defender plan Container Registries"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id
@@ -60,8 +60,8 @@ class Test_defender_ensure_defender_for_containers_is_on:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.pricings = { defender_client.pricings = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"Containers": Defender_Pricing( "Containers": Pricing(
resource_id=resource_id, resource_id=resource_id,
pricing_tier="Standard", pricing_tier="Standard",
free_trial_remaining_time=0, free_trial_remaining_time=0,
@@ -83,8 +83,8 @@ class Test_defender_ensure_defender_for_containers_is_on:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Defender plan Defender for Containers from subscription {AZURE_SUSCRIPTION} is set to ON (pricing tier standard)." == f"Defender plan Defender for Containers from subscription {AZURE_SUBSCRIPTION} is set to ON (pricing tier standard)."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "Defender plan Container Registries" assert result[0].resource_name == "Defender plan Container Registries"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id

View File

@@ -1,9 +1,9 @@
from unittest import mock from unittest import mock
from uuid import uuid4 from uuid import uuid4
from prowler.providers.azure.services.defender.defender_service import Defender_Pricing from prowler.providers.azure.services.defender.defender_service import Pricing
AZURE_SUSCRIPTION = str(uuid4()) AZURE_SUBSCRIPTION = str(uuid4())
class Test_defender_ensure_defender_for_cosmosdb_is_on: class Test_defender_ensure_defender_for_cosmosdb_is_on:
@@ -27,8 +27,8 @@ class Test_defender_ensure_defender_for_cosmosdb_is_on:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.pricings = { defender_client.pricings = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"CosmosDbs": Defender_Pricing( "CosmosDbs": Pricing(
resource_id=resource_id, resource_id=resource_id,
pricing_tier="Not Standard", pricing_tier="Not Standard",
free_trial_remaining_time=0, free_trial_remaining_time=0,
@@ -50,9 +50,9 @@ class Test_defender_ensure_defender_for_cosmosdb_is_on:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Defender plan Defender for Cosmos DB from subscription {AZURE_SUSCRIPTION} is set to OFF (pricing tier not standard)." == f"Defender plan Defender for Cosmos DB from subscription {AZURE_SUBSCRIPTION} is set to OFF (pricing tier not standard)."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "Defender plan Cosmos DB" assert result[0].resource_name == "Defender plan Cosmos DB"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id
@@ -60,8 +60,8 @@ class Test_defender_ensure_defender_for_cosmosdb_is_on:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.pricings = { defender_client.pricings = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"CosmosDbs": Defender_Pricing( "CosmosDbs": Pricing(
resource_id=resource_id, resource_id=resource_id,
pricing_tier="Standard", pricing_tier="Standard",
free_trial_remaining_time=0, free_trial_remaining_time=0,
@@ -83,8 +83,8 @@ class Test_defender_ensure_defender_for_cosmosdb_is_on:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Defender plan Defender for Cosmos DB from subscription {AZURE_SUSCRIPTION} is set to ON (pricing tier standard)." == f"Defender plan Defender for Cosmos DB from subscription {AZURE_SUBSCRIPTION} is set to ON (pricing tier standard)."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "Defender plan Cosmos DB" assert result[0].resource_name == "Defender plan Cosmos DB"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id

View File

@@ -1,9 +1,9 @@
from unittest import mock from unittest import mock
from uuid import uuid4 from uuid import uuid4
from prowler.providers.azure.services.defender.defender_service import Defender_Pricing from prowler.providers.azure.services.defender.defender_service import Pricing
AZURE_SUSCRIPTION = str(uuid4()) AZURE_SUBSCRIPTION = str(uuid4())
class Test_defender_ensure_defender_for_databases_is_on: class Test_defender_ensure_defender_for_databases_is_on:
@@ -27,8 +27,8 @@ class Test_defender_ensure_defender_for_databases_is_on:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.pricings = { defender_client.pricings = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"SqlServers": Defender_Pricing( "SqlServers": Pricing(
resource_id=resource_id, resource_id=resource_id,
pricing_tier="Standard", pricing_tier="Standard",
free_trial_remaining_time=0, free_trial_remaining_time=0,
@@ -52,8 +52,8 @@ class Test_defender_ensure_defender_for_databases_is_on:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.pricings = { defender_client.pricings = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"SqlServerVirtualMachines": Defender_Pricing( "SqlServerVirtualMachines": Pricing(
resource_id=resource_id, resource_id=resource_id,
pricing_tier="Standard", pricing_tier="Standard",
free_trial_remaining_time=0, free_trial_remaining_time=0,
@@ -77,8 +77,8 @@ class Test_defender_ensure_defender_for_databases_is_on:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.pricings = { defender_client.pricings = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"OpenSourceRelationalDatabases": Defender_Pricing( "OpenSourceRelationalDatabases": Pricing(
resource_id=resource_id, resource_id=resource_id,
pricing_tier="Standard", pricing_tier="Standard",
free_trial_remaining_time=0, free_trial_remaining_time=0,
@@ -102,8 +102,8 @@ class Test_defender_ensure_defender_for_databases_is_on:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.pricings = { defender_client.pricings = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"CosmosDbs": Defender_Pricing( "CosmosDbs": Pricing(
resource_id=resource_id, resource_id=resource_id,
pricing_tier="Standard", pricing_tier="Standard",
free_trial_remaining_time=0, free_trial_remaining_time=0,
@@ -127,23 +127,23 @@ class Test_defender_ensure_defender_for_databases_is_on:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.pricings = { defender_client.pricings = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"SqlServers": Defender_Pricing( "SqlServers": Pricing(
resource_id=resource_id, resource_id=resource_id,
pricing_tier="Standard", pricing_tier="Standard",
free_trial_remaining_time=0, free_trial_remaining_time=0,
), ),
"SqlServerVirtualMachines": Defender_Pricing( "SqlServerVirtualMachines": Pricing(
resource_id=resource_id, resource_id=resource_id,
pricing_tier="Standard", pricing_tier="Standard",
free_trial_remaining_time=0, free_trial_remaining_time=0,
), ),
"OpenSourceRelationalDatabases": Defender_Pricing( "OpenSourceRelationalDatabases": Pricing(
resource_id=resource_id, resource_id=resource_id,
pricing_tier="Standard", pricing_tier="Standard",
free_trial_remaining_time=0, free_trial_remaining_time=0,
), ),
"CosmosDbs": Defender_Pricing( "CosmosDbs": Pricing(
resource_id=resource_id, resource_id=resource_id,
pricing_tier="Standard", pricing_tier="Standard",
free_trial_remaining_time=0, free_trial_remaining_time=0,
@@ -165,9 +165,9 @@ class Test_defender_ensure_defender_for_databases_is_on:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Defender plan Defender for Databases from subscription {AZURE_SUSCRIPTION} is set to ON (pricing tier standard)." == f"Defender plan Defender for Databases from subscription {AZURE_SUBSCRIPTION} is set to ON (pricing tier standard)."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "Defender plan Databases" assert result[0].resource_name == "Defender plan Databases"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id
@@ -175,23 +175,23 @@ class Test_defender_ensure_defender_for_databases_is_on:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.pricings = { defender_client.pricings = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"SqlServers": Defender_Pricing( "SqlServers": Pricing(
resource_id=resource_id, resource_id=resource_id,
pricing_tier="Standard", pricing_tier="Standard",
free_trial_remaining_time=0, free_trial_remaining_time=0,
), ),
"SqlServerVirtualMachines": Defender_Pricing( "SqlServerVirtualMachines": Pricing(
resource_id=resource_id, resource_id=resource_id,
pricing_tier="Standard", pricing_tier="Standard",
free_trial_remaining_time=0, free_trial_remaining_time=0,
), ),
"OpenSourceRelationalDatabases": Defender_Pricing( "OpenSourceRelationalDatabases": Pricing(
resource_id=resource_id, resource_id=resource_id,
pricing_tier="Standard", pricing_tier="Standard",
free_trial_remaining_time=0, free_trial_remaining_time=0,
), ),
"CosmosDbs": Defender_Pricing( "CosmosDbs": Pricing(
resource_id=resource_id, resource_id=resource_id,
pricing_tier="Not Standard", pricing_tier="Not Standard",
free_trial_remaining_time=0, free_trial_remaining_time=0,
@@ -213,8 +213,8 @@ class Test_defender_ensure_defender_for_databases_is_on:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Defender plan Defender for Databases from subscription {AZURE_SUSCRIPTION} is set to OFF (pricing tier not standard)." == f"Defender plan Defender for Databases from subscription {AZURE_SUBSCRIPTION} is set to OFF (pricing tier not standard)."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "Defender plan Databases" assert result[0].resource_name == "Defender plan Databases"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id

View File

@@ -1,9 +1,9 @@
from unittest import mock from unittest import mock
from uuid import uuid4 from uuid import uuid4
from prowler.providers.azure.services.defender.defender_service import Defender_Pricing from prowler.providers.azure.services.defender.defender_service import Pricing
AZURE_SUSCRIPTION = str(uuid4()) AZURE_SUBSCRIPTION = str(uuid4())
class Test_defender_ensure_defender_for_dns_is_on: class Test_defender_ensure_defender_for_dns_is_on:
@@ -27,8 +27,8 @@ class Test_defender_ensure_defender_for_dns_is_on:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.pricings = { defender_client.pricings = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"Dns": Defender_Pricing( "Dns": Pricing(
resource_id=resource_id, resource_id=resource_id,
pricing_tier="Not Standard", pricing_tier="Not Standard",
free_trial_remaining_time=0, free_trial_remaining_time=0,
@@ -50,9 +50,9 @@ class Test_defender_ensure_defender_for_dns_is_on:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Defender plan Defender for DNS from subscription {AZURE_SUSCRIPTION} is set to OFF (pricing tier not standard)." == f"Defender plan Defender for DNS from subscription {AZURE_SUBSCRIPTION} is set to OFF (pricing tier not standard)."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "Defender plan DNS" assert result[0].resource_name == "Defender plan DNS"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id
@@ -60,8 +60,8 @@ class Test_defender_ensure_defender_for_dns_is_on:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.pricings = { defender_client.pricings = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"Dns": Defender_Pricing( "Dns": Pricing(
resource_id=resource_id, resource_id=resource_id,
pricing_tier="Standard", pricing_tier="Standard",
free_trial_remaining_time=0, free_trial_remaining_time=0,
@@ -83,8 +83,8 @@ class Test_defender_ensure_defender_for_dns_is_on:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Defender plan Defender for DNS from subscription {AZURE_SUSCRIPTION} is set to ON (pricing tier standard)." == f"Defender plan Defender for DNS from subscription {AZURE_SUBSCRIPTION} is set to ON (pricing tier standard)."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "Defender plan DNS" assert result[0].resource_name == "Defender plan DNS"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id

View File

@@ -1,9 +1,9 @@
from unittest import mock from unittest import mock
from uuid import uuid4 from uuid import uuid4
from prowler.providers.azure.services.defender.defender_service import Defender_Pricing from prowler.providers.azure.services.defender.defender_service import Pricing
AZURE_SUSCRIPTION = str(uuid4()) AZURE_SUBSCRIPTION = str(uuid4())
class Test_defender_ensure_defender_for_keyvault_is_on: class Test_defender_ensure_defender_for_keyvault_is_on:
@@ -27,8 +27,8 @@ class Test_defender_ensure_defender_for_keyvault_is_on:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.pricings = { defender_client.pricings = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"KeyVaults": Defender_Pricing( "KeyVaults": Pricing(
resource_id=resource_id, resource_id=resource_id,
pricing_tier="Not Standard", pricing_tier="Not Standard",
free_trial_remaining_time=0, free_trial_remaining_time=0,
@@ -50,9 +50,9 @@ class Test_defender_ensure_defender_for_keyvault_is_on:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Defender plan Defender for KeyVaults from subscription {AZURE_SUSCRIPTION} is set to OFF (pricing tier not standard)." == f"Defender plan Defender for KeyVaults from subscription {AZURE_SUBSCRIPTION} is set to OFF (pricing tier not standard)."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "Defender plan KeyVaults" assert result[0].resource_name == "Defender plan KeyVaults"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id
@@ -60,8 +60,8 @@ class Test_defender_ensure_defender_for_keyvault_is_on:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.pricings = { defender_client.pricings = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"KeyVaults": Defender_Pricing( "KeyVaults": Pricing(
resource_id=resource_id, resource_id=resource_id,
pricing_tier="Standard", pricing_tier="Standard",
free_trial_remaining_time=0, free_trial_remaining_time=0,
@@ -83,8 +83,8 @@ class Test_defender_ensure_defender_for_keyvault_is_on:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Defender plan Defender for KeyVaults from subscription {AZURE_SUSCRIPTION} is set to ON (pricing tier standard)." == f"Defender plan Defender for KeyVaults from subscription {AZURE_SUBSCRIPTION} is set to ON (pricing tier standard)."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "Defender plan KeyVaults" assert result[0].resource_name == "Defender plan KeyVaults"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id

View File

@@ -1,9 +1,9 @@
from unittest import mock from unittest import mock
from uuid import uuid4 from uuid import uuid4
from prowler.providers.azure.services.defender.defender_service import Defender_Pricing from prowler.providers.azure.services.defender.defender_service import Pricing
AZURE_SUSCRIPTION = str(uuid4()) AZURE_SUBSCRIPTION = str(uuid4())
class Test_defender_ensure_defender_for_os_relational_databases_is_on: class Test_defender_ensure_defender_for_os_relational_databases_is_on:
@@ -27,8 +27,8 @@ class Test_defender_ensure_defender_for_os_relational_databases_is_on:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.pricings = { defender_client.pricings = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"OpenSourceRelationalDatabases": Defender_Pricing( "OpenSourceRelationalDatabases": Pricing(
resource_id=resource_id, resource_id=resource_id,
pricing_tier="Not Standard", pricing_tier="Not Standard",
free_trial_remaining_time=0, free_trial_remaining_time=0,
@@ -50,9 +50,9 @@ class Test_defender_ensure_defender_for_os_relational_databases_is_on:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Defender plan Defender for Open-Source Relational Databases from subscription {AZURE_SUSCRIPTION} is set to OFF (pricing tier not standard)." == f"Defender plan Defender for Open-Source Relational Databases from subscription {AZURE_SUBSCRIPTION} is set to OFF (pricing tier not standard)."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert ( assert (
result[0].resource_name result[0].resource_name
== "Defender plan Open-Source Relational Databases" == "Defender plan Open-Source Relational Databases"
@@ -63,8 +63,8 @@ class Test_defender_ensure_defender_for_os_relational_databases_is_on:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.pricings = { defender_client.pricings = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"OpenSourceRelationalDatabases": Defender_Pricing( "OpenSourceRelationalDatabases": Pricing(
resource_id=resource_id, resource_id=resource_id,
pricing_tier="Standard", pricing_tier="Standard",
free_trial_remaining_time=0, free_trial_remaining_time=0,
@@ -86,9 +86,9 @@ class Test_defender_ensure_defender_for_os_relational_databases_is_on:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Defender plan Defender for Open-Source Relational Databases from subscription {AZURE_SUSCRIPTION} is set to ON (pricing tier standard)." == f"Defender plan Defender for Open-Source Relational Databases from subscription {AZURE_SUBSCRIPTION} is set to ON (pricing tier standard)."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert ( assert (
result[0].resource_name result[0].resource_name
== "Defender plan Open-Source Relational Databases" == "Defender plan Open-Source Relational Databases"

View File

@@ -1,9 +1,9 @@
from unittest import mock from unittest import mock
from uuid import uuid4 from uuid import uuid4
from prowler.providers.azure.services.defender.defender_service import Defender_Pricing from prowler.providers.azure.services.defender.defender_service import Pricing
AZURE_SUSCRIPTION = str(uuid4()) AZURE_SUBSCRIPTION = str(uuid4())
class Test_defender_ensure_defender_for_server_is_on: class Test_defender_ensure_defender_for_server_is_on:
@@ -27,8 +27,8 @@ class Test_defender_ensure_defender_for_server_is_on:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.pricings = { defender_client.pricings = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"VirtualMachines": Defender_Pricing( "VirtualMachines": Pricing(
resource_id=resource_id, resource_id=resource_id,
pricing_tier="Not Standard", pricing_tier="Not Standard",
free_trial_remaining_time=0, free_trial_remaining_time=0,
@@ -50,9 +50,9 @@ class Test_defender_ensure_defender_for_server_is_on:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Defender plan Defender for Servers from subscription {AZURE_SUSCRIPTION} is set to OFF (pricing tier not standard)." == f"Defender plan Defender for Servers from subscription {AZURE_SUBSCRIPTION} is set to OFF (pricing tier not standard)."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "Defender plan Servers" assert result[0].resource_name == "Defender plan Servers"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id
@@ -60,8 +60,8 @@ class Test_defender_ensure_defender_for_server_is_on:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.pricings = { defender_client.pricings = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"VirtualMachines": Defender_Pricing( "VirtualMachines": Pricing(
resource_id=resource_id, resource_id=resource_id,
pricing_tier="Standard", pricing_tier="Standard",
free_trial_remaining_time=0, free_trial_remaining_time=0,
@@ -83,8 +83,8 @@ class Test_defender_ensure_defender_for_server_is_on:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Defender plan Defender for Servers from subscription {AZURE_SUSCRIPTION} is set to ON (pricing tier standard)." == f"Defender plan Defender for Servers from subscription {AZURE_SUBSCRIPTION} is set to ON (pricing tier standard)."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "Defender plan Servers" assert result[0].resource_name == "Defender plan Servers"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id

View File

@@ -1,9 +1,9 @@
from unittest import mock from unittest import mock
from uuid import uuid4 from uuid import uuid4
from prowler.providers.azure.services.defender.defender_service import Defender_Pricing from prowler.providers.azure.services.defender.defender_service import Pricing
AZURE_SUSCRIPTION = str(uuid4()) AZURE_SUBSCRIPTION = str(uuid4())
class Test_defender_ensure_defender_for_sql_servers_is_on: class Test_defender_ensure_defender_for_sql_servers_is_on:
@@ -27,8 +27,8 @@ class Test_defender_ensure_defender_for_sql_servers_is_on:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.pricings = { defender_client.pricings = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"SqlServerVirtualMachines": Defender_Pricing( "SqlServerVirtualMachines": Pricing(
resource_id=resource_id, resource_id=resource_id,
pricing_tier="Not Standard", pricing_tier="Not Standard",
free_trial_remaining_time=0, free_trial_remaining_time=0,
@@ -50,9 +50,9 @@ class Test_defender_ensure_defender_for_sql_servers_is_on:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Defender plan Defender for SQL Server VMs from subscription {AZURE_SUSCRIPTION} is set to OFF (pricing tier not standard)." == f"Defender plan Defender for SQL Server VMs from subscription {AZURE_SUBSCRIPTION} is set to OFF (pricing tier not standard)."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "Defender plan SQL Server VMs" assert result[0].resource_name == "Defender plan SQL Server VMs"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id
@@ -60,8 +60,8 @@ class Test_defender_ensure_defender_for_sql_servers_is_on:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.pricings = { defender_client.pricings = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"SqlServerVirtualMachines": Defender_Pricing( "SqlServerVirtualMachines": Pricing(
resource_id=resource_id, resource_id=resource_id,
pricing_tier="Standard", pricing_tier="Standard",
free_trial_remaining_time=0, free_trial_remaining_time=0,
@@ -83,8 +83,8 @@ class Test_defender_ensure_defender_for_sql_servers_is_on:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Defender plan Defender for SQL Server VMs from subscription {AZURE_SUSCRIPTION} is set to ON (pricing tier standard)." == f"Defender plan Defender for SQL Server VMs from subscription {AZURE_SUBSCRIPTION} is set to ON (pricing tier standard)."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "Defender plan SQL Server VMs" assert result[0].resource_name == "Defender plan SQL Server VMs"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id

View File

@@ -1,9 +1,9 @@
from unittest import mock from unittest import mock
from uuid import uuid4 from uuid import uuid4
from prowler.providers.azure.services.defender.defender_service import Defender_Pricing from prowler.providers.azure.services.defender.defender_service import Pricing
AZURE_SUSCRIPTION = str(uuid4()) AZURE_SUBSCRIPTION = str(uuid4())
class Test_defender_ensure_defender_for_storage_is_on: class Test_defender_ensure_defender_for_storage_is_on:
@@ -27,8 +27,8 @@ class Test_defender_ensure_defender_for_storage_is_on:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.pricings = { defender_client.pricings = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"StorageAccounts": Defender_Pricing( "StorageAccounts": Pricing(
resource_id=resource_id, resource_id=resource_id,
pricing_tier="Not Standard", pricing_tier="Not Standard",
free_trial_remaining_time=0, free_trial_remaining_time=0,
@@ -50,9 +50,9 @@ class Test_defender_ensure_defender_for_storage_is_on:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Defender plan Defender for Storage Accounts from subscription {AZURE_SUSCRIPTION} is set to OFF (pricing tier not standard)." == f"Defender plan Defender for Storage Accounts from subscription {AZURE_SUBSCRIPTION} is set to OFF (pricing tier not standard)."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "Defender plan Storage Accounts" assert result[0].resource_name == "Defender plan Storage Accounts"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id
@@ -60,8 +60,8 @@ class Test_defender_ensure_defender_for_storage_is_on:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.pricings = { defender_client.pricings = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"StorageAccounts": Defender_Pricing( "StorageAccounts": Pricing(
resource_id=resource_id, resource_id=resource_id,
pricing_tier="Standard", pricing_tier="Standard",
free_trial_remaining_time=0, free_trial_remaining_time=0,
@@ -83,8 +83,8 @@ class Test_defender_ensure_defender_for_storage_is_on:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Defender plan Defender for Storage Accounts from subscription {AZURE_SUSCRIPTION} is set to ON (pricing tier standard)." == f"Defender plan Defender for Storage Accounts from subscription {AZURE_SUBSCRIPTION} is set to ON (pricing tier standard)."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "Defender plan Storage Accounts" assert result[0].resource_name == "Defender plan Storage Accounts"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id

View File

@@ -1,10 +1,8 @@
from unittest import mock from unittest import mock
from uuid import uuid4 from uuid import uuid4
from prowler.providers.azure.services.defender.defender_service import ( from prowler.providers.azure.services.defender.defender_service import SecurityContacts
Defender_Security_Contacts, from tests.providers.azure.azure_fixtures import AZURE_SUBSCRIPTION
)
from tests.providers.azure.azure_fixtures import AZURE_SUSCRIPTION
class Test_defender_ensure_notify_alerts_severity_is_high: class Test_defender_ensure_notify_alerts_severity_is_high:
@@ -28,8 +26,8 @@ class Test_defender_ensure_notify_alerts_severity_is_high:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.security_contacts = { defender_client.security_contacts = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"default": Defender_Security_Contacts( "default": SecurityContacts(
resource_id=resource_id, resource_id=resource_id,
emails="", emails="",
phone="", phone="",
@@ -55,9 +53,9 @@ class Test_defender_ensure_notify_alerts_severity_is_high:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Notifiy alerts are not enabled for severity high in susbscription {AZURE_SUSCRIPTION}." == f"Notifiy alerts are not enabled for severity high in susbscription {AZURE_SUBSCRIPTION}."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "default" assert result[0].resource_name == "default"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id
@@ -65,8 +63,8 @@ class Test_defender_ensure_notify_alerts_severity_is_high:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.security_contacts = { defender_client.security_contacts = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"default": Defender_Security_Contacts( "default": SecurityContacts(
resource_id=resource_id, resource_id=resource_id,
emails="", emails="",
phone="", phone="",
@@ -92,8 +90,8 @@ class Test_defender_ensure_notify_alerts_severity_is_high:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Notifiy alerts are enabled for severity high in susbscription {AZURE_SUSCRIPTION}." == f"Notifiy alerts are enabled for severity high in susbscription {AZURE_SUBSCRIPTION}."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "default" assert result[0].resource_name == "default"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id

View File

@@ -1,10 +1,8 @@
from unittest import mock from unittest import mock
from uuid import uuid4 from uuid import uuid4
from prowler.providers.azure.services.defender.defender_service import ( from prowler.providers.azure.services.defender.defender_service import SecurityContacts
Defender_Security_Contacts, from tests.providers.azure.azure_fixtures import AZURE_SUBSCRIPTION
)
from tests.providers.azure.azure_fixtures import AZURE_SUSCRIPTION
class Test_defender_ensure_notify_emails_to_owners: class Test_defender_ensure_notify_emails_to_owners:
@@ -28,8 +26,8 @@ class Test_defender_ensure_notify_emails_to_owners:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.security_contacts = { defender_client.security_contacts = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"default": Defender_Security_Contacts( "default": SecurityContacts(
resource_id=resource_id, resource_id=resource_id,
emails="", emails="",
phone="", phone="",
@@ -55,9 +53,9 @@ class Test_defender_ensure_notify_emails_to_owners:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"The Owner role is not notified for subscription {AZURE_SUSCRIPTION}." == f"The Owner role is not notified for subscription {AZURE_SUBSCRIPTION}."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "default" assert result[0].resource_name == "default"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id
@@ -65,8 +63,8 @@ class Test_defender_ensure_notify_emails_to_owners:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.security_contacts = { defender_client.security_contacts = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"default": Defender_Security_Contacts( "default": SecurityContacts(
resource_id=resource_id, resource_id=resource_id,
emails="", emails="",
phone="", phone="",
@@ -92,9 +90,9 @@ class Test_defender_ensure_notify_emails_to_owners:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"The Owner role is not notified for subscription {AZURE_SUSCRIPTION}." == f"The Owner role is not notified for subscription {AZURE_SUBSCRIPTION}."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "default" assert result[0].resource_name == "default"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id
@@ -102,8 +100,8 @@ class Test_defender_ensure_notify_emails_to_owners:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.security_contacts = { defender_client.security_contacts = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"default": Defender_Security_Contacts( "default": SecurityContacts(
resource_id=resource_id, resource_id=resource_id,
emails="test@test.es", emails="test@test.es",
phone="", phone="",
@@ -129,8 +127,8 @@ class Test_defender_ensure_notify_emails_to_owners:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"The Owner role is notified for subscription {AZURE_SUSCRIPTION}." == f"The Owner role is notified for subscription {AZURE_SUBSCRIPTION}."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "default" assert result[0].resource_name == "default"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id

View File

@@ -1,10 +1,8 @@
from unittest import mock from unittest import mock
from uuid import uuid4 from uuid import uuid4
from prowler.providers.azure.services.defender.defender_service import ( from prowler.providers.azure.services.defender.defender_service import Assesment
Defender_Assessments, from tests.providers.azure.azure_fixtures import AZURE_SUBSCRIPTION
)
from tests.providers.azure.azure_fixtures import AZURE_SUSCRIPTION
class Test_defender_ensure_system_updates_are_applied: class Test_defender_ensure_system_updates_are_applied:
@@ -28,18 +26,18 @@ class Test_defender_ensure_system_updates_are_applied:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.assessments = { defender_client.assessments = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"Log Analytics agent should be installed on virtual machines": Defender_Assessments( "Log Analytics agent should be installed on virtual machines": Assesment(
resource_id=resource_id, resource_id=resource_id,
resource_name="vm1", resource_name="vm1",
status="Unhealthy", status="Unhealthy",
), ),
"Machines should be configured to periodically check for missing system updates": Defender_Assessments( "Machines should be configured to periodically check for missing system updates": Assesment(
resource_id=resource_id, resource_id=resource_id,
resource_name="vm1", resource_name="vm1",
status="Healthy", status="Healthy",
), ),
"System updates should be installed on your machines": Defender_Assessments( "System updates should be installed on your machines": Assesment(
resource_id=resource_id, resource_id=resource_id,
resource_name="vm1", resource_name="vm1",
status="Healthy", status="Healthy",
@@ -61,9 +59,9 @@ class Test_defender_ensure_system_updates_are_applied:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"System updates are not applied for all the VMs in the subscription {AZURE_SUSCRIPTION}." == f"System updates are not applied for all the VMs in the subscription {AZURE_SUBSCRIPTION}."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "vm1" assert result[0].resource_name == "vm1"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id
@@ -73,18 +71,18 @@ class Test_defender_ensure_system_updates_are_applied:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.assessments = { defender_client.assessments = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"Log Analytics agent should be installed on virtual machines": Defender_Assessments( "Log Analytics agent should be installed on virtual machines": Assesment(
resource_id=resource_id, resource_id=resource_id,
resource_name="vm1", resource_name="vm1",
status="Healthy", status="Healthy",
), ),
"Machines should be configured to periodically check for missing system updates": Defender_Assessments( "Machines should be configured to periodically check for missing system updates": Assesment(
resource_id=resource_id, resource_id=resource_id,
resource_name="vm1", resource_name="vm1",
status="Unhealthy", status="Unhealthy",
), ),
"System updates should be installed on your machines": Defender_Assessments( "System updates should be installed on your machines": Assesment(
resource_id=resource_id, resource_id=resource_id,
resource_name="vm1", resource_name="vm1",
status="Healthy", status="Healthy",
@@ -106,9 +104,9 @@ class Test_defender_ensure_system_updates_are_applied:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"System updates are not applied for all the VMs in the subscription {AZURE_SUSCRIPTION}." == f"System updates are not applied for all the VMs in the subscription {AZURE_SUBSCRIPTION}."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "vm1" assert result[0].resource_name == "vm1"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id
@@ -116,18 +114,18 @@ class Test_defender_ensure_system_updates_are_applied:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.assessments = { defender_client.assessments = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"Log Analytics agent should be installed on virtual machines": Defender_Assessments( "Log Analytics agent should be installed on virtual machines": Assesment(
resource_id=resource_id, resource_id=resource_id,
resource_name="vm1", resource_name="vm1",
status="Healthy", status="Healthy",
), ),
"Machines should be configured to periodically check for missing system updates": Defender_Assessments( "Machines should be configured to periodically check for missing system updates": Assesment(
resource_id=resource_id, resource_id=resource_id,
resource_name="vm1", resource_name="vm1",
status="Healthy", status="Healthy",
), ),
"System updates should be installed on your machines": Defender_Assessments( "System updates should be installed on your machines": Assesment(
resource_id=resource_id, resource_id=resource_id,
resource_name="vm1", resource_name="vm1",
status="Unhealthy", status="Unhealthy",
@@ -149,9 +147,9 @@ class Test_defender_ensure_system_updates_are_applied:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"System updates are not applied for all the VMs in the subscription {AZURE_SUSCRIPTION}." == f"System updates are not applied for all the VMs in the subscription {AZURE_SUBSCRIPTION}."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "vm1" assert result[0].resource_name == "vm1"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id
@@ -161,18 +159,18 @@ class Test_defender_ensure_system_updates_are_applied:
resource_id = str(uuid4()) resource_id = str(uuid4())
defender_client = mock.MagicMock defender_client = mock.MagicMock
defender_client.assessments = { defender_client.assessments = {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"Log Analytics agent should be installed on virtual machines": Defender_Assessments( "Log Analytics agent should be installed on virtual machines": Assesment(
resource_id=resource_id, resource_id=resource_id,
resource_name="vm1", resource_name="vm1",
status="Healthy", status="Healthy",
), ),
"Machines should be configured to periodically check for missing system updates": Defender_Assessments( "Machines should be configured to periodically check for missing system updates": Assesment(
resource_id=resource_id, resource_id=resource_id,
resource_name="vm1", resource_name="vm1",
status="Healthy", status="Healthy",
), ),
"System updates should be installed on your machines": Defender_Assessments( "System updates should be installed on your machines": Assesment(
resource_id=resource_id, resource_id=resource_id,
resource_name="vm1", resource_name="vm1",
status="Healthy", status="Healthy",
@@ -194,8 +192,8 @@ class Test_defender_ensure_system_updates_are_applied:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"System updates are applied for all the VMs in the subscription {AZURE_SUSCRIPTION}." == f"System updates are applied for all the VMs in the subscription {AZURE_SUBSCRIPTION}."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == "vm1" assert result[0].resource_name == "vm1"
assert result[0].resource_id == resource_id assert result[0].resource_id == resource_id

View File

@@ -2,22 +2,22 @@ from datetime import timedelta
from unittest.mock import patch from unittest.mock import patch
from prowler.providers.azure.services.defender.defender_service import ( from prowler.providers.azure.services.defender.defender_service import (
Assesment,
AutoProvisioningSetting, AutoProvisioningSetting,
Defender, Defender,
Defender_Assessments, Pricing,
Defender_Pricing, SecurityContacts,
Defender_Security_Contacts,
) )
from tests.providers.azure.azure_fixtures import ( from tests.providers.azure.azure_fixtures import (
AZURE_SUSCRIPTION, AZURE_SUBSCRIPTION,
set_mocked_azure_audit_info, set_mocked_azure_audit_info,
) )
def mock_defender_get_pricings(_): def mock_defender_get_pricings(_):
return { return {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"Standard": Defender_Pricing( "Standard": Pricing(
resource_id="resource_id", resource_id="resource_id",
pricing_tier="pricing_tier", pricing_tier="pricing_tier",
free_trial_remaining_time=timedelta(days=1), free_trial_remaining_time=timedelta(days=1),
@@ -28,7 +28,7 @@ def mock_defender_get_pricings(_):
def mock_defender_get_auto_provisioning_settings(_): def mock_defender_get_auto_provisioning_settings(_):
return { return {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"default": AutoProvisioningSetting( "default": AutoProvisioningSetting(
resource_id="/subscriptions/resource_id", resource_id="/subscriptions/resource_id",
resource_name="default", resource_name="default",
@@ -41,8 +41,8 @@ def mock_defender_get_auto_provisioning_settings(_):
def mock_defender_get_assessments(_): def mock_defender_get_assessments(_):
return { return {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"default": Defender_Assessments( "default": Assesment(
resource_id="/subscriptions/resource_id", resource_id="/subscriptions/resource_id",
resource_name="default", resource_name="default",
status="Healthy", status="Healthy",
@@ -53,8 +53,8 @@ def mock_defender_get_assessments(_):
def mock_defender_get_security_contacts(_): def mock_defender_get_security_contacts(_):
return { return {
AZURE_SUSCRIPTION: { AZURE_SUBSCRIPTION: {
"default": Defender_Security_Contacts( "default": SecurityContacts(
resource_id="/subscriptions/resource_id", resource_id="/subscriptions/resource_id",
emails="user@user.com, test@test.es", emails="user@user.com, test@test.es",
phone="666666666", phone="666666666",
@@ -87,7 +87,7 @@ class Test_Defender_Service:
def test__get_client__(self): def test__get_client__(self):
defender = Defender(set_mocked_azure_audit_info()) defender = Defender(set_mocked_azure_audit_info())
assert ( assert (
defender.clients[AZURE_SUSCRIPTION].__class__.__name__ == "SecurityCenter" defender.clients[AZURE_SUBSCRIPTION].__class__.__name__ == "SecurityCenter"
) )
def test__get_subscriptions__(self): def test__get_subscriptions__(self):
@@ -99,14 +99,14 @@ class Test_Defender_Service:
defender = Defender(set_mocked_azure_audit_info()) defender = Defender(set_mocked_azure_audit_info())
assert len(defender.pricings) == 1 assert len(defender.pricings) == 1
assert ( assert (
defender.pricings[AZURE_SUSCRIPTION]["Standard"].resource_id defender.pricings[AZURE_SUBSCRIPTION]["Standard"].resource_id
== "resource_id" == "resource_id"
) )
assert ( assert (
defender.pricings[AZURE_SUSCRIPTION]["Standard"].pricing_tier defender.pricings[AZURE_SUBSCRIPTION]["Standard"].pricing_tier
== "pricing_tier" == "pricing_tier"
) )
assert defender.pricings[AZURE_SUSCRIPTION][ assert defender.pricings[AZURE_SUBSCRIPTION][
"Standard" "Standard"
].free_trial_remaining_time == timedelta(days=1) ].free_trial_remaining_time == timedelta(days=1)
@@ -114,25 +114,25 @@ class Test_Defender_Service:
defender = Defender(set_mocked_azure_audit_info()) defender = Defender(set_mocked_azure_audit_info())
assert len(defender.auto_provisioning_settings) == 1 assert len(defender.auto_provisioning_settings) == 1
assert ( assert (
defender.auto_provisioning_settings[AZURE_SUSCRIPTION][ defender.auto_provisioning_settings[AZURE_SUBSCRIPTION][
"default" "default"
].resource_id ].resource_id
== "/subscriptions/resource_id" == "/subscriptions/resource_id"
) )
assert ( assert (
defender.auto_provisioning_settings[AZURE_SUSCRIPTION][ defender.auto_provisioning_settings[AZURE_SUBSCRIPTION][
"default" "default"
].resource_name ].resource_name
== "default" == "default"
) )
assert ( assert (
defender.auto_provisioning_settings[AZURE_SUSCRIPTION][ defender.auto_provisioning_settings[AZURE_SUBSCRIPTION][
"default" "default"
].resource_type ].resource_type
== "Microsoft.Security/autoProvisioningSettings" == "Microsoft.Security/autoProvisioningSettings"
) )
assert ( assert (
defender.auto_provisioning_settings[AZURE_SUSCRIPTION][ defender.auto_provisioning_settings[AZURE_SUBSCRIPTION][
"default" "default"
].auto_provision ].auto_provision
== "On" == "On"
@@ -142,47 +142,47 @@ class Test_Defender_Service:
defender = Defender(set_mocked_azure_audit_info()) defender = Defender(set_mocked_azure_audit_info())
assert len(defender.assessments) == 1 assert len(defender.assessments) == 1
assert ( assert (
defender.assessments[AZURE_SUSCRIPTION]["default"].resource_id defender.assessments[AZURE_SUBSCRIPTION]["default"].resource_id
== "/subscriptions/resource_id" == "/subscriptions/resource_id"
) )
assert ( assert (
defender.assessments[AZURE_SUSCRIPTION]["default"].resource_name defender.assessments[AZURE_SUBSCRIPTION]["default"].resource_name
== "default" == "default"
) )
assert defender.assessments[AZURE_SUSCRIPTION]["default"].status == "Healthy" assert defender.assessments[AZURE_SUBSCRIPTION]["default"].status == "Healthy"
def test__get_security_contacts__(self): def test__get_security_contacts__(self):
defender = Defender(set_mocked_azure_audit_info()) defender = Defender(set_mocked_azure_audit_info())
assert len(defender.security_contacts) == 1 assert len(defender.security_contacts) == 1
assert ( assert (
defender.security_contacts[AZURE_SUSCRIPTION]["default"].resource_id defender.security_contacts[AZURE_SUBSCRIPTION]["default"].resource_id
== "/subscriptions/resource_id" == "/subscriptions/resource_id"
) )
assert ( assert (
defender.security_contacts[AZURE_SUSCRIPTION]["default"].emails defender.security_contacts[AZURE_SUBSCRIPTION]["default"].emails
== "user@user.com, test@test.es" == "user@user.com, test@test.es"
) )
assert ( assert (
defender.security_contacts[AZURE_SUSCRIPTION]["default"].phone defender.security_contacts[AZURE_SUBSCRIPTION]["default"].phone
== "666666666" == "666666666"
) )
assert ( assert (
defender.security_contacts[AZURE_SUSCRIPTION][ defender.security_contacts[AZURE_SUBSCRIPTION][
"default" "default"
].alert_notifications_minimal_severity ].alert_notifications_minimal_severity
== "High" == "High"
) )
assert ( assert (
defender.security_contacts[AZURE_SUSCRIPTION][ defender.security_contacts[AZURE_SUBSCRIPTION][
"default" "default"
].alert_notifications_state ].alert_notifications_state
== "On" == "On"
) )
assert defender.security_contacts[AZURE_SUSCRIPTION][ assert defender.security_contacts[AZURE_SUBSCRIPTION][
"default" "default"
].notified_roles == ["Owner", "Contributor"] ].notified_roles == ["Owner", "Contributor"]
assert ( assert (
defender.security_contacts[AZURE_SUSCRIPTION][ defender.security_contacts[AZURE_SUBSCRIPTION][
"default" "default"
].notified_roles_state ].notified_roles_state
== "On" == "On"

View File

@@ -4,7 +4,7 @@ from uuid import uuid4
from azure.mgmt.authorization.v2022_04_01.models import Permission from azure.mgmt.authorization.v2022_04_01.models import Permission
from prowler.providers.azure.services.iam.iam_service import Role from prowler.providers.azure.services.iam.iam_service import Role
from tests.providers.azure.azure_fixtures import AZURE_SUSCRIPTION from tests.providers.azure.azure_fixtures import AZURE_SUBSCRIPTION
class Test_iam_custom_role_has_permissions_to_administer_resource_locks: class Test_iam_custom_role_has_permissions_to_administer_resource_locks:
@@ -30,7 +30,7 @@ class Test_iam_custom_role_has_permissions_to_administer_resource_locks:
defender_client = mock.MagicMock defender_client = mock.MagicMock
role_name = "test-role" role_name = "test-role"
defender_client.custom_roles = { defender_client.custom_roles = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
Role( Role(
id=str(uuid4()), id=str(uuid4()),
name=role_name, name=role_name,
@@ -62,12 +62,12 @@ class Test_iam_custom_role_has_permissions_to_administer_resource_locks:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Role {role_name} from subscription {AZURE_SUSCRIPTION} has permission to administer resource locks." == f"Role {role_name} from subscription {AZURE_SUBSCRIPTION} has permission to administer resource locks."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert ( assert (
result[0].resource_id result[0].resource_id
== defender_client.custom_roles[AZURE_SUSCRIPTION][0].id == defender_client.custom_roles[AZURE_SUBSCRIPTION][0].id
) )
assert result[0].resource_name == role_name assert result[0].resource_name == role_name
@@ -77,7 +77,7 @@ class Test_iam_custom_role_has_permissions_to_administer_resource_locks:
defender_client = mock.MagicMock defender_client = mock.MagicMock
role_name = "test-role" role_name = "test-role"
defender_client.custom_roles = { defender_client.custom_roles = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
Role( Role(
id=str(uuid4()), id=str(uuid4()),
name=role_name, name=role_name,
@@ -102,11 +102,11 @@ class Test_iam_custom_role_has_permissions_to_administer_resource_locks:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Role {role_name} from subscription {AZURE_SUSCRIPTION} has no permission to administer resource locks." == f"Role {role_name} from subscription {AZURE_SUBSCRIPTION} has no permission to administer resource locks."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert ( assert (
result[0].resource_id result[0].resource_id
== defender_client.custom_roles[AZURE_SUSCRIPTION][0].id == defender_client.custom_roles[AZURE_SUBSCRIPTION][0].id
) )
assert result[0].resource_name == role_name assert result[0].resource_name == role_name

View File

@@ -4,7 +4,7 @@ from uuid import uuid4
from azure.mgmt.authorization.v2022_04_01.models import Permission from azure.mgmt.authorization.v2022_04_01.models import Permission
from prowler.providers.azure.services.iam.iam_service import Role from prowler.providers.azure.services.iam.iam_service import Role
from tests.providers.azure.azure_fixtures import AZURE_SUSCRIPTION from tests.providers.azure.azure_fixtures import AZURE_SUBSCRIPTION
class Test_iam_subscription_roles_owner_custom_not_created: class Test_iam_subscription_roles_owner_custom_not_created:
@@ -28,7 +28,7 @@ class Test_iam_subscription_roles_owner_custom_not_created:
defender_client = mock.MagicMock defender_client = mock.MagicMock
role_name = "test-role" role_name = "test-role"
defender_client.custom_roles = { defender_client.custom_roles = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
Role( Role(
id=str(uuid4()), id=str(uuid4()),
name=role_name, name=role_name,
@@ -53,12 +53,12 @@ class Test_iam_subscription_roles_owner_custom_not_created:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Role {role_name} from subscription {AZURE_SUSCRIPTION} is a custom owner role." == f"Role {role_name} from subscription {AZURE_SUBSCRIPTION} is a custom owner role."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert ( assert (
result[0].resource_id result[0].resource_id
== defender_client.custom_roles[AZURE_SUSCRIPTION][0].id == defender_client.custom_roles[AZURE_SUBSCRIPTION][0].id
) )
assert result[0].resource_name == role_name assert result[0].resource_name == role_name
@@ -66,7 +66,7 @@ class Test_iam_subscription_roles_owner_custom_not_created:
defender_client = mock.MagicMock defender_client = mock.MagicMock
role_name = "test-role" role_name = "test-role"
defender_client.custom_roles = { defender_client.custom_roles = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
Role( Role(
id=str(uuid4()), id=str(uuid4()),
name=role_name, name=role_name,
@@ -91,11 +91,11 @@ class Test_iam_subscription_roles_owner_custom_not_created:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Role {role_name} from subscription {AZURE_SUSCRIPTION} is not a custom owner role." == f"Role {role_name} from subscription {AZURE_SUBSCRIPTION} is not a custom owner role."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert ( assert (
result[0].resource_id result[0].resource_id
== defender_client.custom_roles[AZURE_SUSCRIPTION][0].id == defender_client.custom_roles[AZURE_SUBSCRIPTION][0].id
) )
assert result[0].resource_name == role_name assert result[0].resource_name == role_name

View File

@@ -7,8 +7,8 @@ from azure.mgmt.sql.models import (
ServerExternalAdministrator, ServerExternalAdministrator,
) )
from prowler.providers.azure.services.sqlserver.sqlserver_service import SQL_Server from prowler.providers.azure.services.sqlserver.sqlserver_service import Server
from tests.providers.azure.azure_fixtures import AZURE_SUSCRIPTION from tests.providers.azure.azure_fixtures import AZURE_SUBSCRIPTION
class Test_sqlserver_auditing_enabled: class Test_sqlserver_auditing_enabled:
@@ -33,8 +33,8 @@ class Test_sqlserver_auditing_enabled:
sql_server_name = "SQL Server Name" sql_server_name = "SQL Server Name"
sql_server_id = str(uuid4()) sql_server_id = str(uuid4())
sqlserver_client.sql_servers = { sqlserver_client.sql_servers = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
SQL_Server( Server(
id=sql_server_id, id=sql_server_id,
name=sql_server_name, name=sql_server_name,
public_network_access="", public_network_access="",
@@ -60,9 +60,9 @@ class Test_sqlserver_auditing_enabled:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"SQL Server {sql_server_name} from subscription {AZURE_SUSCRIPTION} does not have any auditing policy configured." == f"SQL Server {sql_server_name} from subscription {AZURE_SUBSCRIPTION} does not have any auditing policy configured."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == sql_server_name assert result[0].resource_name == sql_server_name
assert result[0].resource_id == sql_server_id assert result[0].resource_id == sql_server_id
@@ -71,8 +71,8 @@ class Test_sqlserver_auditing_enabled:
sql_server_name = "SQL Server Name" sql_server_name = "SQL Server Name"
sql_server_id = str(uuid4()) sql_server_id = str(uuid4())
sqlserver_client.sql_servers = { sqlserver_client.sql_servers = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
SQL_Server( Server(
id=sql_server_id, id=sql_server_id,
name=sql_server_name, name=sql_server_name,
public_network_access="", public_network_access="",
@@ -98,8 +98,8 @@ class Test_sqlserver_auditing_enabled:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"SQL Server {sql_server_name} from subscription {AZURE_SUSCRIPTION} has a auditing policy configured." == f"SQL Server {sql_server_name} from subscription {AZURE_SUBSCRIPTION} has a auditing policy configured."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == sql_server_name assert result[0].resource_name == sql_server_name
assert result[0].resource_id == sql_server_id assert result[0].resource_id == sql_server_id

View File

@@ -3,8 +3,8 @@ from uuid import uuid4
from azure.mgmt.sql.models import ServerBlobAuditingPolicy from azure.mgmt.sql.models import ServerBlobAuditingPolicy
from prowler.providers.azure.services.sqlserver.sqlserver_service import SQL_Server from prowler.providers.azure.services.sqlserver.sqlserver_service import Server
from tests.providers.azure.azure_fixtures import AZURE_SUSCRIPTION from tests.providers.azure.azure_fixtures import AZURE_SUBSCRIPTION
class Test_sqlserver_auditing_retention_90_days: class Test_sqlserver_auditing_retention_90_days:
@@ -29,8 +29,8 @@ class Test_sqlserver_auditing_retention_90_days:
sql_server_name = "SQL Server Name" sql_server_name = "SQL Server Name"
sql_server_id = str(uuid4()) sql_server_id = str(uuid4())
sqlserver_client.sql_servers = { sqlserver_client.sql_servers = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
SQL_Server( Server(
id=sql_server_id, id=sql_server_id,
name=sql_server_name, name=sql_server_name,
public_network_access="", public_network_access="",
@@ -58,9 +58,9 @@ class Test_sqlserver_auditing_retention_90_days:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"SQL Server {sql_server_name} from subscription {AZURE_SUSCRIPTION} has auditing disabled." == f"SQL Server {sql_server_name} from subscription {AZURE_SUBSCRIPTION} has auditing disabled."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == sql_server_name assert result[0].resource_name == sql_server_name
assert result[0].resource_id == sql_server_id assert result[0].resource_id == sql_server_id
@@ -69,8 +69,8 @@ class Test_sqlserver_auditing_retention_90_days:
sql_server_name = "SQL Server Name" sql_server_name = "SQL Server Name"
sql_server_id = str(uuid4()) sql_server_id = str(uuid4())
sqlserver_client.sql_servers = { sqlserver_client.sql_servers = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
SQL_Server( Server(
id=sql_server_id, id=sql_server_id,
name=sql_server_name, name=sql_server_name,
public_network_access="", public_network_access="",
@@ -100,9 +100,9 @@ class Test_sqlserver_auditing_retention_90_days:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"SQL Server {sql_server_name} from subscription {AZURE_SUSCRIPTION} has auditing retention less than 91 days." == f"SQL Server {sql_server_name} from subscription {AZURE_SUBSCRIPTION} has auditing retention less than 91 days."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == sql_server_name assert result[0].resource_name == sql_server_name
assert result[0].resource_id == sql_server_id assert result[0].resource_id == sql_server_id
@@ -111,8 +111,8 @@ class Test_sqlserver_auditing_retention_90_days:
sql_server_name = "SQL Server Name" sql_server_name = "SQL Server Name"
sql_server_id = str(uuid4()) sql_server_id = str(uuid4())
sqlserver_client.sql_servers = { sqlserver_client.sql_servers = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
SQL_Server( Server(
id=sql_server_id, id=sql_server_id,
name=sql_server_name, name=sql_server_name,
public_network_access="", public_network_access="",
@@ -142,9 +142,9 @@ class Test_sqlserver_auditing_retention_90_days:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"SQL Server {sql_server_name} from subscription {AZURE_SUSCRIPTION} has auditing retention greater than 90 days." == f"SQL Server {sql_server_name} from subscription {AZURE_SUBSCRIPTION} has auditing retention greater than 90 days."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == sql_server_name assert result[0].resource_name == sql_server_name
assert result[0].resource_id == sql_server_id assert result[0].resource_id == sql_server_id
@@ -155,8 +155,8 @@ class Test_sqlserver_auditing_retention_90_days:
sql_server_name = "SQL Server Name" sql_server_name = "SQL Server Name"
sql_server_id = str(uuid4()) sql_server_id = str(uuid4())
sqlserver_client.sql_servers = { sqlserver_client.sql_servers = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
SQL_Server( Server(
id=sql_server_id, id=sql_server_id,
name=sql_server_name, name=sql_server_name,
public_network_access="", public_network_access="",
@@ -187,9 +187,9 @@ class Test_sqlserver_auditing_retention_90_days:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"SQL Server {sql_server_name} from subscription {AZURE_SUSCRIPTION} has auditing retention greater than 90 days." == f"SQL Server {sql_server_name} from subscription {AZURE_SUBSCRIPTION} has auditing retention greater than 90 days."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == sql_server_name assert result[0].resource_name == sql_server_name
assert result[0].resource_id == sql_server_id assert result[0].resource_id == sql_server_id
@@ -200,8 +200,8 @@ class Test_sqlserver_auditing_retention_90_days:
sql_server_name = "SQL Server Name" sql_server_name = "SQL Server Name"
sql_server_id = str(uuid4()) sql_server_id = str(uuid4())
sqlserver_client.sql_servers = { sqlserver_client.sql_servers = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
SQL_Server( Server(
id=sql_server_id, id=sql_server_id,
name=sql_server_name, name=sql_server_name,
public_network_access="", public_network_access="",
@@ -232,8 +232,8 @@ class Test_sqlserver_auditing_retention_90_days:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"SQL Server {sql_server_name} from subscription {AZURE_SUSCRIPTION} has auditing retention less than 91 days." == f"SQL Server {sql_server_name} from subscription {AZURE_SUBSCRIPTION} has auditing retention less than 91 days."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == sql_server_name assert result[0].resource_name == sql_server_name
assert result[0].resource_id == sql_server_id assert result[0].resource_id == sql_server_id

View File

@@ -3,9 +3,9 @@ from uuid import uuid4
from azure.mgmt.sql.models import ServerExternalAdministrator from azure.mgmt.sql.models import ServerExternalAdministrator
from prowler.providers.azure.services.sqlserver.sqlserver_service import SQL_Server from prowler.providers.azure.services.sqlserver.sqlserver_service import Server
AZURE_SUSCRIPTION = str(uuid4()) AZURE_SUBSCRIPTION = str(uuid4())
class Test_sqlserver_azuread_administrator_enabled: class Test_sqlserver_azuread_administrator_enabled:
@@ -30,8 +30,8 @@ class Test_sqlserver_azuread_administrator_enabled:
sql_server_name = "SQL Server Name" sql_server_name = "SQL Server Name"
sql_server_id = str(uuid4()) sql_server_id = str(uuid4())
sqlserver_client.sql_servers = { sqlserver_client.sql_servers = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
SQL_Server( Server(
id=sql_server_id, id=sql_server_id,
name=sql_server_name, name=sql_server_name,
public_network_access="", public_network_access="",
@@ -57,9 +57,9 @@ class Test_sqlserver_azuread_administrator_enabled:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"SQL Server {sql_server_name} from subscription {AZURE_SUSCRIPTION} does not have an Active Directory administrator." == f"SQL Server {sql_server_name} from subscription {AZURE_SUBSCRIPTION} does not have an Active Directory administrator."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == sql_server_name assert result[0].resource_name == sql_server_name
assert result[0].resource_id == sql_server_id assert result[0].resource_id == sql_server_id
@@ -68,8 +68,8 @@ class Test_sqlserver_azuread_administrator_enabled:
sql_server_name = "SQL Server Name" sql_server_name = "SQL Server Name"
sql_server_id = str(uuid4()) sql_server_id = str(uuid4())
sqlserver_client.sql_servers = { sqlserver_client.sql_servers = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
SQL_Server( Server(
id=sql_server_id, id=sql_server_id,
name=sql_server_name, name=sql_server_name,
public_network_access="", public_network_access="",
@@ -97,9 +97,9 @@ class Test_sqlserver_azuread_administrator_enabled:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"SQL Server {sql_server_name} from subscription {AZURE_SUSCRIPTION} does not have an Active Directory administrator." == f"SQL Server {sql_server_name} from subscription {AZURE_SUBSCRIPTION} does not have an Active Directory administrator."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == sql_server_name assert result[0].resource_name == sql_server_name
assert result[0].resource_id == sql_server_id assert result[0].resource_id == sql_server_id
@@ -108,8 +108,8 @@ class Test_sqlserver_azuread_administrator_enabled:
sql_server_name = "SQL Server Name" sql_server_name = "SQL Server Name"
sql_server_id = str(uuid4()) sql_server_id = str(uuid4())
sqlserver_client.sql_servers = { sqlserver_client.sql_servers = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
SQL_Server( Server(
id=sql_server_id, id=sql_server_id,
name=sql_server_name, name=sql_server_name,
public_network_access="", public_network_access="",
@@ -137,8 +137,8 @@ class Test_sqlserver_azuread_administrator_enabled:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"SQL Server {sql_server_name} from subscription {AZURE_SUSCRIPTION} has an Active Directory administrator." == f"SQL Server {sql_server_name} from subscription {AZURE_SUBSCRIPTION} has an Active Directory administrator."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == sql_server_name assert result[0].resource_name == sql_server_name
assert result[0].resource_id == sql_server_id assert result[0].resource_id == sql_server_id

View File

@@ -7,18 +7,18 @@ from azure.mgmt.sql.models import (
) )
from prowler.providers.azure.services.sqlserver.sqlserver_service import ( from prowler.providers.azure.services.sqlserver.sqlserver_service import (
DatabaseServer, Database,
SQL_Server, Server,
SQLServer, SQLServer,
) )
from tests.providers.azure.azure_fixtures import ( from tests.providers.azure.azure_fixtures import (
AZURE_SUSCRIPTION, AZURE_SUBSCRIPTION,
set_mocked_azure_audit_info, set_mocked_azure_audit_info,
) )
def mock_sqlserver_get_sql_servers(_): def mock_sqlserver_get_sql_servers(_):
database = DatabaseServer( database = Database(
id="id", id="id",
name="name", name="name",
type="type", type="type",
@@ -27,8 +27,8 @@ def mock_sqlserver_get_sql_servers(_):
tde_encryption=TransparentDataEncryption(status="Disabled"), tde_encryption=TransparentDataEncryption(status="Disabled"),
) )
return { return {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
SQL_Server( Server(
id="id", id="id",
name="name", name="name",
public_network_access="public_network_access", public_network_access="public_network_access",
@@ -56,12 +56,12 @@ class Test_SqlServer_Service:
def test__get_client__(self): def test__get_client__(self):
sql_server = SQLServer(set_mocked_azure_audit_info()) sql_server = SQLServer(set_mocked_azure_audit_info())
assert ( assert (
sql_server.clients[AZURE_SUSCRIPTION].__class__.__name__ sql_server.clients[AZURE_SUBSCRIPTION].__class__.__name__
== "SqlManagementClient" == "SqlManagementClient"
) )
def test__get_sql_servers__(self): def test__get_sql_servers__(self):
database = DatabaseServer( database = Database(
id="id", id="id",
name="name", name="name",
type="type", type="type",
@@ -71,31 +71,30 @@ class Test_SqlServer_Service:
) )
sql_server = SQLServer(set_mocked_azure_audit_info()) sql_server = SQLServer(set_mocked_azure_audit_info())
assert ( assert (
sql_server.sql_servers[AZURE_SUSCRIPTION][0].__class__.__name__ sql_server.sql_servers[AZURE_SUBSCRIPTION][0].__class__.__name__ == "Server"
== "SQL_Server"
) )
assert sql_server.sql_servers[AZURE_SUSCRIPTION][0].id == "id" assert sql_server.sql_servers[AZURE_SUBSCRIPTION][0].id == "id"
assert sql_server.sql_servers[AZURE_SUSCRIPTION][0].name == "name" assert sql_server.sql_servers[AZURE_SUBSCRIPTION][0].name == "name"
assert ( assert (
sql_server.sql_servers[AZURE_SUSCRIPTION][0].public_network_access sql_server.sql_servers[AZURE_SUBSCRIPTION][0].public_network_access
== "public_network_access" == "public_network_access"
) )
assert ( assert (
sql_server.sql_servers[AZURE_SUSCRIPTION][0].minimal_tls_version sql_server.sql_servers[AZURE_SUBSCRIPTION][0].minimal_tls_version
== "minimal_tls_version" == "minimal_tls_version"
) )
assert sql_server.sql_servers[AZURE_SUSCRIPTION][0].administrators is None assert sql_server.sql_servers[AZURE_SUBSCRIPTION][0].administrators is None
assert sql_server.sql_servers[AZURE_SUSCRIPTION][0].auditing_policies is None assert sql_server.sql_servers[AZURE_SUBSCRIPTION][0].auditing_policies is None
assert sql_server.sql_servers[AZURE_SUSCRIPTION][0].firewall_rules is None assert sql_server.sql_servers[AZURE_SUBSCRIPTION][0].firewall_rules is None
assert ( assert (
sql_server.sql_servers[AZURE_SUSCRIPTION][ sql_server.sql_servers[AZURE_SUBSCRIPTION][
0 0
].encryption_protector.__class__.__name__ ].encryption_protector.__class__.__name__
== "EncryptionProtector" == "EncryptionProtector"
) )
assert sql_server.sql_servers[AZURE_SUSCRIPTION][0].databases == [database] assert sql_server.sql_servers[AZURE_SUBSCRIPTION][0].databases == [database]
assert ( assert (
sql_server.sql_servers[AZURE_SUSCRIPTION][ sql_server.sql_servers[AZURE_SUBSCRIPTION][
0 0
].vulnerability_assessment.__class__.__name__ ].vulnerability_assessment.__class__.__name__
== "ServerVulnerabilityAssessment" == "ServerVulnerabilityAssessment"
@@ -104,22 +103,24 @@ class Test_SqlServer_Service:
def test__get_databases__(self): def test__get_databases__(self):
sql_server = SQLServer(set_mocked_azure_audit_info()) sql_server = SQLServer(set_mocked_azure_audit_info())
assert ( assert (
sql_server.sql_servers[AZURE_SUSCRIPTION][0].databases[0].__class__.__name__ sql_server.sql_servers[AZURE_SUBSCRIPTION][0]
== "DatabaseServer" .databases[0]
.__class__.__name__
== "Database"
) )
assert sql_server.sql_servers[AZURE_SUSCRIPTION][0].databases[0].id == "id" assert sql_server.sql_servers[AZURE_SUBSCRIPTION][0].databases[0].id == "id"
assert sql_server.sql_servers[AZURE_SUSCRIPTION][0].databases[0].name == "name" assert sql_server.sql_servers[AZURE_SUBSCRIPTION][0].databases[0].name == "name"
assert sql_server.sql_servers[AZURE_SUSCRIPTION][0].databases[0].type == "type" assert sql_server.sql_servers[AZURE_SUBSCRIPTION][0].databases[0].type == "type"
assert ( assert (
sql_server.sql_servers[AZURE_SUSCRIPTION][0].databases[0].location sql_server.sql_servers[AZURE_SUBSCRIPTION][0].databases[0].location
== "location" == "location"
) )
assert ( assert (
sql_server.sql_servers[AZURE_SUSCRIPTION][0].databases[0].managed_by sql_server.sql_servers[AZURE_SUBSCRIPTION][0].databases[0].managed_by
== "managed_by" == "managed_by"
) )
assert ( assert (
sql_server.sql_servers[AZURE_SUSCRIPTION][0] sql_server.sql_servers[AZURE_SUBSCRIPTION][0]
.databases[0] .databases[0]
.tde_encryption.__class__.__name__ .tde_encryption.__class__.__name__
== "TransparentDataEncryption" == "TransparentDataEncryption"
@@ -128,13 +129,13 @@ class Test_SqlServer_Service:
def test__get_transparent_data_encryption__(self): def test__get_transparent_data_encryption__(self):
sql_server = SQLServer(set_mocked_azure_audit_info()) sql_server = SQLServer(set_mocked_azure_audit_info())
assert ( assert (
sql_server.sql_servers[AZURE_SUSCRIPTION][0] sql_server.sql_servers[AZURE_SUBSCRIPTION][0]
.databases[0] .databases[0]
.tde_encryption.__class__.__name__ .tde_encryption.__class__.__name__
== "TransparentDataEncryption" == "TransparentDataEncryption"
) )
assert ( assert (
sql_server.sql_servers[AZURE_SUSCRIPTION][0] sql_server.sql_servers[AZURE_SUBSCRIPTION][0]
.databases[0] .databases[0]
.tde_encryption.status .tde_encryption.status
== "Disabled" == "Disabled"
@@ -143,13 +144,13 @@ class Test_SqlServer_Service:
def test__get_encryption_protectors__(self): def test__get_encryption_protectors__(self):
sql_server = SQLServer(set_mocked_azure_audit_info()) sql_server = SQLServer(set_mocked_azure_audit_info())
assert ( assert (
sql_server.sql_servers[AZURE_SUSCRIPTION][ sql_server.sql_servers[AZURE_SUBSCRIPTION][
0 0
].encryption_protector.__class__.__name__ ].encryption_protector.__class__.__name__
== "EncryptionProtector" == "EncryptionProtector"
) )
assert ( assert (
sql_server.sql_servers[AZURE_SUSCRIPTION][ sql_server.sql_servers[AZURE_SUBSCRIPTION][
0 0
].encryption_protector.server_key_type ].encryption_protector.server_key_type
== "AzureKeyVault" == "AzureKeyVault"
@@ -164,13 +165,13 @@ class Test_SqlServer_Service:
sql_server = SQLServer(set_mocked_azure_audit_info()) sql_server = SQLServer(set_mocked_azure_audit_info())
storage_container_path = "/subcription_id/resource_group/sql_server" storage_container_path = "/subcription_id/resource_group/sql_server"
assert ( assert (
sql_server.sql_servers[AZURE_SUSCRIPTION][ sql_server.sql_servers[AZURE_SUBSCRIPTION][
0 0
].vulnerability_assessment.__class__.__name__ ].vulnerability_assessment.__class__.__name__
== "ServerVulnerabilityAssessment" == "ServerVulnerabilityAssessment"
) )
assert ( assert (
sql_server.sql_servers[AZURE_SUSCRIPTION][ sql_server.sql_servers[AZURE_SUBSCRIPTION][
0 0
].vulnerability_assessment.storage_container_path ].vulnerability_assessment.storage_container_path
== storage_container_path == storage_container_path

View File

@@ -4,11 +4,11 @@ from uuid import uuid4
from azure.mgmt.sql.models import EncryptionProtector, TransparentDataEncryption from azure.mgmt.sql.models import EncryptionProtector, TransparentDataEncryption
from prowler.providers.azure.services.sqlserver.sqlserver_service import ( from prowler.providers.azure.services.sqlserver.sqlserver_service import (
DatabaseServer, Database,
SQL_Server, Server,
) )
AZURE_SUSCRIPTION = str(uuid4()) AZURE_SUBSCRIPTION = str(uuid4())
class Test_sqlserver_tde_encrypted_with_cmk: class Test_sqlserver_tde_encrypted_with_cmk:
@@ -33,8 +33,8 @@ class Test_sqlserver_tde_encrypted_with_cmk:
sql_server_name = "SQL Server Name" sql_server_name = "SQL Server Name"
sql_server_id = str(uuid4()) sql_server_id = str(uuid4())
sqlserver_client.sql_servers = { sqlserver_client.sql_servers = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
SQL_Server( Server(
id=sql_server_id, id=sql_server_id,
name=sql_server_name, name=sql_server_name,
public_network_access="", public_network_access="",
@@ -63,7 +63,7 @@ class Test_sqlserver_tde_encrypted_with_cmk:
sqlserver_client = mock.MagicMock sqlserver_client = mock.MagicMock
sql_server_name = "SQL Server Name" sql_server_name = "SQL Server Name"
sql_server_id = str(uuid4()) sql_server_id = str(uuid4())
database = DatabaseServer( database = Database(
id="id", id="id",
name="name", name="name",
type="type", type="type",
@@ -72,8 +72,8 @@ class Test_sqlserver_tde_encrypted_with_cmk:
tde_encryption=None, tde_encryption=None,
) )
sqlserver_client.sql_servers = { sqlserver_client.sql_servers = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
SQL_Server( Server(
id=sql_server_id, id=sql_server_id,
name=sql_server_name, name=sql_server_name,
public_network_access="", public_network_access="",
@@ -103,9 +103,9 @@ class Test_sqlserver_tde_encrypted_with_cmk:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"SQL Server {sql_server_name} from subscription {AZURE_SUSCRIPTION} has TDE disabled without CMK." == f"SQL Server {sql_server_name} from subscription {AZURE_SUBSCRIPTION} has TDE disabled without CMK."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == sql_server_name assert result[0].resource_name == sql_server_name
assert result[0].resource_id == sql_server_id assert result[0].resource_id == sql_server_id
@@ -113,7 +113,7 @@ class Test_sqlserver_tde_encrypted_with_cmk:
sqlserver_client = mock.MagicMock sqlserver_client = mock.MagicMock
sql_server_name = "SQL Server Name" sql_server_name = "SQL Server Name"
sql_server_id = str(uuid4()) sql_server_id = str(uuid4())
database = DatabaseServer( database = Database(
id="id", id="id",
name="name", name="name",
type="type", type="type",
@@ -122,8 +122,8 @@ class Test_sqlserver_tde_encrypted_with_cmk:
tde_encryption=TransparentDataEncryption(status="Disabled"), tde_encryption=TransparentDataEncryption(status="Disabled"),
) )
sqlserver_client.sql_servers = { sqlserver_client.sql_servers = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
SQL_Server( Server(
id=sql_server_id, id=sql_server_id,
name=sql_server_name, name=sql_server_name,
public_network_access="", public_network_access="",
@@ -153,9 +153,9 @@ class Test_sqlserver_tde_encrypted_with_cmk:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"SQL Server {sql_server_name} from subscription {AZURE_SUSCRIPTION} has TDE disabled with CMK." == f"SQL Server {sql_server_name} from subscription {AZURE_SUBSCRIPTION} has TDE disabled with CMK."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == sql_server_name assert result[0].resource_name == sql_server_name
assert result[0].resource_id == sql_server_id assert result[0].resource_id == sql_server_id
@@ -163,7 +163,7 @@ class Test_sqlserver_tde_encrypted_with_cmk:
sqlserver_client = mock.MagicMock sqlserver_client = mock.MagicMock
sql_server_name = "SQL Server Name" sql_server_name = "SQL Server Name"
sql_server_id = str(uuid4()) sql_server_id = str(uuid4())
database = DatabaseServer( database = Database(
id="id", id="id",
name="name", name="name",
type="type", type="type",
@@ -172,8 +172,8 @@ class Test_sqlserver_tde_encrypted_with_cmk:
tde_encryption=TransparentDataEncryption(status="Enabled"), tde_encryption=TransparentDataEncryption(status="Enabled"),
) )
sqlserver_client.sql_servers = { sqlserver_client.sql_servers = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
SQL_Server( Server(
id=sql_server_id, id=sql_server_id,
name=sql_server_name, name=sql_server_name,
public_network_access="", public_network_access="",
@@ -203,8 +203,8 @@ class Test_sqlserver_tde_encrypted_with_cmk:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"SQL Server {sql_server_name} from subscription {AZURE_SUSCRIPTION} has TDE enabled with CMK." == f"SQL Server {sql_server_name} from subscription {AZURE_SUBSCRIPTION} has TDE enabled with CMK."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == sql_server_name assert result[0].resource_name == sql_server_name
assert result[0].resource_id == sql_server_id assert result[0].resource_id == sql_server_id

View File

@@ -4,11 +4,11 @@ from uuid import uuid4
from azure.mgmt.sql.models import TransparentDataEncryption from azure.mgmt.sql.models import TransparentDataEncryption
from prowler.providers.azure.services.sqlserver.sqlserver_service import ( from prowler.providers.azure.services.sqlserver.sqlserver_service import (
DatabaseServer, Database,
SQL_Server, Server,
) )
AZURE_SUSCRIPTION = str(uuid4()) AZURE_SUBSCRIPTION = str(uuid4())
class Test_sqlserver_tde_encryption_enabled: class Test_sqlserver_tde_encryption_enabled:
@@ -33,8 +33,8 @@ class Test_sqlserver_tde_encryption_enabled:
sql_server_name = "SQL Server Name" sql_server_name = "SQL Server Name"
sql_server_id = str(uuid4()) sql_server_id = str(uuid4())
sqlserver_client.sql_servers = { sqlserver_client.sql_servers = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
SQL_Server( Server(
id=sql_server_id, id=sql_server_id,
name=sql_server_name, name=sql_server_name,
public_network_access="", public_network_access="",
@@ -65,7 +65,7 @@ class Test_sqlserver_tde_encryption_enabled:
sql_server_id = str(uuid4()) sql_server_id = str(uuid4())
database_name = "Database Name" database_name = "Database Name"
database_id = str(uuid4()) database_id = str(uuid4())
database = DatabaseServer( database = Database(
id=database_id, id=database_id,
name=database_name, name=database_name,
type="type", type="type",
@@ -74,8 +74,8 @@ class Test_sqlserver_tde_encryption_enabled:
tde_encryption=TransparentDataEncryption(status="Disabled"), tde_encryption=TransparentDataEncryption(status="Disabled"),
) )
sqlserver_client.sql_servers = { sqlserver_client.sql_servers = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
SQL_Server( Server(
id=sql_server_id, id=sql_server_id,
name=sql_server_name, name=sql_server_name,
public_network_access="", public_network_access="",
@@ -103,9 +103,9 @@ class Test_sqlserver_tde_encryption_enabled:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Database {database_name} from SQL Server {sql_server_name} from subscription {AZURE_SUSCRIPTION} has TDE disabled" == f"Database {database_name} from SQL Server {sql_server_name} from subscription {AZURE_SUBSCRIPTION} has TDE disabled"
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == database_name assert result[0].resource_name == database_name
assert result[0].resource_id == database_id assert result[0].resource_id == database_id
@@ -115,7 +115,7 @@ class Test_sqlserver_tde_encryption_enabled:
sql_server_id = str(uuid4()) sql_server_id = str(uuid4())
database_name = "Database Name" database_name = "Database Name"
database_id = str(uuid4()) database_id = str(uuid4())
database = DatabaseServer( database = Database(
id=database_id, id=database_id,
name=database_name, name=database_name,
type="type", type="type",
@@ -124,8 +124,8 @@ class Test_sqlserver_tde_encryption_enabled:
tde_encryption=TransparentDataEncryption(status="Enabled"), tde_encryption=TransparentDataEncryption(status="Enabled"),
) )
sqlserver_client.sql_servers = { sqlserver_client.sql_servers = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
SQL_Server( Server(
id=sql_server_id, id=sql_server_id,
name=sql_server_name, name=sql_server_name,
public_network_access="", public_network_access="",
@@ -153,8 +153,8 @@ class Test_sqlserver_tde_encryption_enabled:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Database {database_name} from SQL Server {sql_server_name} from subscription {AZURE_SUSCRIPTION} has TDE enabled" == f"Database {database_name} from SQL Server {sql_server_name} from subscription {AZURE_SUBSCRIPTION} has TDE enabled"
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == database_name assert result[0].resource_name == database_name
assert result[0].resource_id == database_id assert result[0].resource_id == database_id

View File

@@ -3,9 +3,9 @@ from uuid import uuid4
from azure.mgmt.sql.models import FirewallRule from azure.mgmt.sql.models import FirewallRule
from prowler.providers.azure.services.sqlserver.sqlserver_service import SQL_Server from prowler.providers.azure.services.sqlserver.sqlserver_service import Server
AZURE_SUSCRIPTION = str(uuid4()) AZURE_SUBSCRIPTION = str(uuid4())
class Test_sqlserver_unrestricted_inbound_access: class Test_sqlserver_unrestricted_inbound_access:
@@ -30,8 +30,8 @@ class Test_sqlserver_unrestricted_inbound_access:
sql_server_name = "SQL Server Name" sql_server_name = "SQL Server Name"
sql_server_id = str(uuid4()) sql_server_id = str(uuid4())
sqlserver_client.sql_servers = { sqlserver_client.sql_servers = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
SQL_Server( Server(
id=sql_server_id, id=sql_server_id,
name=sql_server_name, name=sql_server_name,
public_network_access="", public_network_access="",
@@ -61,9 +61,9 @@ class Test_sqlserver_unrestricted_inbound_access:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"SQL Server {sql_server_name} from subscription {AZURE_SUSCRIPTION} has firewall rules allowing 0.0.0.0-255.255.255.255." == f"SQL Server {sql_server_name} from subscription {AZURE_SUBSCRIPTION} has firewall rules allowing 0.0.0.0-255.255.255.255."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == sql_server_name assert result[0].resource_name == sql_server_name
assert result[0].resource_id == sql_server_id assert result[0].resource_id == sql_server_id
@@ -72,8 +72,8 @@ class Test_sqlserver_unrestricted_inbound_access:
sql_server_name = "SQL Server Name" sql_server_name = "SQL Server Name"
sql_server_id = str(uuid4()) sql_server_id = str(uuid4())
sqlserver_client.sql_servers = { sqlserver_client.sql_servers = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
SQL_Server( Server(
id=sql_server_id, id=sql_server_id,
name=sql_server_name, name=sql_server_name,
public_network_access="", public_network_access="",
@@ -103,8 +103,8 @@ class Test_sqlserver_unrestricted_inbound_access:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"SQL Server {sql_server_name} from subscription {AZURE_SUSCRIPTION} does not have firewall rules allowing 0.0.0.0-255.255.255.255." == f"SQL Server {sql_server_name} from subscription {AZURE_SUBSCRIPTION} does not have firewall rules allowing 0.0.0.0-255.255.255.255."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == sql_server_name assert result[0].resource_name == sql_server_name
assert result[0].resource_id == sql_server_id assert result[0].resource_id == sql_server_id

View File

@@ -8,11 +8,11 @@ from azure.mgmt.sql.models import (
) )
from prowler.providers.azure.services.sqlserver.sqlserver_service import ( from prowler.providers.azure.services.sqlserver.sqlserver_service import (
DatabaseServer, Database,
SQL_Server, Server,
) )
AZURE_SUSCRIPTION = str(uuid4()) AZURE_SUBSCRIPTION = str(uuid4())
class Test_sqlserver_vulnerability_assessment_enabled: class Test_sqlserver_vulnerability_assessment_enabled:
@@ -36,7 +36,7 @@ class Test_sqlserver_vulnerability_assessment_enabled:
sqlserver_client = mock.MagicMock sqlserver_client = mock.MagicMock
sql_server_name = "SQL Server Name" sql_server_name = "SQL Server Name"
sql_server_id = str(uuid4()) sql_server_id = str(uuid4())
database = DatabaseServer( database = Database(
id="id", id="id",
name="name", name="name",
type="type", type="type",
@@ -45,8 +45,8 @@ class Test_sqlserver_vulnerability_assessment_enabled:
tde_encryption=None, tde_encryption=None,
) )
sqlserver_client.sql_servers = { sqlserver_client.sql_servers = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
SQL_Server( Server(
id=sql_server_id, id=sql_server_id,
name=sql_server_name, name=sql_server_name,
public_network_access="", public_network_access="",
@@ -77,9 +77,9 @@ class Test_sqlserver_vulnerability_assessment_enabled:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"SQL Server {sql_server_name} from subscription {AZURE_SUSCRIPTION} has vulnerability assessment disabled." == f"SQL Server {sql_server_name} from subscription {AZURE_SUBSCRIPTION} has vulnerability assessment disabled."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == sql_server_name assert result[0].resource_name == sql_server_name
assert result[0].resource_id == sql_server_id assert result[0].resource_id == sql_server_id
@@ -87,7 +87,7 @@ class Test_sqlserver_vulnerability_assessment_enabled:
sqlserver_client = mock.MagicMock sqlserver_client = mock.MagicMock
sql_server_name = "SQL Server Name" sql_server_name = "SQL Server Name"
sql_server_id = str(uuid4()) sql_server_id = str(uuid4())
database = DatabaseServer( database = Database(
id="id", id="id",
name="name", name="name",
type="type", type="type",
@@ -96,8 +96,8 @@ class Test_sqlserver_vulnerability_assessment_enabled:
tde_encryption=TransparentDataEncryption(status="Disabled"), tde_encryption=TransparentDataEncryption(status="Disabled"),
) )
sqlserver_client.sql_servers = { sqlserver_client.sql_servers = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
SQL_Server( Server(
id=sql_server_id, id=sql_server_id,
name=sql_server_name, name=sql_server_name,
public_network_access="", public_network_access="",
@@ -130,9 +130,9 @@ class Test_sqlserver_vulnerability_assessment_enabled:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"SQL Server {sql_server_name} from subscription {AZURE_SUSCRIPTION} has vulnerability assessment disabled." == f"SQL Server {sql_server_name} from subscription {AZURE_SUBSCRIPTION} has vulnerability assessment disabled."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == sql_server_name assert result[0].resource_name == sql_server_name
assert result[0].resource_id == sql_server_id assert result[0].resource_id == sql_server_id
@@ -140,7 +140,7 @@ class Test_sqlserver_vulnerability_assessment_enabled:
sqlserver_client = mock.MagicMock sqlserver_client = mock.MagicMock
sql_server_name = "SQL Server Name" sql_server_name = "SQL Server Name"
sql_server_id = str(uuid4()) sql_server_id = str(uuid4())
database = DatabaseServer( database = Database(
id="id", id="id",
name="name", name="name",
type="type", type="type",
@@ -149,8 +149,8 @@ class Test_sqlserver_vulnerability_assessment_enabled:
tde_encryption=TransparentDataEncryption(status="Enabled"), tde_encryption=TransparentDataEncryption(status="Enabled"),
) )
sqlserver_client.sql_servers = { sqlserver_client.sql_servers = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
SQL_Server( Server(
id=sql_server_id, id=sql_server_id,
name=sql_server_name, name=sql_server_name,
public_network_access="", public_network_access="",
@@ -183,8 +183,8 @@ class Test_sqlserver_vulnerability_assessment_enabled:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"SQL Server {sql_server_name} from subscription {AZURE_SUSCRIPTION} has vulnerability assessment enabled." == f"SQL Server {sql_server_name} from subscription {AZURE_SUBSCRIPTION} has vulnerability assessment enabled."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == sql_server_name assert result[0].resource_name == sql_server_name
assert result[0].resource_id == sql_server_id assert result[0].resource_id == sql_server_id

View File

@@ -1,9 +1,9 @@
from unittest import mock from unittest import mock
from uuid import uuid4 from uuid import uuid4
from prowler.providers.azure.services.storage.storage_service import Storage_Account from prowler.providers.azure.services.storage.storage_service import Account
AZURE_SUSCRIPTION = str(uuid4()) AZURE_SUBSCRIPTION = str(uuid4())
class Test_storage_blob_public_access_level_is_disabled: class Test_storage_blob_public_access_level_is_disabled:
@@ -28,8 +28,8 @@ class Test_storage_blob_public_access_level_is_disabled:
storage_account_name = "Test Storage Account" storage_account_name = "Test Storage Account"
storage_client = mock.MagicMock storage_client = mock.MagicMock
storage_client.storage_accounts = { storage_client.storage_accounts = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
Storage_Account( Account(
id=storage_account_id, id=storage_account_id,
name=storage_account_name, name=storage_account_name,
resouce_group_name=None, resouce_group_name=None,
@@ -59,9 +59,9 @@ class Test_storage_blob_public_access_level_is_disabled:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Storage account {storage_account_name} from subscription {AZURE_SUSCRIPTION} has allow blob public access enabled." == f"Storage account {storage_account_name} from subscription {AZURE_SUBSCRIPTION} has allow blob public access enabled."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == storage_account_name assert result[0].resource_name == storage_account_name
assert result[0].resource_id == storage_account_id assert result[0].resource_id == storage_account_id
@@ -70,8 +70,8 @@ class Test_storage_blob_public_access_level_is_disabled:
storage_account_name = "Test Storage Account" storage_account_name = "Test Storage Account"
storage_client = mock.MagicMock storage_client = mock.MagicMock
storage_client.storage_accounts = { storage_client.storage_accounts = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
Storage_Account( Account(
id=storage_account_id, id=storage_account_id,
name=storage_account_name, name=storage_account_name,
resouce_group_name=None, resouce_group_name=None,
@@ -101,8 +101,8 @@ class Test_storage_blob_public_access_level_is_disabled:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Storage account {storage_account_name} from subscription {AZURE_SUSCRIPTION} has allow blob public access disabled." == f"Storage account {storage_account_name} from subscription {AZURE_SUBSCRIPTION} has allow blob public access disabled."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == storage_account_name assert result[0].resource_name == storage_account_name
assert result[0].resource_id == storage_account_id assert result[0].resource_id == storage_account_id

View File

@@ -3,9 +3,9 @@ from uuid import uuid4
from azure.mgmt.storage.v2022_09_01.models import NetworkRuleSet from azure.mgmt.storage.v2022_09_01.models import NetworkRuleSet
from prowler.providers.azure.services.storage.storage_service import Storage_Account from prowler.providers.azure.services.storage.storage_service import Account
AZURE_SUSCRIPTION = str(uuid4()) AZURE_SUBSCRIPTION = str(uuid4())
class Test_storage_default_network_access_rule_is_denied: class Test_storage_default_network_access_rule_is_denied:
@@ -30,8 +30,8 @@ class Test_storage_default_network_access_rule_is_denied:
storage_account_name = "Test Storage Account" storage_account_name = "Test Storage Account"
storage_client = mock.MagicMock storage_client = mock.MagicMock
storage_client.storage_accounts = { storage_client.storage_accounts = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
Storage_Account( Account(
id=storage_account_id, id=storage_account_id,
name=storage_account_name, name=storage_account_name,
resouce_group_name=None, resouce_group_name=None,
@@ -61,9 +61,9 @@ class Test_storage_default_network_access_rule_is_denied:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Storage account {storage_account_name} from subscription {AZURE_SUSCRIPTION} has network access rule set to Allow." == f"Storage account {storage_account_name} from subscription {AZURE_SUBSCRIPTION} has network access rule set to Allow."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == storage_account_name assert result[0].resource_name == storage_account_name
assert result[0].resource_id == storage_account_id assert result[0].resource_id == storage_account_id
@@ -72,8 +72,8 @@ class Test_storage_default_network_access_rule_is_denied:
storage_account_name = "Test Storage Account" storage_account_name = "Test Storage Account"
storage_client = mock.MagicMock storage_client = mock.MagicMock
storage_client.storage_accounts = { storage_client.storage_accounts = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
Storage_Account( Account(
id=storage_account_id, id=storage_account_id,
name=storage_account_name, name=storage_account_name,
resouce_group_name=None, resouce_group_name=None,
@@ -103,8 +103,8 @@ class Test_storage_default_network_access_rule_is_denied:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Storage account {storage_account_name} from subscription {AZURE_SUSCRIPTION} has network access rule set to Deny." == f"Storage account {storage_account_name} from subscription {AZURE_SUBSCRIPTION} has network access rule set to Deny."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == storage_account_name assert result[0].resource_name == storage_account_name
assert result[0].resource_id == storage_account_id assert result[0].resource_id == storage_account_id

View File

@@ -3,9 +3,9 @@ from uuid import uuid4
from azure.mgmt.storage.v2022_09_01.models import NetworkRuleSet from azure.mgmt.storage.v2022_09_01.models import NetworkRuleSet
from prowler.providers.azure.services.storage.storage_service import Storage_Account from prowler.providers.azure.services.storage.storage_service import Account
AZURE_SUSCRIPTION = str(uuid4()) AZURE_SUBSCRIPTION = str(uuid4())
class Test_storage_ensure_azure_services_are_trusted_to_access_is_enabled: class Test_storage_ensure_azure_services_are_trusted_to_access_is_enabled:
@@ -30,8 +30,8 @@ class Test_storage_ensure_azure_services_are_trusted_to_access_is_enabled:
storage_account_name = "Test Storage Account" storage_account_name = "Test Storage Account"
storage_client = mock.MagicMock storage_client = mock.MagicMock
storage_client.storage_accounts = { storage_client.storage_accounts = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
Storage_Account( Account(
id=storage_account_id, id=storage_account_id,
name=storage_account_name, name=storage_account_name,
resouce_group_name=None, resouce_group_name=None,
@@ -61,9 +61,9 @@ class Test_storage_ensure_azure_services_are_trusted_to_access_is_enabled:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Storage account {storage_account_name} from subscription {AZURE_SUSCRIPTION} does not allow trusted Microsoft services to access this storage account." == f"Storage account {storage_account_name} from subscription {AZURE_SUBSCRIPTION} does not allow trusted Microsoft services to access this storage account."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == storage_account_name assert result[0].resource_name == storage_account_name
assert result[0].resource_id == storage_account_id assert result[0].resource_id == storage_account_id
@@ -72,8 +72,8 @@ class Test_storage_ensure_azure_services_are_trusted_to_access_is_enabled:
storage_account_name = "Test Storage Account" storage_account_name = "Test Storage Account"
storage_client = mock.MagicMock storage_client = mock.MagicMock
storage_client.storage_accounts = { storage_client.storage_accounts = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
Storage_Account( Account(
id=storage_account_id, id=storage_account_id,
name=storage_account_name, name=storage_account_name,
resouce_group_name=None, resouce_group_name=None,
@@ -103,8 +103,8 @@ class Test_storage_ensure_azure_services_are_trusted_to_access_is_enabled:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Storage account {storage_account_name} from subscription {AZURE_SUSCRIPTION} allows trusted Microsoft services to access this storage account." == f"Storage account {storage_account_name} from subscription {AZURE_SUBSCRIPTION} allows trusted Microsoft services to access this storage account."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == storage_account_name assert result[0].resource_name == storage_account_name
assert result[0].resource_id == storage_account_id assert result[0].resource_id == storage_account_id

View File

@@ -1,9 +1,9 @@
from unittest import mock from unittest import mock
from uuid import uuid4 from uuid import uuid4
from prowler.providers.azure.services.storage.storage_service import Storage_Account from prowler.providers.azure.services.storage.storage_service import Account
AZURE_SUSCRIPTION = str(uuid4()) AZURE_SUBSCRIPTION = str(uuid4())
class Test_storage_ensure_encryption_with_customer_managed_keys: class Test_storage_ensure_encryption_with_customer_managed_keys:
@@ -28,8 +28,8 @@ class Test_storage_ensure_encryption_with_customer_managed_keys:
storage_account_name = "Test Storage Account" storage_account_name = "Test Storage Account"
storage_client = mock.MagicMock storage_client = mock.MagicMock
storage_client.storage_accounts = { storage_client.storage_accounts = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
Storage_Account( Account(
id=storage_account_id, id=storage_account_id,
name=storage_account_name, name=storage_account_name,
resouce_group_name=None, resouce_group_name=None,
@@ -59,9 +59,9 @@ class Test_storage_ensure_encryption_with_customer_managed_keys:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Storage account {storage_account_name} from subscription {AZURE_SUSCRIPTION} does not encrypt with CMKs." == f"Storage account {storage_account_name} from subscription {AZURE_SUBSCRIPTION} does not encrypt with CMKs."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == storage_account_name assert result[0].resource_name == storage_account_name
assert result[0].resource_id == storage_account_id assert result[0].resource_id == storage_account_id
@@ -70,8 +70,8 @@ class Test_storage_ensure_encryption_with_customer_managed_keys:
storage_account_name = "Test Storage Account" storage_account_name = "Test Storage Account"
storage_client = mock.MagicMock storage_client = mock.MagicMock
storage_client.storage_accounts = { storage_client.storage_accounts = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
Storage_Account( Account(
id=storage_account_id, id=storage_account_id,
name=storage_account_name, name=storage_account_name,
resouce_group_name=None, resouce_group_name=None,
@@ -101,8 +101,8 @@ class Test_storage_ensure_encryption_with_customer_managed_keys:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Storage account {storage_account_name} from subscription {AZURE_SUSCRIPTION} encrypts with CMKs." == f"Storage account {storage_account_name} from subscription {AZURE_SUBSCRIPTION} encrypts with CMKs."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == storage_account_name assert result[0].resource_name == storage_account_name
assert result[0].resource_id == storage_account_id assert result[0].resource_id == storage_account_id

View File

@@ -1,9 +1,9 @@
from unittest import mock from unittest import mock
from uuid import uuid4 from uuid import uuid4
from prowler.providers.azure.services.storage.storage_service import Storage_Account from prowler.providers.azure.services.storage.storage_service import Account
AZURE_SUSCRIPTION = str(uuid4()) AZURE_SUBSCRIPTION = str(uuid4())
class Test_storage_ensure_minimum_tls_version_12: class Test_storage_ensure_minimum_tls_version_12:
@@ -28,8 +28,8 @@ class Test_storage_ensure_minimum_tls_version_12:
storage_account_name = "Test Storage Account" storage_account_name = "Test Storage Account"
storage_client = mock.MagicMock storage_client = mock.MagicMock
storage_client.storage_accounts = { storage_client.storage_accounts = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
Storage_Account( Account(
id=storage_account_id, id=storage_account_id,
name=storage_account_name, name=storage_account_name,
resouce_group_name=None, resouce_group_name=None,
@@ -59,9 +59,9 @@ class Test_storage_ensure_minimum_tls_version_12:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Storage account {storage_account_name} from subscription {AZURE_SUSCRIPTION} does not have TLS version set to 1.2." == f"Storage account {storage_account_name} from subscription {AZURE_SUBSCRIPTION} does not have TLS version set to 1.2."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == storage_account_name assert result[0].resource_name == storage_account_name
assert result[0].resource_id == storage_account_id assert result[0].resource_id == storage_account_id
@@ -70,8 +70,8 @@ class Test_storage_ensure_minimum_tls_version_12:
storage_account_name = "Test Storage Account" storage_account_name = "Test Storage Account"
storage_client = mock.MagicMock storage_client = mock.MagicMock
storage_client.storage_accounts = { storage_client.storage_accounts = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
Storage_Account( Account(
id=storage_account_id, id=storage_account_id,
name=storage_account_name, name=storage_account_name,
resouce_group_name=None, resouce_group_name=None,
@@ -101,8 +101,8 @@ class Test_storage_ensure_minimum_tls_version_12:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Storage account {storage_account_name} from subscription {AZURE_SUSCRIPTION} has TLS version set to 1.2." == f"Storage account {storage_account_name} from subscription {AZURE_SUBSCRIPTION} has TLS version set to 1.2."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == storage_account_name assert result[0].resource_name == storage_account_name
assert result[0].resource_id == storage_account_id assert result[0].resource_id == storage_account_id

View File

@@ -3,9 +3,9 @@ from uuid import uuid4
from azure.mgmt.storage.v2023_01_01.models import PrivateEndpointConnection from azure.mgmt.storage.v2023_01_01.models import PrivateEndpointConnection
from prowler.providers.azure.services.storage.storage_service import Storage_Account from prowler.providers.azure.services.storage.storage_service import Account
AZURE_SUSCRIPTION = str(uuid4()) AZURE_SUBSCRIPTION = str(uuid4())
class Test_storage_ensure_private_endpoints_in_storage_accounts: class Test_storage_ensure_private_endpoints_in_storage_accounts:
@@ -32,8 +32,8 @@ class Test_storage_ensure_private_endpoints_in_storage_accounts:
storage_account_name = "Test Storage Account" storage_account_name = "Test Storage Account"
storage_client = mock.MagicMock storage_client = mock.MagicMock
storage_client.storage_accounts = { storage_client.storage_accounts = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
Storage_Account( Account(
id=storage_account_id, id=storage_account_id,
name=storage_account_name, name=storage_account_name,
resouce_group_name=None, resouce_group_name=None,
@@ -63,9 +63,9 @@ class Test_storage_ensure_private_endpoints_in_storage_accounts:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Storage account {storage_account_name} from subscription {AZURE_SUSCRIPTION} does not have private endpoint connections." == f"Storage account {storage_account_name} from subscription {AZURE_SUBSCRIPTION} does not have private endpoint connections."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == storage_account_name assert result[0].resource_name == storage_account_name
assert result[0].resource_id == storage_account_id assert result[0].resource_id == storage_account_id
@@ -76,8 +76,8 @@ class Test_storage_ensure_private_endpoints_in_storage_accounts:
storage_account_name = "Test Storage Account" storage_account_name = "Test Storage Account"
storage_client = mock.MagicMock storage_client = mock.MagicMock
storage_client.storage_accounts = { storage_client.storage_accounts = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
Storage_Account( Account(
id=storage_account_id, id=storage_account_id,
name=storage_account_name, name=storage_account_name,
resouce_group_name=None, resouce_group_name=None,
@@ -107,8 +107,8 @@ class Test_storage_ensure_private_endpoints_in_storage_accounts:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Storage account {storage_account_name} from subscription {AZURE_SUSCRIPTION} has private endpoint connections." == f"Storage account {storage_account_name} from subscription {AZURE_SUBSCRIPTION} has private endpoint connections."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == storage_account_name assert result[0].resource_name == storage_account_name
assert result[0].resource_id == storage_account_id assert result[0].resource_id == storage_account_id

View File

@@ -4,11 +4,11 @@ from uuid import uuid4
from azure.mgmt.storage.v2023_01_01.models import DeleteRetentionPolicy from azure.mgmt.storage.v2023_01_01.models import DeleteRetentionPolicy
from prowler.providers.azure.services.storage.storage_service import ( from prowler.providers.azure.services.storage.storage_service import (
Blob_Properties, Account,
Storage_Account, BlobProperties,
) )
AZURE_SUSCRIPTION = str(uuid4()) AZURE_SUBSCRIPTION = str(uuid4())
class Test_storage_ensure_soft_delete_is_enabled: class Test_storage_ensure_soft_delete_is_enabled:
@@ -34,8 +34,8 @@ class Test_storage_ensure_soft_delete_is_enabled:
storage_client = mock.MagicMock storage_client = mock.MagicMock
storage_account_blob_properties = None storage_account_blob_properties = None
storage_client.storage_accounts = { storage_client.storage_accounts = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
Storage_Account( Account(
id=storage_account_id, id=storage_account_id,
name=storage_account_name, name=storage_account_name,
resouce_group_name=None, resouce_group_name=None,
@@ -70,7 +70,7 @@ class Test_storage_ensure_soft_delete_is_enabled:
storage_account_id = str(uuid4()) storage_account_id = str(uuid4())
storage_account_name = "Test Storage Account" storage_account_name = "Test Storage Account"
storage_client = mock.MagicMock storage_client = mock.MagicMock
storage_account_blob_properties = Blob_Properties( storage_account_blob_properties = BlobProperties(
id=None, id=None,
name=None, name=None,
type=None, type=None,
@@ -78,8 +78,8 @@ class Test_storage_ensure_soft_delete_is_enabled:
container_delete_retention_policy=DeleteRetentionPolicy(enabled=False), container_delete_retention_policy=DeleteRetentionPolicy(enabled=False),
) )
storage_client.storage_accounts = { storage_client.storage_accounts = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
Storage_Account( Account(
id=storage_account_id, id=storage_account_id,
name=storage_account_name, name=storage_account_name,
resouce_group_name=None, resouce_group_name=None,
@@ -110,9 +110,9 @@ class Test_storage_ensure_soft_delete_is_enabled:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Storage account {storage_account_name} from subscription {AZURE_SUSCRIPTION} has soft delete disabled." == f"Storage account {storage_account_name} from subscription {AZURE_SUBSCRIPTION} has soft delete disabled."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == storage_account_name assert result[0].resource_name == storage_account_name
assert result[0].resource_id == storage_account_id assert result[0].resource_id == storage_account_id
@@ -122,7 +122,7 @@ class Test_storage_ensure_soft_delete_is_enabled:
storage_account_id = str(uuid4()) storage_account_id = str(uuid4())
storage_account_name = "Test Storage Account" storage_account_name = "Test Storage Account"
storage_client = mock.MagicMock storage_client = mock.MagicMock
storage_account_blob_properties = Blob_Properties( storage_account_blob_properties = BlobProperties(
id=None, id=None,
name=None, name=None,
type=None, type=None,
@@ -130,8 +130,8 @@ class Test_storage_ensure_soft_delete_is_enabled:
container_delete_retention_policy=DeleteRetentionPolicy(enabled=True), container_delete_retention_policy=DeleteRetentionPolicy(enabled=True),
) )
storage_client.storage_accounts = { storage_client.storage_accounts = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
Storage_Account( Account(
id=storage_account_id, id=storage_account_id,
name=storage_account_name, name=storage_account_name,
resouce_group_name=None, resouce_group_name=None,
@@ -162,8 +162,8 @@ class Test_storage_ensure_soft_delete_is_enabled:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Storage account {storage_account_name} from subscription {AZURE_SUSCRIPTION} has soft delete enabled." == f"Storage account {storage_account_name} from subscription {AZURE_SUBSCRIPTION} has soft delete enabled."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == storage_account_name assert result[0].resource_name == storage_account_name
assert result[0].resource_id == storage_account_id assert result[0].resource_id == storage_account_id

View File

@@ -1,9 +1,9 @@
from unittest import mock from unittest import mock
from uuid import uuid4 from uuid import uuid4
from prowler.providers.azure.services.storage.storage_service import Storage_Account from prowler.providers.azure.services.storage.storage_service import Account
AZURE_SUSCRIPTION = str(uuid4()) AZURE_SUBSCRIPTION = str(uuid4())
class Test_storage_infrastructure_encryption_is_enabled: class Test_storage_infrastructure_encryption_is_enabled:
@@ -28,8 +28,8 @@ class Test_storage_infrastructure_encryption_is_enabled:
storage_account_name = "Test Storage Account" storage_account_name = "Test Storage Account"
storage_client = mock.MagicMock storage_client = mock.MagicMock
storage_client.storage_accounts = { storage_client.storage_accounts = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
Storage_Account( Account(
id=storage_account_id, id=storage_account_id,
name=storage_account_name, name=storage_account_name,
resouce_group_name=None, resouce_group_name=None,
@@ -59,9 +59,9 @@ class Test_storage_infrastructure_encryption_is_enabled:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Storage account {storage_account_name} from subscription {AZURE_SUSCRIPTION} has infrastructure encryption disabled." == f"Storage account {storage_account_name} from subscription {AZURE_SUBSCRIPTION} has infrastructure encryption disabled."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == storage_account_name assert result[0].resource_name == storage_account_name
assert result[0].resource_id == storage_account_id assert result[0].resource_id == storage_account_id
@@ -70,8 +70,8 @@ class Test_storage_infrastructure_encryption_is_enabled:
storage_account_name = "Test Storage Account" storage_account_name = "Test Storage Account"
storage_client = mock.MagicMock storage_client = mock.MagicMock
storage_client.storage_accounts = { storage_client.storage_accounts = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
Storage_Account( Account(
id=storage_account_id, id=storage_account_id,
name=storage_account_name, name=storage_account_name,
resouce_group_name=None, resouce_group_name=None,
@@ -101,8 +101,8 @@ class Test_storage_infrastructure_encryption_is_enabled:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Storage account {storage_account_name} from subscription {AZURE_SUSCRIPTION} has infrastructure encryption enabled." == f"Storage account {storage_account_name} from subscription {AZURE_SUBSCRIPTION} has infrastructure encryption enabled."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == storage_account_name assert result[0].resource_name == storage_account_name
assert result[0].resource_id == storage_account_id assert result[0].resource_id == storage_account_id

View File

@@ -1,8 +1,8 @@
from unittest import mock from unittest import mock
from uuid import uuid4 from uuid import uuid4
from prowler.providers.azure.services.storage.storage_service import Storage_Account from prowler.providers.azure.services.storage.storage_service import Account
from tests.providers.azure.azure_fixtures import AZURE_SUSCRIPTION from tests.providers.azure.azure_fixtures import AZURE_SUBSCRIPTION
class Test_storage_key_rotation_90_dayss: class Test_storage_key_rotation_90_dayss:
@@ -28,8 +28,8 @@ class Test_storage_key_rotation_90_dayss:
expiration_days = 91 expiration_days = 91
storage_client = mock.MagicMock storage_client = mock.MagicMock
storage_client.storage_accounts = { storage_client.storage_accounts = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
Storage_Account( Account(
id=storage_account_id, id=storage_account_id,
name=storage_account_name, name=storage_account_name,
resouce_group_name=None, resouce_group_name=None,
@@ -59,9 +59,9 @@ class Test_storage_key_rotation_90_dayss:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Storage account {storage_account_name} from subscription {AZURE_SUSCRIPTION} has an invalid key expiration period of {expiration_days} days." == f"Storage account {storage_account_name} from subscription {AZURE_SUBSCRIPTION} has an invalid key expiration period of {expiration_days} days."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == storage_account_name assert result[0].resource_name == storage_account_name
assert result[0].resource_id == storage_account_id assert result[0].resource_id == storage_account_id
@@ -71,8 +71,8 @@ class Test_storage_key_rotation_90_dayss:
expiration_days = 90 expiration_days = 90
storage_client = mock.MagicMock storage_client = mock.MagicMock
storage_client.storage_accounts = { storage_client.storage_accounts = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
Storage_Account( Account(
id=storage_account_id, id=storage_account_id,
name=storage_account_name, name=storage_account_name,
resouce_group_name=None, resouce_group_name=None,
@@ -102,9 +102,9 @@ class Test_storage_key_rotation_90_dayss:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Storage account {storage_account_name} from subscription {AZURE_SUSCRIPTION} has a key expiration period of {expiration_days} days." == f"Storage account {storage_account_name} from subscription {AZURE_SUBSCRIPTION} has a key expiration period of {expiration_days} days."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == storage_account_name assert result[0].resource_name == storage_account_name
assert result[0].resource_id == storage_account_id assert result[0].resource_id == storage_account_id
@@ -113,8 +113,8 @@ class Test_storage_key_rotation_90_dayss:
storage_account_name = "Test Storage Account" storage_account_name = "Test Storage Account"
storage_client = mock.MagicMock storage_client = mock.MagicMock
storage_client.storage_accounts = { storage_client.storage_accounts = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
Storage_Account( Account(
id=storage_account_id, id=storage_account_id,
name=storage_account_name, name=storage_account_name,
resouce_group_name=None, resouce_group_name=None,
@@ -144,8 +144,8 @@ class Test_storage_key_rotation_90_dayss:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Storage account {storage_account_name} from subscription {AZURE_SUSCRIPTION} has no key expiration period set." == f"Storage account {storage_account_name} from subscription {AZURE_SUBSCRIPTION} has no key expiration period set."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == storage_account_name assert result[0].resource_name == storage_account_name
assert result[0].resource_id == storage_account_id assert result[0].resource_id == storage_account_id

View File

@@ -1,9 +1,9 @@
from unittest import mock from unittest import mock
from uuid import uuid4 from uuid import uuid4
from prowler.providers.azure.services.storage.storage_service import Storage_Account from prowler.providers.azure.services.storage.storage_service import Account
AZURE_SUSCRIPTION = str(uuid4()) AZURE_SUBSCRIPTION = str(uuid4())
class Test_storage_secure_transfer_required_is_enabled: class Test_storage_secure_transfer_required_is_enabled:
@@ -28,8 +28,8 @@ class Test_storage_secure_transfer_required_is_enabled:
storage_account_name = "Test Storage Account" storage_account_name = "Test Storage Account"
storage_client = mock.MagicMock storage_client = mock.MagicMock
storage_client.storage_accounts = { storage_client.storage_accounts = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
Storage_Account( Account(
id=storage_account_id, id=storage_account_id,
name=storage_account_name, name=storage_account_name,
resouce_group_name=None, resouce_group_name=None,
@@ -59,9 +59,9 @@ class Test_storage_secure_transfer_required_is_enabled:
assert result[0].status == "FAIL" assert result[0].status == "FAIL"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Storage account {storage_account_name} from subscription {AZURE_SUSCRIPTION} has secure transfer required disabled." == f"Storage account {storage_account_name} from subscription {AZURE_SUBSCRIPTION} has secure transfer required disabled."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == storage_account_name assert result[0].resource_name == storage_account_name
assert result[0].resource_id == storage_account_id assert result[0].resource_id == storage_account_id
@@ -70,8 +70,8 @@ class Test_storage_secure_transfer_required_is_enabled:
storage_account_name = "Test Storage Account" storage_account_name = "Test Storage Account"
storage_client = mock.MagicMock storage_client = mock.MagicMock
storage_client.storage_accounts = { storage_client.storage_accounts = {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
Storage_Account( Account(
id=storage_account_id, id=storage_account_id,
name=storage_account_name, name=storage_account_name,
resouce_group_name=None, resouce_group_name=None,
@@ -101,8 +101,8 @@ class Test_storage_secure_transfer_required_is_enabled:
assert result[0].status == "PASS" assert result[0].status == "PASS"
assert ( assert (
result[0].status_extended result[0].status_extended
== f"Storage account {storage_account_name} from subscription {AZURE_SUSCRIPTION} has secure transfer required enabled." == f"Storage account {storage_account_name} from subscription {AZURE_SUBSCRIPTION} has secure transfer required enabled."
) )
assert result[0].subscription == AZURE_SUSCRIPTION assert result[0].subscription == AZURE_SUBSCRIPTION
assert result[0].resource_name == storage_account_name assert result[0].resource_name == storage_account_name
assert result[0].resource_id == storage_account_id assert result[0].resource_id == storage_account_id

View File

@@ -1,18 +1,18 @@
from unittest.mock import patch from unittest.mock import patch
from prowler.providers.azure.services.storage.storage_service import ( from prowler.providers.azure.services.storage.storage_service import (
Blob_Properties, Account,
BlobProperties,
Storage, Storage,
Storage_Account,
) )
from tests.providers.azure.azure_fixtures import ( from tests.providers.azure.azure_fixtures import (
AZURE_SUSCRIPTION, AZURE_SUBSCRIPTION,
set_mocked_azure_audit_info, set_mocked_azure_audit_info,
) )
def mock_storage_get_storage_accounts(_): def mock_storage_get_storage_accounts(_):
blob_properties = Blob_Properties( blob_properties = BlobProperties(
id="id", id="id",
name="name", name="name",
type="type", type="type",
@@ -20,8 +20,8 @@ def mock_storage_get_storage_accounts(_):
container_delete_retention_policy=None, container_delete_retention_policy=None,
) )
return { return {
AZURE_SUSCRIPTION: [ AZURE_SUBSCRIPTION: [
Storage_Account( Account(
id="id", id="id",
name="name", name="name",
resouce_group_name=None, resouce_group_name=None,
@@ -47,47 +47,51 @@ class Test_Storage_Service:
def test__get_client__(self): def test__get_client__(self):
storage = Storage(set_mocked_azure_audit_info()) storage = Storage(set_mocked_azure_audit_info())
assert ( assert (
storage.clients[AZURE_SUSCRIPTION].__class__.__name__ storage.clients[AZURE_SUBSCRIPTION].__class__.__name__
== "StorageManagementClient" == "StorageManagementClient"
) )
def test__get_storage_accounts__(self): def test__get_storage_accounts__(self):
storage = Storage(set_mocked_azure_audit_info()) storage = Storage(set_mocked_azure_audit_info())
assert ( assert (
storage.storage_accounts[AZURE_SUSCRIPTION][0].__class__.__name__ storage.storage_accounts[AZURE_SUBSCRIPTION][0].__class__.__name__
== "Storage_Account" == "Account"
) )
assert storage.storage_accounts[AZURE_SUSCRIPTION][0].id == "id" assert storage.storage_accounts[AZURE_SUBSCRIPTION][0].id == "id"
assert storage.storage_accounts[AZURE_SUSCRIPTION][0].name == "name" assert storage.storage_accounts[AZURE_SUBSCRIPTION][0].name == "name"
assert storage.storage_accounts[AZURE_SUSCRIPTION][0].resouce_group_name is None
assert ( assert (
storage.storage_accounts[AZURE_SUSCRIPTION][0].enable_https_traffic_only storage.storage_accounts[AZURE_SUBSCRIPTION][0].resouce_group_name is None
)
assert (
storage.storage_accounts[AZURE_SUBSCRIPTION][0].enable_https_traffic_only
is False is False
) )
assert ( assert (
storage.storage_accounts[AZURE_SUSCRIPTION][0].infrastructure_encryption storage.storage_accounts[AZURE_SUBSCRIPTION][0].infrastructure_encryption
is False is False
) )
assert ( assert (
storage.storage_accounts[AZURE_SUSCRIPTION][0].allow_blob_public_access storage.storage_accounts[AZURE_SUBSCRIPTION][0].allow_blob_public_access
is None is None
) )
assert storage.storage_accounts[AZURE_SUSCRIPTION][0].network_rule_set is None assert storage.storage_accounts[AZURE_SUBSCRIPTION][0].network_rule_set is None
assert storage.storage_accounts[AZURE_SUSCRIPTION][0].encryption_type == "None" assert storage.storage_accounts[AZURE_SUBSCRIPTION][0].encryption_type == "None"
assert ( assert (
storage.storage_accounts[AZURE_SUSCRIPTION][0].minimum_tls_version is None storage.storage_accounts[AZURE_SUBSCRIPTION][0].minimum_tls_version is None
) )
assert ( assert (
storage.storage_accounts[AZURE_SUSCRIPTION][0].key_expiration_period_in_days storage.storage_accounts[AZURE_SUBSCRIPTION][
0
].key_expiration_period_in_days
is None is None
) )
assert ( assert (
storage.storage_accounts[AZURE_SUSCRIPTION][0].private_endpoint_connections storage.storage_accounts[AZURE_SUBSCRIPTION][0].private_endpoint_connections
is None is None
) )
assert storage.storage_accounts[AZURE_SUSCRIPTION][ assert storage.storage_accounts[AZURE_SUBSCRIPTION][
0 0
].blob_properties == Blob_Properties( ].blob_properties == BlobProperties(
id="id", id="id",
name="name", name="name",
type="type", type="type",
@@ -98,28 +102,30 @@ class Test_Storage_Service:
def test__get_blob_properties__(self): def test__get_blob_properties__(self):
storage = Storage(set_mocked_azure_audit_info()) storage = Storage(set_mocked_azure_audit_info())
assert ( assert (
storage.storage_accounts[AZURE_SUSCRIPTION][ storage.storage_accounts[AZURE_SUBSCRIPTION][
0 0
].blob_properties.__class__.__name__ ].blob_properties.__class__.__name__
== "Blob_Properties" == "BlobProperties"
) )
assert storage.storage_accounts[AZURE_SUSCRIPTION][0].blob_properties.id == "id"
assert ( assert (
storage.storage_accounts[AZURE_SUSCRIPTION][0].blob_properties.name storage.storage_accounts[AZURE_SUBSCRIPTION][0].blob_properties.id == "id"
)
assert (
storage.storage_accounts[AZURE_SUBSCRIPTION][0].blob_properties.name
== "name" == "name"
) )
assert ( assert (
storage.storage_accounts[AZURE_SUSCRIPTION][0].blob_properties.type storage.storage_accounts[AZURE_SUBSCRIPTION][0].blob_properties.type
== "type" == "type"
) )
assert ( assert (
storage.storage_accounts[AZURE_SUSCRIPTION][ storage.storage_accounts[AZURE_SUBSCRIPTION][
0 0
].blob_properties.default_service_version ].blob_properties.default_service_version
is None is None
) )
assert ( assert (
storage.storage_accounts[AZURE_SUSCRIPTION][ storage.storage_accounts[AZURE_SUBSCRIPTION][
0 0
].blob_properties.container_delete_retention_policy ].blob_properties.container_delete_retention_policy
is None is None