public void ErrorSetKeyTest()
        {
            // Mock the should process to return true
            commandRuntimeMock.Setup(cr => cr.ShouldProcess(KeyName, It.IsAny <string>())).Returns(true);

            PSKeyVaultKey expected = keyBundle;

            keyVaultClientMock.Setup(kv => kv.UpdateKey(VaultName, KeyName, string.Empty,
                                                        It.Is <PSKeyVaultKeyAttributes>(kt => kt.Enabled == keyAttributes.Enabled &&
                                                                                        kt.Expires == keyAttributes.Expires &&
                                                                                        kt.NotBefore == keyAttributes.NotBefore &&
                                                                                        kt.KeyType == keyAttributes.KeyType &&
                                                                                        kt.KeyOps == keyAttributes.KeyOps)))
            .Throws(new Exception("exception")).Verifiable();

            try
            {
                cmdlet.ExecuteCmdlet();
            }
            catch { }

            // Assert
            keyVaultClientMock.VerifyAll();
            commandRuntimeMock.Verify(f => f.WriteObject(It.IsAny <PSKeyVaultKey>()), Times.Never());
        }
        public override void ExecuteCmdlet()
        {
            PSKeyVaultKey keyBundle = null;

            if (InputObject != null)
            {
                VaultName = InputObject.VaultName.ToString();
            }
            else if (!string.IsNullOrEmpty(ResourceId))
            {
                var parsedResourceId = new ResourceIdentifier(ResourceId);
                VaultName = parsedResourceId.ResourceName;
            }

            if (!string.IsNullOrEmpty(Version))
            {
                keyBundle = DataServiceClient.GetKey(VaultName, Name, Version);
                WriteObject(keyBundle);
            }
            else if (IncludeVersions)
            {
                keyBundle = DataServiceClient.GetKey(VaultName, Name, string.Empty);
                if (keyBundle != null)
                {
                    WriteObject(new PSKeyVaultKeyIdentityItem(keyBundle));
                    GetAndWriteKeyVersions(VaultName, Name, keyBundle.Version);
                }
            }
            else if (InRemovedState)
            {
                if (string.IsNullOrEmpty(Name) || WildcardPattern.ContainsWildcardCharacters(Name))
                {
                    GetAndWriteDeletedKeys(VaultName, Name);
                }
                else
                {
                    PSDeletedKeyVaultKey deletedKeyBundle = DataServiceClient.GetDeletedKey(VaultName, Name);
                    WriteObject(deletedKeyBundle);
                }
            }
            else
            {
                if (string.IsNullOrEmpty(Name) || WildcardPattern.ContainsWildcardCharacters(Name))
                {
                    GetAndWriteKeys(VaultName, Name);
                }
                else
                {
                    keyBundle = DataServiceClient.GetKey(VaultName, Name, string.Empty);
                    WriteObject(keyBundle);
                }
            }

            if (!string.IsNullOrEmpty(OutFile) && keyBundle != null)
            {
                DownloadKey(keyBundle.Key, OutFile);
            }
        }
