コード例 #1
0
        public void ExecuteGeneratesXmlOutputForXml()
        {
            var farmService   = this.mocks.StrictMock <IFarmService>();
            var cruiseRequest = this.mocks.StrictMock <ICruiseRequest>();
            var projectSpec   = this.mocks.StrictMock <IProjectSpecifier>();
            var request       = this.mocks.StrictMock <IRequest>();
            var snapshot      = this.GenerateSnapshot();

            SetupResult.For(cruiseRequest.ProjectSpecifier).Return(projectSpec);
            SetupResult.For(cruiseRequest.RetrieveSessionToken()).Return(null);
            SetupResult.For(cruiseRequest.Request).Return(request);
            SetupResult.For(request.GetText("view")).Return("xml");
            SetupResult.For(farmService.TakeStatusSnapshot(projectSpec, null)).Return(snapshot);

            this.mocks.ReplayAll();
            var plugin   = new ProjectStatusAction(farmService);
            var response = plugin.Execute(cruiseRequest);

            this.mocks.VerifyAll();
            Assert.IsInstanceOf <XmlFragmentResponse>(response);
            var actual   = response as XmlFragmentResponse;
            var expected = snapshot.ToString();

            Assert.AreEqual(expected, actual.ResponseFragment);
        }
コード例 #2
0
        public void ExecuteGeneratesJsonOutputForJson()
        {
            var farmService   = this.mocks.StrictMock <IFarmService>();
            var cruiseRequest = this.mocks.StrictMock <ICruiseRequest>();
            var projectSpec   = this.mocks.StrictMock <IProjectSpecifier>();
            var request       = this.mocks.StrictMock <IRequest>();
            var snapshot      = this.GenerateSnapshot();

            SetupResult.For(cruiseRequest.ProjectSpecifier).Return(projectSpec);
            SetupResult.For(cruiseRequest.RetrieveSessionToken()).Return(null);
            SetupResult.For(cruiseRequest.Request).Return(request);
            SetupResult.For(request.GetText("view")).Return("json");
            SetupResult.For(farmService.TakeStatusSnapshot(projectSpec, null)).Return(snapshot);

            this.mocks.ReplayAll();
            var plugin   = new ProjectStatusAction(farmService);
            var response = plugin.Execute(cruiseRequest);

            this.mocks.VerifyAll();
            Assert.IsInstanceOf <JsonFragmentResponse>(response);
            var actual = response as JsonFragmentResponse;
            var date   = string.Format(System.Globalization.CultureInfo.CurrentCulture, "{0}, {1}, {2}, {3}, {4}, {5}",
                                       snapshot.TimeOfSnapshot.Year,
                                       snapshot.TimeOfSnapshot.Month - 1,
                                       snapshot.TimeOfSnapshot.Day,
                                       snapshot.TimeOfSnapshot.Hour,
                                       snapshot.TimeOfSnapshot.Minute,
                                       snapshot.TimeOfSnapshot.Second);
            var expected = "{time:new Date(" + date + ")," +
                           "id:'" + snapshot.Identifier.ToString() + "'," +
                           "name:'root'," +
                           "status:'CompletedSuccess'" +
                           ",description:'Root level'," +
                           "started:new Date(2010, 0, 2, 3, 4, 5)," +
                           "completed:new Date(2010, 0, 2, 3, 4, 6)," +
                           "children:[{id:'" + snapshot.ChildItems[0].Identifier.ToString() + "',name:'child',status:'Cancelled'}]}";

            Assert.AreEqual(expected, actual.ResponseFragment);
        }
コード例 #3
0
        public void ExecuteGeneratesXmlOutputForXml()
        {
            var farmService   = this.mocks.Create <IFarmService>(MockBehavior.Strict).Object;
            var cruiseRequest = this.mocks.Create <ICruiseRequest>(MockBehavior.Strict).Object;
            var projectSpec   = this.mocks.Create <IProjectSpecifier>(MockBehavior.Strict).Object;
            var request       = this.mocks.Create <IRequest>(MockBehavior.Strict).Object;
            var snapshot      = this.GenerateSnapshot();

            Mock.Get(cruiseRequest).SetupGet(_cruiseRequest => _cruiseRequest.ProjectSpecifier).Returns(projectSpec);
            Mock.Get(cruiseRequest).Setup(_cruiseRequest => _cruiseRequest.RetrieveSessionToken()).Returns((string)null);
            Mock.Get(cruiseRequest).SetupGet(_cruiseRequest => _cruiseRequest.Request).Returns(request);
            Mock.Get(request).Setup(_request => _request.GetText("view")).Returns("xml");
            Mock.Get(farmService).Setup(_farmService => _farmService.TakeStatusSnapshot(projectSpec, null)).Returns(snapshot);

            var plugin   = new ProjectStatusAction(farmService);
            var response = plugin.Execute(cruiseRequest);

            this.mocks.VerifyAll();
            Assert.IsInstanceOf <XmlFragmentResponse>(response);
            var actual   = response as XmlFragmentResponse;
            var expected = snapshot.ToString();

            Assert.AreEqual(expected, actual.ResponseFragment);
        }