public void GetPowerBIEncryptionKey_WithApiThrowingException()
        {
            // Arrange
            var client = new Mock <IPowerBIApiClient>();

            client.Setup(x => x.Admin.GetPowerBIEncryptionKeys()).Throws(new Exception("Some exception"));
            var initFactory = new TestPowerBICmdletInitFactory(client.Object);
            var cmdlet      = new GetPowerBIEncryptionKey(initFactory);

            // Act
            cmdlet.InvokePowerBICmdlet();
        }
        public void GetPowerBIEncryptionKey_WithValidResponse()
        {
            // Arrange
            var tenantKey1 = new EncryptionKey()
            {
                Id   = Guid.NewGuid(),
                Name = "KeyName1",
                KeyVaultKeyIdentifier = new Uri("http://www.contoso1.com/"),
                IsDefault             = true,
                CreatedAt             = new DateTime(1995, 1, 1),
                UpdatedAt             = new DateTime(1995, 1, 1)
            };
            var tenantKey2 = new EncryptionKey()
            {
                Id   = Guid.NewGuid(),
                Name = "KeyName2",
                KeyVaultKeyIdentifier = new Uri("http://www.contoso2.com/"),
                IsDefault             = true,
                CreatedAt             = new DateTime(1995, 1, 1),
                UpdatedAt             = new DateTime(1995, 1, 1)
            };
            var tenantKeys = new List <EncryptionKey>();

            tenantKeys.Add(tenantKey1);
            tenantKeys.Add(tenantKey2);
            var client = new Mock <IPowerBIApiClient>();

            client.Setup(x => x.Admin.GetPowerBIEncryptionKeys()).Returns(tenantKeys);
            var initFactory = new TestPowerBICmdletInitFactory(client.Object);
            var cmdlet      = new GetPowerBIEncryptionKey(initFactory);

            // Act
            cmdlet.InvokePowerBICmdlet();

            // Assert
            client.Verify(x => x.Admin.GetPowerBIEncryptionKeys(), Times.Once());
        }