Esempio n. 3
0
        public override void ExecuteCmdlet()
        {
            PSKeyVaultKey keyBundle = null;

            if (InputObject != null)
            {
                HsmName = InputObject.VaultName;
            }
            else if (!string.IsNullOrEmpty(ResourceId))
            {
                var parsedResourceId = new ResourceIdentifier(ResourceId);
                HsmName = parsedResourceId.ResourceName;
            }

            if (!string.IsNullOrEmpty(Version))
            {
                keyBundle = this.Track2DataClient.GetManagedHsmKey(HsmName, Name, Version);
                WriteObject(keyBundle);
            }
            else if (IncludeVersions.IsPresent)
            {
                WriteObject(this.Track2DataClient.GetManagedHsmKeyAllVersions(HsmName, Name), true);
            }
            else if (InRemovedState.IsPresent)
            {
                if (string.IsNullOrEmpty(Name) || WildcardPattern.ContainsWildcardCharacters(Name))
                {
                    WriteObject(KVSubResourceWildcardFilter(
                                    Name, this.Track2DataClient.GetManagedHsmDeletedKeys(HsmName)),
                                true);
                }
                else
                {
                    PSDeletedKeyVaultKey deletedKeyBundle = this.Track2DataClient.GetManagedHsmDeletedKey(HsmName, Name);
                    WriteObject(deletedKeyBundle);
                }
            }
            else
            {
                if (string.IsNullOrEmpty(Name) || WildcardPattern.ContainsWildcardCharacters(Name))
                {
                    WriteObject(KVSubResourceWildcardFilter(
                                    Name, this.Track2DataClient.GetManagedHsmKeys(HsmName)),
                                true);
                }
                else
                {
                    keyBundle = this.Track2DataClient.GetManagedHsmKey(HsmName, Name, string.Empty);
                    WriteObject(keyBundle);
                }
            }

            if (!string.IsNullOrEmpty(OutFile) && keyBundle != null)
            {
                DownloadKey(keyBundle.Key, OutFile);
            }
        }
        public override void ExecuteCmdlet()
        {
            if (InputObject != null)
            {
                VaultName = InputObject.VaultName;
                Name      = InputObject.Name;
            }

            if (ShouldProcess(Name, Properties.Resources.RecoverKey))
            {
                PSKeyVaultKey recoveredKey = DataServiceClient.RecoverKey(VaultName, Name);

                WriteObject(recoveredKey);
            }
        }
