public void CanNewGatewayKey()
        {
            var gatewaykey = new PSDataFactoryGatewayKey("FakedKey");

            var expectedOutput = new PSDataFactoryGateway
            {
                Name = GatewayName,
                Status = GatewayStatus.Online,
                Description = "New gateway description for test"
            };

            var fakeRequest = new HttpRequestMessage(HttpMethod.Get, "https://www.microsoft.com");

            dataFactoriesClientMock.Setup(
                f => f.RegenerateGatewayKey(ResourceGroupName, DataFactoryName, GatewayName))
                                   .Returns(gatewaykey)
                                   .Verifiable();

            _cmdlet.GatewayName = GatewayName;
            _cmdlet.DataFactoryName = DataFactoryName;

            _cmdlet.ExecuteCmdlet();

            dataFactoriesClientMock.VerifyAll();
            commandRuntimeMock.Verify(f => f.WriteObject(gatewaykey), Times.Once());
        }
        public void CanThrowWhenCreateKeyOnNonExistingGateway()
        {
            var gatewaykey = new PSDataFactoryGatewayKey("FakedKey");

            var fakeRequest = new HttpRequestMessage(HttpMethod.Get, "https://www.microsoft.com");
            var fakeResponse = new HttpResponseMessage(HttpStatusCode.NotFound);

            dataFactoriesClientMock.Setup(
                f => f.RegenerateGatewayKey(ResourceGroupName, DataFactoryName, GatewayName))
                                   .Returns(() =>
                                   {
                                       throw CloudException.Create(fakeRequest, String.Empty, fakeResponse, String.Empty);
                                   }).Verifiable();

            _cmdlet.GatewayName = GatewayName;
            _cmdlet.DataFactoryName = DataFactoryName;

            Assert.Throws<CloudException>(() => _cmdlet.ExecuteCmdlet());

            dataFactoriesClientMock.VerifyAll();
        }