Пример #1
0
        public void TestExistingDictionarySubItem()
        {
            var main = new MainParameterization
            {
                TokenProvider = new TokenProviderParameterization
                {
                    Tokens = new Dictionary <string, TokenParameterization>()
                    {
                        {
                            "mine",
                            new TokenParameterization
                            {
                                Token = "abc"
                            }
                        }
                    }
                }
            };
            var before   = main.TokenProvider !.Tokens["mine"].Token;
            var newToken = before + before;

            ParameterOverrideHelper.InplaceOverride(
                main,
                $"tokenProvider.tokens.mine.token={newToken}");

            Assert.Equal(newToken, main.TokenProvider !.Tokens["mine"].Token);
        }
Пример #2
0
        internal async Task <MainParameterization> LoadParameterizationAsync(
            string parameterFilePath,
            IEnumerable <string> pathOverrides)
        {
            try
            {
                var deserializer = new DeserializerBuilder()
                                   .WithNamingConvention(CamelCaseNamingConvention.Instance)
                                   .Build();
                var parameterText = await _fileGateway.GetFileContentAsync(parameterFilePath);

                var parameters = deserializer.Deserialize <MainParameterization>(parameterText);

                if (parameters == null)
                {
                    throw new DeltaException($"File '{parameterFilePath}' doesn't contain valid parameters");
                }

                ParameterOverrideHelper.InplaceOverride(parameters, pathOverrides);

                parameters.Validate();

                return(parameters);
            }
            catch (JsonException ex)
            {
                throw new DeltaException(
                          $"Issue reading the parameter file '{parameterFilePath}'",
                          ex);
            }
        }
Пример #3
0
        public void TestSingleProperty()
        {
            var main   = new MainParameterization();
            var before = main.SendErrorOptIn;
            var value  = (!before).ToString().ToLower();

            ParameterOverrideHelper.InplaceOverride(main, $"sendErrorOptIn={value}");

            Assert.Equal(!before, main.SendErrorOptIn);
        }
Пример #4
0
        public void TestSinglePropertyWrongName()
        {
            var main = new MainParameterization();

            try
            {
                ParameterOverrideHelper.InplaceOverride(main, "myPropertyOrTheHighWay=42");

                Assert.True(false, "Shouldn't reach this point");
            }
            catch (DeltaException)
            {
            }
        }
Пример #5
0
        public void TestSinglePropertyWrongType()
        {
            var main = new MainParameterization();

            try
            {
                ParameterOverrideHelper.InplaceOverride(main, "sendTelemetryOptIn=42");

                Assert.True(false, "Shouldn't reach this point");
            }
            catch (DeltaException)
            {
            }
        }
Пример #6
0
        public void TestExistingPropertyPath()
        {
            var main = new MainParameterization
            {
                TokenProvider = new TokenProviderParameterization
                {
                    Login = new ServicePrincipalLoginParameterization
                    {
                        TenantId = "42",
                        ClientId = "15",
                        Secret   = "My secret"
                    }
                }
            };
            var before      = main.TokenProvider !.Login !.TenantId;
            var newTenantId = before + before;

            ParameterOverrideHelper.InplaceOverride(
                main,
                $"tokenProvider.login.tenantId={newTenantId}");

            Assert.Equal(newTenantId, main.TokenProvider !.Login !.TenantId);
        }