コード例 #1
0
        public void AddKey()
        {
            var prefix  = "/" + BasePrefix + "/";
            var keyText = "<key id=\"foo\"></key>";

            _mockSSM.Setup(client => client.PutParameterAsync(It.IsAny <PutParameterRequest>(), It.IsAny <CancellationToken>()))
            .Callback <PutParameterRequest, CancellationToken>((request, token) =>
            {
                Assert.NotNull(request.Name);
                Assert.Equal(prefix + "bar", request.Name);

                Assert.NotNull(request.Description);

                Assert.NotNull(request.Value);
                XElement parsed = XElement.Parse(request.Value);
                Assert.NotNull(parsed);

                Assert.Null(request.KeyId);
            })
            .Returns((PutParameterRequest r, CancellationToken token) =>
            {
                return(Task.FromResult(new PutParameterResponse()));
            });

            var repository = new SSMXmlRepository(_mockSSM.Object, prefix, null, null);

            XElement key = XElement.Parse(keyText);

            repository.StoreElement(key, "bar");
        }
        public void StorageModeAdvancedUpgradableTooLarge()
        {
            var keyText = GenerateKeyOfLength(8192 + 1);

            _mockSSM.Setup(client => client.PutParameterAsync(It.IsAny <PutParameterRequest>(), It.IsAny <CancellationToken>()))
            .Callback <PutParameterRequest, CancellationToken>((request, token) =>
            {
            })
            .Returns((PutParameterRequest r, CancellationToken token) => Task.FromResult(new PutParameterResponse()));

            var repository = new SSMXmlRepository(_mockSSM.Object, BasePrefix, new PersistOptions
            {
                TierStorageMode = TierStorageMode.AdvancedUpgradeable
            }, null);

            XElement key          = XElement.Parse(keyText);
            var      ex           = Assert.Throws <AggregateException>(() => repository.StoreElement(key, null));
            var      ssmException = ex.InnerExceptions.SingleOrDefault(x => x.GetType() == typeof(SSMParameterToLongException));

            Assert.NotNull(ssmException);
        }
        public void StorageModeAdvancedUpgradeableMaxSize()
        {
            var keyText = GenerateKeyOfLength(8192);

            _mockSSM.Setup(client => client.PutParameterAsync(It.IsAny <PutParameterRequest>(), It.IsAny <CancellationToken>()))
            .Callback <PutParameterRequest, CancellationToken>((request, token) =>
            {
                Assert.Equal(keyText, request.Value);
                Assert.Equal(ParameterTier.Advanced, request.Tier);
            })
            .Returns((PutParameterRequest r, CancellationToken token) => Task.FromResult(new PutParameterResponse()));

            var repository = new SSMXmlRepository(_mockSSM.Object, BasePrefix, new PersistOptions
            {
                TierStorageMode = TierStorageMode.AdvancedUpgradeable
            }, null);

            XElement key = XElement.Parse(keyText);

            repository.StoreElement(key, null);
        }
コード例 #4
0
        public void ParameterUsesGuid()
        {
            var prefix  = "MockKeyHome";
            var keyText = "<key></key>";

            _mockSSM.Setup(client => client.PutParameterAsync(It.IsAny <PutParameterRequest>(), It.IsAny <CancellationToken>()))
            .Callback <PutParameterRequest, CancellationToken>((request, token) =>
            {
                Assert.NotNull(request.Name);
                var guidStr = request.Name.Substring(request.Name.LastIndexOf('/') + 1);

                Assert.True(Guid.TryParse(guidStr, out _));
            })
            .Returns((PutParameterRequest r, CancellationToken token) =>
            {
                return(Task.FromResult(new PutParameterResponse()));
            });

            var repository = new SSMXmlRepository(_mockSSM.Object, prefix, null, null);

            XElement key = XElement.Parse(keyText);

            repository.StoreElement(key, null);
        }