public void SerializesAndDeserializes()
            {
                // Arrange
                var provider = new ServiceSettingsProvider();

                provider.GetSettingsWriter = () => sw;
                var context = new SettingsContext();
                var values  = new SettingsPropertyValueCollection();

                var property = SettingsUtil.CreateProperty <EncryptedSecret>("myProp");

                property.SerializeAs = SettingsSerializeAs.Xml;
                var value           = new SettingsPropertyValue(property);
                var encryptedSecret = new EncryptedSecret("mySecret", 1000);

                value.PropertyValue = encryptedSecret;
                values.Add(value);

                // Act
                provider.SetPropertyValues(context, values);

                // Arrange
                provider.GetSettingsReader = () => new StringReader(sw.ToString());
                var properties = new SettingsPropertyCollection();

                properties.Add(property);

                // Act
                var values2 = provider.GetPropertyValues(context, properties);
                var myProp  = values2["myProp"].PropertyValue;

                // Assert
                Assert.IsAssignableFrom <EncryptedSecret>(myProp);
                var encryptedSecret2 = (EncryptedSecret)myProp;

                Assert.Equal("mySecret", encryptedSecret2.Decrypt());
            }
예제 #2
0
        protected override Property.PropertyClient CreateGrpcClient()
        {
            var channel = GetClientGrpcChannel(ServiceSettingsProvider.ComposePropertyServiceUrl());

            return(new Property.PropertyClient(channel));
        }
예제 #3
0
        protected override Reminder.ReminderClient CreateGrpcClient()
        {
            var channel = GetClientGrpcChannel(ServiceSettingsProvider.ComposeSchedulerServiceUrl());

            return(new Reminder.ReminderClient(channel));
        }