Skip to content

Commit 485c1cb

Browse files
changing the check if parameter has been populated
1 parent 47823fd commit 485c1cb

File tree

7 files changed

+20
-10
lines changed

7 files changed

+20
-10
lines changed

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -942,6 +942,14 @@ function Test-BlobAuditingOnDatabase
942942
Assert-AreEqual $policy.RetentionInDays 8
943943
Assert-True { $policy.StorageKeyType -eq "Secondary"}
944944

945+
# Test - Tests the option to remove all audit action and audit action groups
946+
Set-AzureRmSqlDatabaseAuditingPolicy -AuditType Blob -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -AuditActionGroup @() -AuditAction @()
947+
$policy = Get-AzureRmSqlDatabaseAuditingPolicy -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName
948+
949+
# Assert
950+
Assert-AreEqual $policy.AuditState "Enabled"
951+
Assert-AreEqual $policy.AuditActionGroup.Length 0
952+
Assert-AreEqual $policy.AuditAction.Length 0
945953

946954
# Test
947955
Remove-AzureRmSqlDatabaseAuditing -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName

src/ResourceManager/Sql/Commands.Sql/Auditing/Cmdlet/SetAzureSqlDatabaseAuditingPolicy.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,14 +45,14 @@ public class SetAzureSqlDatabaseAuditingPolicy : SqlDatabaseAuditingCmdletBase
4545
/// Defines the set of audit action groups that would be used by the auditing settings
4646
/// </summary>
4747
[Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "The set of the audit action groups")]
48-
[ValidateNotNullOrEmpty]
48+
[ValidateNotNull]
4949
public AuditActionGroups[] AuditActionGroup { get; set; }
5050

5151
/// <summary>
5252
/// Defines the set of audit actions that would be used by the auditing settings
5353
/// </summary>
5454
[Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "The set of the audit actions")]
55-
[ValidateNotNullOrEmpty]
55+
[ValidateNotNull]
5656
public string[] AuditAction { get; set; }
5757

5858
/// <summary>

src/ResourceManager/Sql/Commands.Sql/Auditing/Cmdlet/SetAzureSqlServerAuditingPolicy.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public class SetAzureSqlServerAuditingPolicy : SqlDatabaseServerAuditingCmdletBa
4040
/// Defines the set of audit action groups that would be used by the auditing settings
4141
/// </summary>
4242
[Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "The set of the audit action groups")]
43-
[ValidateNotNullOrEmpty]
43+
[ValidateNotNull]
4444
public AuditActionGroups[] AuditActionGroup { get; set; }
4545

4646
[Parameter(Mandatory = false)]

src/ResourceManager/Sql/Commands.Sql/Auditing/Cmdlet/SqlDatabaseAuditingCmdletBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public abstract class SqlDatabaseAuditingCmdletBase : AzureSqlDatabaseCmdletBase
3333
/// <returns>A model object</returns>
3434
protected override AuditingPolicyModel GetEntity()
3535
{
36-
if (AuditType == AuditType.NotSet)
36+
if (!MyInvocation.BoundParameters.ContainsKey(SecurityConstants.AuditType))
3737
{
3838
AuditType = AuditType.Blob;
3939
var blobPolicy = GetEntityHelper();

src/ResourceManager/Sql/Commands.Sql/Auditing/Cmdlet/SqlDatabaseServerAuditingCmdletBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public abstract class SqlDatabaseServerAuditingCmdletBase : AzureSqlCmdletBase<A
4040
/// <returns>A model object</returns>
4141
protected override AuditingPolicyModel GetEntity()
4242
{
43-
if (AuditType == AuditType.NotSet)
43+
if (!MyInvocation.BoundParameters.ContainsKey(SecurityConstants.AuditType))
4444
{
4545
AuditType = AuditType.Blob;
4646
var blobPolicy = GetEntityHelper();

src/ResourceManager/Sql/Commands.Sql/Auditing/Model/AuditingPolicyModel.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,8 @@ public enum AuditStateType { Enabled, Disabled, New };
2626

2727
/// <summary>
2828
/// The possible values of auditing type.
29-
/// NotSet is a temporary value in order to mark that AuditType parameter was not provided at all by the user. It is only initial value, and won't be returned to the user.
3029
/// </summary>
31-
public enum AuditType { NotSet, Table, Blob };
30+
public enum AuditType { Table, Blob };
3231

3332
/// <summary>
3433
/// The base class that defines the core properties of an auditing policy

src/ResourceManager/Sql/Commands.Sql/Common/SecurityConstants.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,17 @@ public class SecurityConstants
3434
public const string Login_Failure = "Login_Failure";
3535
public const string TransactionManagement_Success = "TransactionManagement_Success";
3636
public const string TransactionManagement_Failure = "TransactionManagement_Failure";
37+
38+
public const string All = "All";
39+
public const string None = "None";
40+
41+
// Parameters Names:
42+
public const string AuditType = "AuditType";
3743
public const string StorageKeyType = "StorageKeyType";
3844
public const string EventType = "EventType";
3945
public const string AuditActionGroup = "AuditActionGroup";
4046
public const string AuditAction = "AuditAction";
4147

42-
public const string All = "All";
43-
public const string None = "None";
44-
4548
public static readonly Dictionary<string, AuditEventType> AuditEventsToAuditEventType = new Dictionary
4649
<string, AuditEventType>
4750
{

0 commit comments

Comments
 (0)