Skip to content

Commit 71bccd6

Browse files
change tests
1 parent 986efa3 commit 71bccd6

File tree

1 file changed

+81
-109
lines changed

1 file changed

+81
-109
lines changed

src/ResourceManager/Sql/Commands.Sql.Test/ScenarioTests/AuditingTests.ps1

Lines changed: 81 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -964,7 +964,7 @@ Tests that after migrating between database audit types the returned policy is o
964964
function Test-DatatabaseAuditingTypeMigration
965965
{
966966
# Setup
967-
$testSuffix = 554479
967+
$testSuffix = 554478
968968
Create-AuditingTestEnvironment $testSuffix
969969
$params = Get-SqlAuditingTestEnvironmentParameters $testSuffix
970970
$dbName = $params.databaseName
@@ -994,13 +994,25 @@ function Test-DatatabaseAuditingTypeMigration
994994
Assert-AreEqual $policy.AuditAction.Length 2
995995
Assert-AreEqual $policy.RetentionInDays 4
996996

997-
# Test
997+
# Test - Tests that when updating blob auditing policy on database without AuditType parameter, the policy type isn't changed.
998+
Set-AzureRmSqlDatabaseAuditingPolicy -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -StorageAccountName $params.storageAccount -AuditActionGroup "DATABASE_OPERATION_GROUP"
999+
$policy = Get-AzureRmSqlDatabaseAuditingPolicy -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName
1000+
1001+
#Assert
1002+
Assert-AreEqual $policy.AuditState "Enabled"
1003+
Assert-AreEqual $policy.AuditType ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditType]::Blob)
1004+
Assert-AreEqual $policy.AuditActionGroup.Length 1
1005+
Assert-True {$policy.AuditActionGroup.Contains([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups]::DATABASE_OPERATION_GROUP)}
1006+
Assert-AreEqual $policy.AuditAction.Length 2
1007+
Assert-AreEqual $policy.RetentionInDays 4
1008+
1009+
# Test - When trying to update the current blob auditing policy with eventType parameter it fails, because EventType parameter is only supported for table auditing.
9981010
Assert-Throws {Set-AzureRmSqlDatabaseAuditingPolicy -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -StorageAccountName $params.storageAccount -EventType ParameterizedSQL_Failure}
9991011

1000-
# Test
1012+
# Test
10011013
Set-AzureRmSqlDatabaseAuditingPolicy -AuditType Table -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -StorageAccountName $params.storageAccount -EventType ParameterizedSQL_Failure
10021014
$policy = Get-AzureRmSqlDatabaseAuditingPolicy -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName
1003-
1015+
10041016
# Assert
10051017
Assert-AreEqual $policy.AuditState "Enabled"
10061018
Assert-AreEqual $policy.AuditType ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditType]::Table)
@@ -1023,7 +1035,7 @@ function Test-DatatabaseAuditingTypeMigration
10231035
# Assert
10241036
Assert-AreEqual $policy.AuditType ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditType]::Table)
10251037

1026-
# Test
1038+
# Test
10271039
Remove-AzureRmSqlDatabaseAuditing -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName
10281040
$policy = Get-AzureRmSqlDatabaseAuditingPolicy -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName
10291041

@@ -1045,7 +1057,7 @@ Tests that after migrating between server audit types the returned policy is of
10451057
function Test-ServerAuditingTypeMigration
10461058
{
10471059
# Setup
1048-
$testSuffix = 584416
1060+
$testSuffix = 584412
10491061
Create-AuditingTestEnvironment $testSuffix
10501062
$params = Get-SqlAuditingTestEnvironmentParameters $testSuffix
10511063
$dbName = $params.databaseName
@@ -1072,7 +1084,18 @@ function Test-ServerAuditingTypeMigration
10721084
Assert-True {$policy.AuditActionGroup.Contains([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups]::FAILED_DATABASE_AUTHENTICATION_GROUP)}
10731085
Assert-AreEqual $policy.RetentionInDays 4
10741086

1075-
# Test
1087+
#Test - Tests that when updating blob auditing policy on server without AuditType parameter, the policy type isn't changed.
1088+
Set-AzureRmSqlServerAuditingPolicy -ResourceGroupName $params.rgname -ServerName $params.serverName -StorageAccountName $params.storageAccount -AuditActionGroup DATABASE_OPERATION_GROUP
1089+
$policy = Get-AzureRmSqlServerAuditingPolicy -ResourceGroupName $params.rgname -ServerName $params.serverName
1090+
1091+
#Assert
1092+
Assert-AreEqual $policy.AuditState "Enabled"
1093+
Assert-AreEqual $policy.AuditType ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditType]::Blob)
1094+
Assert-AreEqual $policy.AuditActionGroup.Length 1
1095+
Assert-True {$policy.AuditActionGroup.Contains([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups]::DATABASE_OPERATION_GROUP)}
1096+
Assert-AreEqual $policy.RetentionInDays 4
1097+
1098+
# Test - When trying to update the current blob auditing policy with eventType parameter it fails, because EventType parameter is only supported for table auditing.
10761099
Assert-Throws {Set-AzureRmSqlServerAuditingPolicy -ResourceGroupName $params.rgname -ServerName $params.serverName -StorageAccountName $params.storageAccount -EventType ParameterizedSQL_Failure}
10771100

