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); }
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); }