Esempio n. 1
0
        public void ConfigureEncrypt()
        {
            var configuration = new ConfigurationContainer();

            Assert.Null(configuration.Root.Find <EncryptionExtension>());
            configuration.UseEncryptionAlgorithm()
            .ConfigureType <TestClassWithEncryptedData>()
            .Member(p => p.Password, x => x.Encrypt())
            .Member(p => p.Salary)
            .Encrypt();

            var extension = configuration.Root.Find <EncryptionExtension>();

            Assert.NotNull(extension);
            var type = configuration.GetTypeConfiguration(typeof(TestClassWithEncryptedData));

            Assert.NotNull(type);

            var member   = type.Member(nameof(TestClassWithEncryptedData.Salary));
            var property = ((ISource <MemberInfo>)member).Get();

            Assert.NotNull(property);
            Assert.Contains(property, extension.Registered);

            const int salary   = 6776;
            var       instance = new TestClassWithEncryptedData {
                Salary = salary
            };
            var support = new SerializationSupport(configuration);
            var actual  = support.Assert(instance, @"<?xml version=""1.0"" encoding=""utf-8""?><TestClassWithEncryptedData xmlns=""clr-namespace:ExtendedXmlSerializer.Tests.TestObject;assembly=ExtendedXmlSerializer.Tests""><Salary>Njc3Ng==</Salary></TestClassWithEncryptedData>");

            Assert.Equal(salary, actual.Salary);
        }
        public void SerializationRefernece()
        {
            TestClassWithEncryptedData obj = new TestClassWithEncryptedData();

            obj.Name     = "Name";
            obj.Password = "******";
            obj.Salary   = 100000;

            CheckSerializationAndDeserialization("ExtendedXmlSerializerTest.Resources.TestClassWithEncryptedData.xml", obj);
        }