public void ThrowArgumentNullExceptionIfArgsParamIsNull()
        {
            var originalValue = 999999;

            Action action = () => systemUnderTest.GenerateRandomString(originalValue.ToString(), null);

            action.Should().Throw <ArgumentNullException>();
        }
        public void GenerateRandomStringThatIsDifferentToTheOriginalValue()
        {
            var originalValue = "Tester";

            var newValue = systemUnderTest.GenerateRandomString(originalValue, GenerateValidArgs());

            newValue.Should().NotBe(originalValue);
        }
示例#3
0
        private string Format(string originalValue, FieldToBeObfuscated field, Dictionary <string, object> metadataParameters)
        {
            List <string> obfuscatedStrings = new List <string>();

            foreach (var arg in field.ObfuscationFormatArgs)
            {
                switch (arg.FormatType)
                {
                case ObfuscationFormatType.RandomString:
                    obfuscatedStrings.Add(optionProcessor.GenerateRandomString(originalValue, arg));
                    break;

                case ObfuscationFormatType.RandomNumber:
                    obfuscatedStrings.Add(optionProcessor.GenerateRandomNumber(originalValue, arg).ToString(CultureInfo.InvariantCulture));
                    break;

                case ObfuscationFormatType.Lookup:
                    obfuscatedStrings.Add(optionProcessor.GenerateFromLookup(originalValue, arg));
                    break;
                }
            }

            string replacementString = string.Format(CultureInfo.InvariantCulture, field.ObfuscationFormat, obfuscatedStrings.ToArray());

            if (metadataParameters != null && metadataParameters.ContainsKey("maxlength"))
            {
                var maxLength = (int)metadataParameters["maxlength"];

                if (replacementString.Length > maxLength)
                {
                    replacementString = replacementString.Substring(0, maxLength);
                }
            }

            return(replacementString);
        }