10781101
# Test
@@ -1140,17 +1163,17 @@ function Test-GetServerAndDatabaseAuditingInUkRegion
11401163

11411164
<#
11421165
.SYNOPSIS
1143-
Tests that when modifying the auditActionGroup property of a databases's auditing policy (including the All and None values), these properties are later fetched properly
1166+
Tests that when modifying the auditActionGroup property of a blob auditing policy, these properties are later fetched properly
11441167
#>
1145-
function Test-BlobAuditingDatabaseUpdatePolicyWithAuditActionGroups
1168+
function Test-BlobAuditingWithAuditActionGroups
11461169
{
11471170
$testSuffix = 50118
11481171
Create-AuditingTestEnvironment $testSuffix
11491172
$params = Get-SqlAuditingTestEnvironmentParameters $testSuffix
11501173

11511174
try
11521175
{
1153-
# Test - when setting new blob auditin policy without audit action groups, the default audit action groups is set.
1176+
# Test - when setting new blob auditing policy for database without audit action groups, the default audit action groups is set.
11541177
Set-AzureRmSqlDatabaseAuditingPolicy -AuditType Blob -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -StorageAccountName $params.storageAccount
11551178
$policy = Get-AzureRmSqlDatabaseAuditingPolicy -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName
11561179

@@ -1161,6 +1184,15 @@ function Test-BlobAuditingDatabaseUpdatePolicyWithAuditActionGroups
11611184
Assert-True {$policy.AuditActionGroup.Contains([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups]::BATCH_COMPLETED_GROUP)}
11621185

11631186
# Test
1187+
Set-AzureRmSqlDatabaseAuditingPolicy -AuditType Blob -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -StorageAccountName $params.storageAccount -AuditActionGroup "APPLICATION_ROLE_CHANGE_PASSWORD_GROUP","DATABASE_OBJECT_PERMISSION_CHANGE_GROUP"
1188+
$policy = Get-AzureRmSqlDatabaseAuditingPolicy -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName
1189+
1190+
# Assert
1191+
Assert-AreEqual $policy.AuditActionGroup.Length 2
1192+
Assert-True {$policy.AuditActionGroup.Contains([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups]::APPLICATION_ROLE_CHANGE_PASSWORD_GROUP)}
1193+
Assert-True {$policy.AuditActionGroup.Contains([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups]::DATABASE_OBJECT_PERMISSION_CHANGE_GROUP)}
1194+
1195+
# Test - tests that audit action groups can be changed
11641196
Set-AzureRmSqlDatabaseAuditingPolicy -AuditType Blob -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -StorageAccountName $params.storageAccount -AuditActionGroup "DATABASE_OPERATION_GROUP","DATABASE_LOGOUT_GROUP"
11651197
$policy = Get-AzureRmSqlDatabaseAuditingPolicy -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName
11661198

@@ -1169,10 +1201,47 @@ function Test-BlobAuditingDatabaseUpdatePolicyWithAuditActionGroups
11691201
Assert-True {$policy.AuditActionGroup.Contains([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups]::DATABASE_OPERATION_GROUP)}
11701202
Assert-True {$policy.AuditActionGroup.Contains([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups]::DATABASE_LOGOUT_GROUP)}
11711203

1172-
# Test - when updating blob auditin policy for existing one without audit action groups, the action groups won't change.
1204+
# Test - when updating blob auditing policy for existing one without audit action groups, the action groups won't change.
11731205
Set-AzureRmSqlDatabaseAuditingPolicy -AuditType Blob -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -StorageAccountName $params.storageAccount
11741206
$policy = Get-AzureRmSqlDatabaseAuditingPolicy -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName
11751207

1208+
# Assert
1209+
Assert-AreEqual $policy.AuditActionGroup.Length 2
1210+
Assert-True {$policy.AuditActionGroup.Contains([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups]::DATABASE_OPERATION_GROUP)}
1211+
Assert-True {$policy.AuditActionGroup.Contains([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups]::DATABASE_LOGOUT_GROUP)}
1212+
1213+
# Test - when setting new blob auditing policy for server without audit action groups, the default audit action groups is set.
1214+
Set-AzureRmSqlServerAuditingPolicy -AuditType Blob -ResourceGroupName $params.rgname -ServerName $params.serverName -StorageAccountName $params.storageAccount
1215+
$policy = Get-AzureRmSqlServerAuditingPolicy -ResourceGroupName $params.rgname -ServerName $params.serverName
1216+
1217+
# Assert
1218+
Assert-AreEqual $policy.AuditActionGroup.Length 3
1219+
Assert-True {$policy.AuditActionGroup.Contains([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups]::SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP)}
1220+
Assert-True {$policy.AuditActionGroup.Contains([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups]::FAILED_DATABASE_AUTHENTICATION_GROUP)}
1221+
Assert-True {$policy.AuditActionGroup.Contains([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups]::BATCH_COMPLETED_GROUP)}
1222+
1223+
# Test
1224+
Set-AzureRmSqlServerAuditingPolicy -AuditType Blob -ResourceGroupName $params.rgname -ServerName $params.serverName -StorageAccountName $params.storageAccount -AuditActionGroup "APPLICATION_ROLE_CHANGE_PASSWORD_GROUP","DATABASE_OBJECT_PERMISSION_CHANGE_GROUP"
1225+
$policy = Get-AzureRmSqlServerAuditingPolicy -ResourceGroupName $params.rgname -ServerName $params.serverName
1226+
1227+
# Assert
1228+
Assert-AreEqual $policy.AuditActionGroup.Length 2
1229+
Assert-True {$policy.AuditActionGroup.Contains([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups]::APPLICATION_ROLE_CHANGE_PASSWORD_GROUP)}
1230+
Assert-True {$policy.AuditActionGroup.Contains([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups]::DATABASE_OBJECT_PERMISSION_CHANGE_GROUP)}
1231+
1232+
# Test - tests that audit action groups can be changed
1233+
Set-AzureRmSqlServerAuditingPolicy -AuditType Blob -ResourceGroupName $params.rgname -ServerName $params.serverName -StorageAccountName $params.storageAccount -AuditActionGroup "DATABASE_OPERATION_GROUP","DATABASE_LOGOUT_GROUP"
1234+
$policy = Get-AzureRmSqlServerAuditingPolicy -ResourceGroupName $params.rgname -ServerName $params.serverName
1235+
1236+
# Assert
1237+
Assert-AreEqual $policy.AuditActionGroup.Length 2
1238+
Assert-True {$policy.AuditActionGroup.Contains([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups]::DATABASE_OPERATION_GROUP)}
1239+
Assert-True {$policy.AuditActionGroup.Contains([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups]::DATABASE_LOGOUT_GROUP)}
1240+
1241+
# Test - when updating blob auditing policy for existing one without audit action groups, the action groups won't change.
1242+
Set-AzureRmSqlServerAuditingPolicy -AuditType Blob -ResourceGroupName $params.rgname -ServerName $params.serverName -StorageAccountName $params.storageAccount
1243+
$policy = Get-AzureRmSqlServerAuditingPolicy -ResourceGroupName $params.rgname -ServerName $params.serverName
1244+
11761245
# Assert
11771246
Assert-AreEqual $policy.AuditActionGroup.Length 2
11781247
Assert-True {$policy.AuditActionGroup.Contains([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups]::DATABASE_OPERATION_GROUP)}
@@ -1187,7 +1256,7 @@ function Test-BlobAuditingDatabaseUpdatePolicyWithAuditActionGroups
11871256

11881257
<#
11891258
.SYNOPSIS
1190-
Tests that trying to configure table audititng with audit actions or action groups fails.
1259+
Tests that trying to configure table auditing with audit actions or action groups fails.
11911260
#>
11921261
function Test-AuditingWithAuditActionsAndAuditActionGroups
11931262
{
@@ -1212,101 +1281,4 @@ function Test-AuditingWithAuditActionsAndAuditActionGroups
12121281
# Cleanup
12131282
Remove-AuditingTestEnvironment $testSuffix
12141283
}
1215-
}
1216-
1217-
<#
1218-
.SYNOPSIS
1219-
Tests that trying to configure blob audititng with event types fails.
1220-
#>
1221-
function Test-BlobAuditingWithEventTypes
1222-
{
1223-
$testSuffix = 50333
1224-
Create-AuditingTestEnvironment $testSuffix
1225-
$params = Get-SqlAuditingTestEnvironmentParameters $testSuffix
1226-
1227-
try
1228-
{
1229-
# Test
1230-
Assert-Throws {Set-AzureRmSqlDatabaseAuditingPolicy -AuditType Blob -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -StorageAccountName $params.storageAccount -EventType "PlainSQL_Success"}
1231-
1232-
# Test
1233-
Assert-Throws {Set-AzureRmSqlServerAuditingPolicy -AuditType Blob -ResourceGroupName $params.rgname -ServerName $params.serverName -StorageAccountName $params.storageAccount -EventType "PlainSQL_Success"}
1234-
}
1235-
finally
1236-
{
1237-
# Cleanup
1238-
Remove-AuditingTestEnvironment $testSuffix
1239-
}
1240-
}
1241-
1242-
<#
1243-
.SYNOPSIS
1244-
Tests that when updating blob auditing policy on database without AuditType parameter, the policy type isn't changed.
1245-
#>
1246-
function Test-UpdateBlobAuditingOnDatabaseWithNoAuditType
1247-
{
1248-
$testSuffix = 50118
1249-
Create-AuditingTestEnvironment $testSuffix
1250-
$params = Get-SqlAuditingTestEnvironmentParameters $testSuffix
1251-
1252-
try
1253-
{
1254-
# Test
1255-
Set-AzureRmSqlDatabaseAuditingPolicy -AuditType Blob -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -StorageAccountName $params.storageAccount
1256-
$policy = Get-AzureRmSqlDatabaseAuditingPolicy -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName
1257-
1258-
#Assert
1259-
Assert-AreEqual $policy.AuditState "Enabled"
1260-
Assert-AreEqual $policy.AuditType "Blob"
1261-
1262-
# Test
1263-
Set-AzureRmSqlDatabaseAuditingPolicy -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -StorageAccountName $params.storageAccount -AuditActionGroup "DATABASE_OPERATION_GROUP"
1264-
$policy = Get-AzureRmSqlDatabaseAuditingPolicy -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName
1265-
1266-
#Assert
1267-
Assert-AreEqual $policy.AuditState "Enabled"
1268-
Assert-AreEqual $policy.AuditType "Blob"
1269-
Assert-True {$policy.AuditActionGroup.Contains([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups]::DATABASE_OPERATION_GROUP)}
1270-
}
1271-
finally
1272-
{
1273-
# Cleanup
1274-
Remove-AuditingTestEnvironment $testSuffix
1275-
}
1276-
}
1277-
1278-
<#
1279-
.SYNOPSIS
1280-
Tests that when updating blob auditing policy on server without AuditType parameter, the policy type isn't changed.
1281-
#>
1282-
function Test-UpdateBlobAuditingOnServerWithNoAuditType
1283-
{
1284-
$testSuffix = 50130
1285-
Create-AuditingTestEnvironment $testSuffix
1286-
$params = Get-SqlAuditingTestEnvironmentParameters $testSuffix
1287-
1288-
try
1289-
{
1290-
#Test
1291-
Set-AzureRmSqlServerAuditingPolicy -AuditType Blob -ResourceGroupName $params.rgname -ServerName $params.serverName -StorageAccountName $params.storageAccount
1292-
$policy = Get-AzureRmSqlServerAuditingPolicy -ResourceGroupName $params.rgname -ServerName $params.serverName
1293-
1294-
#Assert
1295-
Assert-AreEqual $policy.AuditState "Enabled"
1296-
Assert-AreEqual $policy.AuditType "Blob"
1297-
1298-
#Test
1299-
Set-AzureRmSqlServerAuditingPolicy -ResourceGroupName $params.rgname -ServerName $params.serverName -StorageAccountName $params.storageAccount -AuditActionGroup "DATABASE_OPERATION_GROUP"
1300-
$policy = Get-AzureRmSqlServerAuditingPolicy -ResourceGroupName $params.rgname -ServerName $params.serverName
1301-
1302-
#Assert
1303-
Assert-AreEqual $policy.AuditState "Enabled"
1304-
Assert-AreEqual $policy.AuditType "Blob"
1305-
Assert-True {$policy.AuditActionGroup.Contains([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups]::DATABASE_OPERATION_GROUP)}
1306-
}
1307-
finally
1308-
{
1309-
# Cleanup
1310-
Remove-AuditingTestEnvironment $testSuffix
1311-
}
13121284
}

0 commit comments

Comments
 (0)