Esempio n. 5
0
        public override void ExecuteCmdlet()
        {
            if (InputObject != null)
            {
                HsmName = InputObject.VaultName;
                Name    = InputObject.Name;
            }

            if (ShouldProcess(Name, Properties.Resources.RecoverKey))
            {
                PSKeyVaultKey recoveredKey = this.Track2DataClient.RecoverManagedHsmKey(HsmName, Name);

                WriteObject(recoveredKey);
            }
        }
        private void GetKeyVaultKey()
        {
            PSKeyVaultKey keyBundle = null;

            if (!string.IsNullOrEmpty(Version))
            {
                keyBundle = DataServiceClient.GetKey(VaultName, Name, Version);
                WriteObject(keyBundle);
            }
            else if (IncludeVersions)
            {
                keyBundle = DataServiceClient.GetKey(VaultName, Name, string.Empty);
                if (keyBundle != null)
                {
                    WriteObject(new PSKeyVaultKeyIdentityItem(keyBundle));
                    GetAndWriteKeyVersions(VaultName, Name, keyBundle.Version);
                }
            }
            else if (InRemovedState)
            {
                if (string.IsNullOrEmpty(Name) || WildcardPattern.ContainsWildcardCharacters(Name))
                {
                    GetAndWriteDeletedKeys(VaultName, Name);
                }
                else
                {
                    PSDeletedKeyVaultKey deletedKeyBundle = DataServiceClient.GetDeletedKey(VaultName, Name);
                    WriteObject(deletedKeyBundle);
                }
            }
            else
            {
                if (string.IsNullOrEmpty(Name) || WildcardPattern.ContainsWildcardCharacters(Name))
                {
                    GetAndWriteKeys(VaultName, Name);
                }
                else
                {
                    keyBundle = DataServiceClient.GetKey(VaultName, Name, string.Empty);
                    WriteObject(keyBundle);
                }
            }

            if (!string.IsNullOrEmpty(OutFile) && keyBundle != null)
            {
                DownloadKey(keyBundle.Key, OutFile);
            }
        }
        private void GetHsmKey()
        {
            PSKeyVaultKey keyBundle = null;

            if (!string.IsNullOrEmpty(Version))
            {
                keyBundle = this.Track2DataClient.GetManagedHsmKey(HsmName, Name, Version);
                WriteObject(keyBundle);
            }
            else if (IncludeVersions.IsPresent)
            {
                WriteObject(this.Track2DataClient.GetManagedHsmKeyAllVersions(HsmName, Name), true);
            }
            else if (InRemovedState.IsPresent)
            {
                if (string.IsNullOrEmpty(Name) || WildcardPattern.ContainsWildcardCharacters(Name))
                {
                    WriteObject(KVSubResourceWildcardFilter(
                                    Name, this.Track2DataClient.GetManagedHsmDeletedKeys(HsmName)),
                                true);
                }
                else
                {
                    PSDeletedKeyVaultKey deletedKeyBundle = this.Track2DataClient.GetManagedHsmDeletedKey(HsmName, Name);
                    WriteObject(deletedKeyBundle);
                }
            }
            else
            {
                if (string.IsNullOrEmpty(Name) || WildcardPattern.ContainsWildcardCharacters(Name))
                {
                    WriteObject(KVSubResourceWildcardFilter(
                                    Name, this.Track2DataClient.GetManagedHsmKeys(HsmName)),
                                true);
                }
                else
                {
                    keyBundle = this.Track2DataClient.GetManagedHsmKey(HsmName, Name, string.Empty);
                    WriteObject(keyBundle);
                }
            }

            if (!string.IsNullOrEmpty(OutFile) && keyBundle != null)
            {
                DownloadKey(keyBundle.Key, OutFile);
            }
        }
        public void CannotRemoveKeyWithoutShouldProcessOrForceConfirmationTest()
        {
            // Should process but without force
            commandRuntimeMock.Setup(cr => cr.ShouldProcess(KeyName, It.IsAny <string>())).Returns(true);

            PSKeyVaultKey expected = null;

            cmdlet.Name     = KeyName;
            cmdlet.PassThru = true;
            cmdlet.ExecuteCmdlet();

            // Write object should be called with null input
            commandRuntimeMock.Verify(f => f.WriteObject(expected), Times.Once());
            cmdlet.ExecuteCmdlet();

            // Write object should be called with null input
            commandRuntimeMock.Verify(f => f.WriteObject(expected), Times.Exactly(2));
        }
        public void CanSetKeyAttributeTest()
        {
            // Mock the should process to return true
            commandRuntimeMock.Setup(cr => cr.ShouldProcess(KeyName, It.IsAny <string>())).Returns(true);

            PSKeyVaultKey expected = keyBundle;

            keyVaultClientMock.Setup(kv => kv.UpdateKey(VaultName, KeyName, string.Empty,
                                                        It.Is <PSKeyVaultKeyAttributes>(kt => kt.Enabled == keyAttributes.Enabled &&
                                                                                        kt.Expires == keyAttributes.Expires &&
                                                                                        kt.NotBefore == keyAttributes.NotBefore &&
                                                                                        kt.KeyType == keyAttributes.KeyType &&
                                                                                        kt.KeyOps == keyAttributes.KeyOps)))
            .Returns(expected).Verifiable();

            cmdlet.ExecuteCmdlet();

            // Assert
            keyVaultClientMock.VerifyAll();
            commandRuntimeMock.Verify(f => f.WriteObject(expected), Times.Once());
        }
        public SetKeyVaultKeyAttributeTests()
        {
            base.SetupTest();

            keyAttributes = new PSKeyVaultKeyAttributes(true, DateTime.Now, DateTime.Now, null, null, null);
            webKey        = new WebKey.JsonWebKey();
            keyBundle     = new PSKeyVaultKey()
            {
                Attributes = keyAttributes, Key = webKey, Name = KeyName, VaultName = VaultName, Version = KeyVersion
            };

            cmdlet = new UpdateAzureKeyVaultKey()
            {
                CommandRuntime    = commandRuntimeMock.Object,
                DataServiceClient = keyVaultClientMock.Object,
                VaultName         = VaultName,
                Enable            = (bool)keyAttributes.Enabled,
                Expires           = keyAttributes.Expires,
                NotBefore         = keyAttributes.NotBefore,
                Name     = KeyName,
                PassThru = true
            };
        }