public void GetSpecificWebJobRun()
        {
            // Setup
            string           runId  = "id1";
            List <WebJobRun> output = new List <WebJobRun>()
            {
                new WebJobRun()
                {
                    Id = runId, Status = "succeed"
                }
            };
            WebJobHistoryFilterOptions options = null;

            websitesClientMock.Setup(f => f.FilterWebJobHistory(It.IsAny <WebJobHistoryFilterOptions>()))
            .Returns(output)
            .Callback((WebJobHistoryFilterOptions actual) => options = actual)
            .Verifiable();
            cmdlet.RunId = runId;

            // Test
            cmdlet.ExecuteCmdlet();

            // Assert
            Assert.AreEqual(options.Name, websiteName);
            Assert.AreEqual(options.Slot, slot);
            Assert.AreEqual(options.JobName, jobName);
            Assert.AreEqual(options.RunId, runId);
            websitesClientMock.Verify(f => f.FilterWebJobHistory(options), Times.Once());
            commandRuntimeMock.Verify(f => f.WriteObject(output, true), Times.Once());
        }
        public void GetCompleteWebJobHistory()
        {
            // Setup
            List <TriggeredWebJobRun> output = new List <TriggeredWebJobRun>()
            {
                new TriggeredWebJobRun()
                {
                    Id = "id1", Status = "succeed"
                },
                new TriggeredWebJobRun()
                {
                    Id = "id2", Status = "fail"
                },
                new TriggeredWebJobRun()
                {
                    Id = "id3", Status = "succeed"
                }
            };
            WebJobHistoryFilterOptions options = null;

            websitesClientMock.Setup(f => f.FilterWebJobHistory(It.IsAny <WebJobHistoryFilterOptions>()))
            .Returns(output)
            .Callback((WebJobHistoryFilterOptions actual) => options = actual)
            .Verifiable();

            // Test
            cmdlet.ExecuteCmdlet();

            // Assert
            Assert.Equal(options.Name, websiteName);
            Assert.Equal(options.Slot, slot);
            Assert.Equal(options.JobName, jobName);
            websitesClientMock.Verify(f => f.FilterWebJobHistory(options), Times.Once());
            commandRuntimeMock.Verify(f => f.WriteObject(output, true), Times.Once());
        }
        public override void ExecuteCmdlet()
        {
            WebJobHistoryFilterOptions options = new WebJobHistoryFilterOptions()
            {
                Name    = Name,
                Slot    = Slot,
                JobName = JobName,
                Latest  = Latest,
                RunId   = RunId
            };

            WriteObject(WebsitesClient.FilterWebJobHistory(options), true);
        }