/// <summary>
 /// Verify that the received properties match their expected values
 /// </summary>
 /// <param name="actual">The properties object that needs to be checked</param>
 /// <param name="expected">The expected value of the properties object</param>
 private static void VerifyDataMaskingRuleInformation(DataMaskingRuleProperties actual, DataMaskingRuleProperties expected)
 {
     Assert.Equal(expected.Id, actual.Id);
     Assert.Equal(expected.TableName, actual.TableName);
     Assert.Equal(expected.ColumnName, actual.ColumnName);
     Assert.Equal(expected.MaskingFunction, actual.MaskingFunction);
     Assert.Equal(expected.NumberFrom, actual.NumberFrom);
     Assert.Equal(expected.NumberTo, actual.NumberTo);
     Assert.Equal(expected.PrefixSize, actual.PrefixSize);
     Assert.Equal(expected.ReplacementString, actual.ReplacementString);
     Assert.Equal(expected.SuffixSize, actual.SuffixSize);
 }
        /// <summary>
        /// Create a data masking rule
        /// </summary>
        /// <param name="uniqueId">A unique id to act as a seed for the ruleId, the masked table name and the masked column name</param>
        /// <returns>A DataMaskingRuleProperties describing the rule</returns>
        private DataMaskingRuleProperties MakeRuleProperties(int uniqueId, string table, string column)
        {
            DataMaskingRuleProperties props = new DataMaskingRuleProperties();

            props.Id                = "ruleId" + uniqueId;
            props.SchemaName        = "DBO";
            props.TableName         = table;
            props.ColumnName        = column;
            props.MaskingFunction   = "Default";
            props.NumberFrom        = null;
            props.NumberTo          = null;
            props.PrefixSize        = null;
            props.SuffixSize        = null;
            props.ReplacementString = null;
            return(props);
        }
        /// <summary>
        /// Create a data masking rule
        /// </summary>
        /// <param name="uniqueId">A unique id to act as a seed for the ruleId, the masked table name and the masked column name</param>
        /// <returns>A DataMaskingRuleProperties describing the rule</returns>
        private DataMaskingRuleProperties MakeRuleProperties(int uniqueId)
        {
            DataMaskingRuleProperties props = new DataMaskingRuleProperties();

            props.Id                = "ruleId" + uniqueId;
            props.TableName         = "t-name " + uniqueId;
            props.ColumnName        = "col-name " + uniqueId;
            props.AliasName         = null;
            props.MaskingFunction   = "Default";
            props.NumberFrom        = null;
            props.NumberTo          = null;
            props.PrefixSize        = null;
            props.SuffixSize        = null;
            props.ReplacementString = null;
            return(props);
        }
Exemple #4
0
        /// <summary>
        /// Takes the cmdlets model object and transform it to the policy as expected by the endpoint
        /// </summary>
        /// <param name="model">The data masking Policy model object</param>
        /// <returns>The communication model object</returns>
        private DataMaskingRuleCreateOrUpdateParameters PolicizeDatabaseDataRuleModel(DatabaseDataMaskingRuleModel model)
        {
            DataMaskingRuleCreateOrUpdateParameters updateParameters = new DataMaskingRuleCreateOrUpdateParameters();
            DataMaskingRuleProperties properties = new DataMaskingRuleProperties();

            updateParameters.Properties = properties;
            properties.Id                = model.RuleId;
            properties.TableName         = model.TableName;
            properties.ColumnName        = model.ColumnName;
            properties.MaskingFunction   = PolicizeMaskingFunction(model.MaskingFunction);
            properties.PrefixSize        = (model.PrefixSize == null) ? null : model.PrefixSize.ToString();
            properties.ReplacementString = model.ReplacementString;
            properties.SuffixSize        = (model.SuffixSize == null) ? null : model.SuffixSize.ToString();
            properties.NumberFrom        = (model.NumberFrom == null) ? null : model.NumberFrom.ToString();
            properties.NumberTo          = (model.NumberTo == null) ? null : model.NumberTo.ToString();
            return(updateParameters);
        }
        /// <summary>
        /// Transforms a data masking rule to its cmdlet model representation
        /// </summary>
        private DatabaseDataMaskingRuleModel ModelizeDatabaseDataMaskingRule(DataMaskingRule rule, string resourceGroup, string serverName, string databaseName)
        {
            DatabaseDataMaskingRuleModel dbRuleModel = new DatabaseDataMaskingRuleModel();
            DataMaskingRuleProperties    properties  = rule.Properties;

            dbRuleModel.ResourceGroupName = resourceGroup;
            dbRuleModel.ServerName        = serverName;
            dbRuleModel.DatabaseName      = databaseName;
            dbRuleModel.ColumnName        = properties.ColumnName;
            dbRuleModel.TableName         = properties.TableName;
            dbRuleModel.SchemaName        = properties.SchemaName;
            dbRuleModel.MaskingFunction   = ModelizeMaskingFunction(properties.MaskingFunction);
            dbRuleModel.PrefixSize        = ModelizeNullableUint(properties.PrefixSize);
            dbRuleModel.ReplacementString = properties.ReplacementString;
            dbRuleModel.SuffixSize        = ModelizeNullableUint(properties.SuffixSize);
            dbRuleModel.NumberFrom        = ModelizeNullableDouble(properties.NumberFrom);
            dbRuleModel.NumberTo          = ModelizeNullableDouble(properties.NumberTo);
            return(dbRuleModel);
        }