예제 #1
0
 public ExecuteResult <WebsiteApiModel> New(NewWebsiteApiModel webSite)
 {
     return(_webRequest.CreateRequest(ApiResource.Website.NEW)
            .JsonResponseHandler()
            .Execute()
            .Post <WebsiteApiModel>(webSite));
 }
        public void website_should_be_add_new_website()
        {
            var testModel = new NewWebsiteApiModel
            {
                Name    = "bar.com",
                RootUrl = "http://bar.com"
            };

            var mockHttpRequest = new Mock <IHttpRequest>();

            var mockExecuter = new Mock <IExecuter>();

            mockExecuter.Setup(x => x.Post <WebsiteApiModel>(testModel))
            .Returns(new ExecuteResult <WebsiteApiModel>
            {
                Status = HttpStatusCode.OK,
                Data   = new WebsiteApiModel
                {
                    Id      = Guid.NewGuid(),
                    Name    = testModel.Name,
                    RootUrl = testModel.RootUrl
                }
            });


            mockHttpRequest.Setup(x => x.CreateRequest(ApiResource.Website.NEW)).Returns(mockHttpRequest.Object);
            mockHttpRequest.Setup(x => x.Execute()).Returns(mockExecuter.Object);

            var netsparkerClient = new NetsparkerRestClient(mockHttpRequest.Object);

            var result = netsparkerClient.WebSite()
                         .New(testModel);

            Guid notExpected = Guid.Empty;
            Guid actual      = result.Data.Id;

            Assert.AreNotEqual(notExpected, actual);
        }