public void TestPostImageReturns200_WhenTheImageIsInTheDatabase()
        {
            Guid guid = Guid.NewGuid();

            this.businessValidation.Setup(validation => validation.IsValidGetNews(this.mockNewsRepository.Object, It.IsAny <string>(), It.IsAny <DateTime>(), It.IsAny <Guid>())).Returns(Task.FromResult(true));
            this.businessValidation.Setup(validation => validation.IsValidModifyNews(this.mockNewsRepository.Object, It.IsAny <string>(), It.IsAny <DateTime>(), It.IsAny <Guid>(), It.IsAny <string>())).Returns(Task.FromResult(true));
            this.businessValidation.Setup(validation => validation.IsValidGetImageNews(this.mockImageRepository.Object, It.IsAny <string>(), It.IsAny <DateTime>(), It.IsAny <Guid>())).Returns(Task.FromResult(false));

            this.mockImageRepository.Setup(storage => storage.GetNewsImage(It.IsAny <string>(), It.IsAny <DateTime>(), It.IsAny <Guid>())).Returns(Task.FromResult(Image.FromFile("goten.png")));

            var newsImageController = new NewsImageController(this.mockNewsRepository.Object, this.mockImageRepository.Object, this.inputValidation.Object, this.businessValidation.Object);

            Image        image  = Image.FromFile("goten.png");
            MemoryStream stream = new MemoryStream();

            image.Save(stream, image.RawFormat);
            stream.Position = 0;

            var request = new HttpRequestMessage(HttpMethod.Post, GOUriBuilder.BuildAbsoluteNewsImageUri(Scheme, Host, Port, City, Date, guid.ToString()));

            request.Headers.Referrer = new Uri(GOUriBuilder.BuildAbsoluteNewsImageUri(Scheme, Host, Port, City, Date, guid.ToString()));
            request.Content          = new ByteArrayContent(stream.GetBuffer());

            newsImageController.ConfigureForTesting(request, "PostImage", new HttpRoute(GOUriBuilder.NewsImageTemplate));
            newsImageController.User = new GenericPrincipal(new GenericIdentity(DefaultNickname), null);

            HttpResponseMessage response = newsImageController.Post(City, Date, guid.ToString()).Result;

            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
        }
예제 #2
0
        public void TestGetHotNewsReturns200Ok_WhenThereAreHotNews()
        {
            this.inputValidation.Setup(validation => validation.IsValidCity(It.IsAny <string>())).Returns(true);
            this.businessValidation.Setup(validation => validation.IsValidGetHotNews(this.hotNewsStorageMock.Object, It.IsAny <string>(), It.IsAny <DateTime>())).Returns(Task.FromResult(true));
            this.hotNewsStorageMock.Setup(storage => storage.ListNews(It.IsAny <string>(), It.IsAny <DateTime>())).Returns(Task.FromResult(this.GenerateNews()));

            var hotNewsController = new HotNewsController(this.hotNewsStorageMock.Object, this.inputValidation.Object, this.businessValidation.Object);

            HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, GOUriBuilder.BuildAbsoluteDiaryEntryUri(Scheme, Host, Port, City, Date));

            request.Headers.Referrer = new Uri(GOUriBuilder.BuildAbsoluteDiaryEntryUri(Scheme, Host, Port, City, Date));

            hotNewsController.ConfigureForTesting(request, "GetHotNews", new HttpRoute(GOUriBuilder.GetHotNewsTemplate));

            HttpResponseMessage response = hotNewsController.Get(City).Result;

            HttpContent content       = response.Content;
            string      jsonContent   = content.ReadAsStringAsync().Result;
            var         actualHotNews = JsonConvert.DeserializeObject <List <NewsREST> >(jsonContent);

            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
            Assert.AreEqual(1, actualHotNews.Count);
            Assert.IsTrue(actualHotNews.First().Links.Any(link => string.Equals("self", link.Rel)));
            Assert.AreEqual(new Uri(GOUriBuilder.BuildAbsoluteNewsUri(Scheme, Host, Port, City, Date, News.Id.ToString())), actualHotNews.First().Links.First(link => string.Equals("self", link.Rel)).Href);
            Assert.IsTrue(actualHotNews.First().Links.Any(link => string.Equals("author", link.Rel)));
            Assert.AreEqual(new Uri(GOUriBuilder.BuildAbsoluteUserUri(Scheme, Host, Port, News.Author)), actualHotNews.First().Links.First(link => string.Equals("author", link.Rel)).Href);
        }
예제 #3
0
        public void TestGetReturns200_IfEverythingIsOk()
        {
            this.businessValidation.Setup(validation => validation.IsValidGetNews(this.mockNewsRepository.Object, It.IsAny <string>(), It.IsAny <DateTime>(), It.IsAny <Guid>())).Returns(Task.FromResult(true));
            this.businessValidation.Setup(validation => validation.IsValidGetVote(this.mockVoteRepository.Object, It.IsAny <string>(), It.IsAny <DateTime>(), It.IsAny <Guid>(), It.IsAny <string>())).Returns(Task.FromResult(true));

            this.mockVoteRepository.Setup(
                repository =>
                repository.GetVote(It.IsAny <string>(), It.IsAny <DateTime>(), It.IsAny <Guid>(), It.IsAny <string>()))
            .Returns(Task.FromResult(new VoteBll {
                Value = 5
            }));

            var voteController = new VoteController(this.mockNewsRepository.Object, this.mockVoteRepository.Object, this.inputValidation.Object, this.businessValidation.Object);

            var request = new HttpRequestMessage(HttpMethod.Get, GOUriBuilder.BuildAbsoluteVoteUri(Scheme, Host, Port, City, Date, Id.ToString()));

            request.Headers.Referrer = new Uri(GOUriBuilder.BuildAbsoluteVoteUri(Scheme, Host, Port, City, Date, Id.ToString()));

            voteController.ConfigureForTesting(request, "GetVote", new HttpRoute(GOUriBuilder.NewsVoteTemplate));
            voteController.User = new GenericPrincipal(new GenericIdentity(DefaultNickname), null);

            HttpResponseMessage response = voteController.Get(City, Date, Id.ToString()).Result;

            HttpContent content     = response.Content;
            string      jsonContent = content.ReadAsStringAsync().Result;
            var         actualVote  = JsonConvert.DeserializeObject <Vote>(jsonContent);

            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
            Assert.AreEqual(5, actualVote.Value);
        }
예제 #4
0
        public void TestGetUserReturns200OkWhenTheUserIsInTheDatabase()
        {
            this.inputValidation.Setup(validation => validation.IsValidNickName(It.IsAny <string>())).Returns(true);
            this.businessValidation.Setup(validation => validation.IsAuthorizedUser(It.IsAny <string>(), It.IsAny <string>())).Returns(true);
            this.businessValidation.Setup(validation => validation.IsUserCreated(this.mockUserRepository.Object, It.IsAny <string>())).Returns(Task.FromResult(true));
            this.mockUserRepository.Setup(storage => storage.GetUser(It.IsAny <string>())).Returns(Task.FromResult(User.ToUserBll(DefaultUser)));

            var userController = new UserController(this.mockUserRepository.Object, this.inputValidation.Object, this.businessValidation.Object);

            HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, GOUriBuilder.BuildAbsoluteUserUri(Scheme, Host, Port, DefaultUser.Nickname));

            request.Headers.Referrer = new Uri(GOUriBuilder.BuildAbsoluteUserUri(Scheme, Host, Port, DefaultUser.Nickname));

            userController.ConfigureForTesting(request, "GetUser", new HttpRoute(GOUriBuilder.GetUserTemplate));
            userController.User = new GenericPrincipal(new GenericIdentity(DefaultUser.Nickname), null);

            HttpResponseMessage response = userController.Get(DefaultUser.Nickname).Result;

            var content     = response.Content;
            var jsonContent = content.ReadAsStringAsync().Result;
            var actualUser  = JsonConvert.DeserializeObject <UserREST>(jsonContent);

            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
            Assert.IsTrue(new UserCompleteEqualityComparer().Equals(DefaultUser, UserREST.ToUser(actualUser)));
            Assert.IsTrue(actualUser.Links.Any());
            Assert.AreEqual("self", actualUser.Links.First().Rel);
            Assert.AreEqual(new Uri(GOUriBuilder.BuildAbsoluteUserUri(Scheme, Host, Port, DefaultUser.Nickname)), actualUser.Links.First().Href);
        }
예제 #5
0
        public void TestGetNewsReturns200OkWhenTheNewsIsInTheDatabase()
        {
            this.businessValidation.Setup(validation => validation.IsValidGetNews(this.newsStorageMock.Object, It.IsAny <string>(), It.IsAny <DateTime>(), It.IsAny <Guid>())).Returns(Task.FromResult(true));
            this.newsStorageMock.Setup(storage => storage.GetNews(It.IsAny <string>(), It.IsAny <DateTime>(), It.IsAny <Guid>())).Returns(Task.FromResult(News.ToNewsBll(Id, DefaultNews, City, DefaultUser.Nickname, DateTime.Parse(Date))));

            var newsController = new NewsController(this.newsStorageMock.Object, this.inputValidation.Object, this.businessValidation.Object);

            var request = new HttpRequestMessage(HttpMethod.Get, GOUriBuilder.BuildAbsoluteNewsUri(Scheme, Host, Port, City, Date, Id.ToString()));

            request.Headers.Referrer = new Uri(GOUriBuilder.BuildAbsoluteNewsUri(Scheme, Host, Port, City, Date, Id.ToString()));

            newsController.ConfigureForTesting(request, "ListNews", new HttpRoute(GOUriBuilder.GetNewsTemplate));

            HttpResponseMessage response = newsController.Get(City, Date, Id.ToString()).Result;

            HttpContent content     = response.Content;
            string      jsonContent = content.ReadAsStringAsync().Result;
            var         actualNews  = JsonConvert.DeserializeObject <NewsREST>(jsonContent);

            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
            Assert.IsTrue(new NewsCompleteEqualityComparer().Equals(DefaultNews, NewsREST.ToNews(actualNews)));
            Assert.IsTrue(actualNews.Links.Any(link => string.Equals("self", link.Rel)));
            Assert.AreEqual(new Uri(GOUriBuilder.BuildAbsoluteNewsUri(Scheme, Host, Port, City, Date, Id.ToString())), actualNews.Links.First(link => string.Equals("self", link.Rel)).Href);
            Assert.IsTrue(actualNews.Links.Any(link => string.Equals("author", link.Rel)));
            Assert.AreEqual(new Uri(GOUriBuilder.BuildAbsoluteUserUri(Scheme, Host, Port, NewsControllerTest.DefaultUser.Nickname)), actualNews.Links.First(link => string.Equals("author", link.Rel)).Href);
        }
예제 #6
0
        public void TestGetHotNewsReturns400BadRequest_WhenInvalidCity()
        {
            this.inputValidation.Setup(validation => validation.IsValidCity(It.IsAny <string>())).Returns(false);
            this.businessValidation.Setup(validation => validation.IsValidGetHotNews(this.hotNewsStorageMock.Object, It.IsAny <string>(), It.IsAny <DateTime>())).Returns(Task.FromResult(true));
            this.hotNewsStorageMock.Setup(storage => storage.ListNews(It.IsAny <string>(), It.IsAny <DateTime>())).Returns(Task.FromResult(new List <NewsBll>().AsEnumerable()));

            this.AssertGetFails(url: GOUriBuilder.BuildAbsoluteDiaryEntryUri(Scheme, Host, Port, City, Date), city: City, resultCode: HttpStatusCode.BadRequest);
        }
예제 #7
0
        public async Task <HttpResponseMessage> GetNews(string city, string date, string guid)
        {
            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(this.rootUri);

                return(await client.GetAsync(GOUriBuilder.BuildNewsUri(city, date, guid)));
            }
        }
예제 #8
0
        public override Uri GetUri(params string[] routeValues)
        {
            Uri requestUri = this.request.Headers.Referrer ?? this.request.RequestUri;

            return(new Uri(GOUriBuilder.BuildAbsoluteUserUri(
                               requestUri.Scheme,
                               requestUri.Host,
                               requestUri.Port,
                               routeValues[0])));
        }
예제 #9
0
        public async Task <HttpResponseMessage> DeleteUser(string usernameToDelete)
        {
            string authenticationCredentials = GOClient.EncodeTo64(string.Format("{0}:{1}", this.username, this.password));

            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(this.rootUri);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", authenticationCredentials);

                return(await client.DeleteAsync(GOUriBuilder.BuildUserUri(usernameToDelete)));
            }
        }
예제 #10
0
        public async Task <HttpResponseMessage> DeleteNews(string city, string date, string guid)
        {
            string authorizationString = GOClient.EncodeTo64(string.Format("{0}:{1}", this.username, this.password));

            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(this.rootUri);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", authorizationString);

                return(await client.DeleteAsync(GOUriBuilder.BuildNewsUri(city, date, guid)));
            }
        }
예제 #11
0
        public async Task <HttpResponseMessage> UpdateNews(string city, string date, string id, NewsClient news)
        {
            string authorizationString = GOClient.EncodeTo64(string.Format("{0}:{1}", this.username, this.password));

            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(this.rootUri);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", authorizationString);

                return(await client.PatchAsJsonAsync(GOUriBuilder.BuildNewsUri(city, date, id), news));
            }
        }
예제 #12
0
        public async Task <HttpResponseMessage> UpdateUser(UserClient userToUpdate)
        {
            string authenticationCredentials = GOClient.EncodeTo64(string.Format("{0}:{1}", this.username, this.password));

            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(this.rootUri);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", authenticationCredentials);

                return(await client.PatchAsync(GOUriBuilder.BuildUserUri(userToUpdate.Nickname), userToUpdate, new JsonMediaTypeFormatter()));
            }
        }
예제 #13
0
        private void AssertGetFails(HttpStatusCode resultCode)
        {
            var request = new HttpRequestMessage(HttpMethod.Get, GOUriBuilder.BuildAbsoluteNewsImageUri(Scheme, Host, Port, City, Date, Id.ToString()));

            request.Headers.Referrer = new Uri(GOUriBuilder.BuildAbsoluteNewsImageUri(Scheme, Host, Port, City, Date, Id.ToString()));

            var newsImageController = new NewsImageController(this.mockNewsRepository.Object, this.mockImageRepository.Object, this.inputValidation.Object, this.businessValidation.Object);

            newsImageController.ConfigureForTesting(request, "GetImage", new HttpRoute(GOUriBuilder.NewsImageTemplate));

            HttpResponseMessage response = newsImageController.Get(City, Date, Id.ToString()).Result;

            Assert.AreEqual(resultCode, response.StatusCode);
            this.mockImageRepository.Verify(storage => storage.GetNewsImage(It.IsAny <string>(), It.IsAny <DateTime>(), It.IsAny <Guid>()), Times.Never());
        }
예제 #14
0
        private void AssertDeleteFails(HttpStatusCode resultCode)
        {
            var voteController = new VoteController(this.mockNewsRepository.Object, this.mockVoteRepository.Object, this.inputValidation.Object, this.businessValidation.Object);

            var request = new HttpRequestMessage(HttpMethod.Delete, GOUriBuilder.BuildAbsoluteVoteUri(Scheme, Host, Port, City, Date, Id.ToString()));

            request.Headers.Referrer = new Uri(GOUriBuilder.BuildAbsoluteVoteUri(Scheme, Host, Port, City, Date, Id.ToString()));

            voteController.ConfigureForTesting(request, "DeleteVote", new HttpRoute(GOUriBuilder.NewsVoteTemplate));
            voteController.User = new GenericPrincipal(new GenericIdentity(DefaultNickname), null);

            HttpResponseMessage response = voteController.Delete(City, Date, Id.ToString()).Result;

            Assert.AreEqual(resultCode, response.StatusCode);
            this.mockVoteRepository.Verify(storage => storage.DeleteVote(It.IsAny <string>(), It.IsAny <DateTime>(), It.IsAny <Guid>(), It.IsAny <string>()), Times.Never());
        }
예제 #15
0
        public void TestGetThumbnailImageReturns400_WhenInputValidationFails()
        {
            Guid guid = Guid.NewGuid();

            this.inputValidation.Setup(validation => validation.ValidateNewsParameters(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())).Throws(new InputValidationException(HttpStatusCode.BadRequest, string.Empty));

            var newsThumbnailController = new NewsThumbnailImageController(this.mockNewsRepository.Object, this.mockImageRepository.Object, this.inputValidation.Object, this.businessValidation.Object);

            var request = new HttpRequestMessage(HttpMethod.Get, GOUriBuilder.BuildAbsoluteNewsThumbnailImageUri(Scheme, Host, Port, City, Date, guid.ToString()));

            request.Headers.Referrer = new Uri(GOUriBuilder.BuildAbsoluteNewsThumbnailImageUri(Scheme, Host, Port, City, Date, guid.ToString()));

            newsThumbnailController.ConfigureForTesting(request, "GetThumbnail", new HttpRoute(GOUriBuilder.NewsImageThumbnailTemplate));

            HttpResponseMessage response = newsThumbnailController.Get(City, Date, guid.ToString()).Result;

            Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode);
        }
예제 #16
0
        public void TestDeleteReturns200_IfEverythingIsOk()
        {
            this.businessValidation.Setup(validation => validation.IsValidGetNews(this.mockNewsRepository.Object, It.IsAny <string>(), It.IsAny <DateTime>(), It.IsAny <Guid>())).Returns(Task.FromResult(true));
            this.businessValidation.Setup(validation => validation.IsValidGetVote(this.mockVoteRepository.Object, It.IsAny <string>(), It.IsAny <DateTime>(), It.IsAny <Guid>(), It.IsAny <string>())).Returns(Task.FromResult(true));

            var voteController = new VoteController(this.mockNewsRepository.Object, this.mockVoteRepository.Object, this.inputValidation.Object, this.businessValidation.Object);

            var request = new HttpRequestMessage(HttpMethod.Delete, GOUriBuilder.BuildAbsoluteVoteUri(Scheme, Host, Port, City, Date, Id.ToString()));

            request.Headers.Referrer = new Uri(GOUriBuilder.BuildAbsoluteVoteUri(Scheme, Host, Port, City, Date, Id.ToString()));

            voteController.ConfigureForTesting(request, "DeleteVote", new HttpRoute(GOUriBuilder.NewsVoteTemplate));
            voteController.User = new GenericPrincipal(new GenericIdentity(DefaultNickname), null);

            HttpResponseMessage response = voteController.Delete(City, Date, Id.ToString()).Result;

            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
            this.mockVoteRepository.Verify(repository => repository.DeleteVote(It.IsAny <string>(), It.IsAny <DateTime>(), It.IsAny <Guid>(), It.IsAny <string>()), Times.Once);
        }
예제 #17
0
        public void TestPostUserReturns200OkWhenCreatesNews()
        {
            this.inputValidation.Setup(validation => validation.IsValidNews(It.IsAny <News>())).Returns(true);
            this.businessValidation.Setup(validation => validation.IsValidCreateNews(this.newsStorageMock.Object, It.IsAny <News>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <DateTime>())).Returns(Task.FromResult(true));

            var newsController = new NewsController(this.newsStorageMock.Object, this.inputValidation.Object, this.businessValidation.Object);

            HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, GOUriBuilder.BuildAbsoluteDiaryEntryUri(Scheme, Host, Port, City, Date));

            request.Headers.Referrer = new Uri(GOUriBuilder.BuildAbsoluteDiaryEntryUri(Scheme, Host, Port, City, Date));

            newsController.ConfigureForTesting(request, "PostNews", new HttpRoute(GOUriBuilder.PostNewsTemplate));
            newsController.User = new GenericPrincipal(new GenericIdentity(DefaultUser.Nickname), null);

            HttpResponseMessage response = newsController.Post(City, Date, DefaultNews).Result;

            Assert.AreEqual(HttpStatusCode.Created, response.StatusCode);
            Assert.IsTrue(new Uri(NewsUriRoot).IsBaseOf(response.Headers.Location));
            this.newsStorageMock.Verify(storage => storage.AddNews(It.IsAny <NewsBll>()), Times.Once());
        }
예제 #18
0
        public void TestPostUserReturns200OkWhenCreatesUser()
        {
            this.inputValidation.Setup(validation => validation.IsValidUser(It.IsAny <User>())).Returns(true);
            this.businessValidation.Setup(validation => validation.IsValidCreateUser(this.mockUserRepository.Object, It.IsAny <User>())).Returns(Task.FromResult(true));

            UserController userController = new UserController(this.mockUserRepository.Object, this.inputValidation.Object, this.businessValidation.Object);

            HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, GOUriBuilder.BuildCreateAbsoluteUserUri(Scheme, Host, Port));

            request.Headers.Referrer = new Uri(GOUriBuilder.BuildCreateAbsoluteUserUri(Scheme, Host, Port));

            userController.ConfigureForTesting(request, "PostUser", new HttpRoute(GOUriBuilder.GetUserTemplate));
            userController.User = new GenericPrincipal(new GenericIdentity(DefaultUser.Nickname), null);

            HttpResponseMessage response = userController.Post(DefaultUser).Result;

            Assert.AreEqual(HttpStatusCode.Created, response.StatusCode);
            Assert.AreEqual(new Uri(GOUriBuilder.BuildAbsoluteUserUri(Scheme, Host, Port, DefaultUser.Nickname)), response.Headers.Location);
            this.mockUserRepository.Verify(storage => storage.AddUser(It.IsAny <UserBll>()), Times.Once());
        }
예제 #19
0
        public void TestGetImageReturns200_WhenTheThumbnailIsInTheDatabase()
        {
            Guid guid = Guid.NewGuid();

            this.businessValidation.Setup(validation => validation.IsValidGetNews(this.mockNewsRepository.Object, It.IsAny <string>(), It.IsAny <DateTime>(), It.IsAny <Guid>())).Returns(Task.FromResult(true));
            this.businessValidation.Setup(validation => validation.IsValidGetImageNews(this.mockImageRepository.Object, It.IsAny <string>(), It.IsAny <DateTime>(), It.IsAny <Guid>())).Returns(Task.FromResult(true));

            this.mockImageRepository.Setup(storage => storage.GetNewsImage(It.IsAny <string>(), It.IsAny <DateTime>(), It.IsAny <Guid>())).Returns(Task.FromResult(Image.FromFile("goten.png")));

            var newsImageController = new NewsImageController(this.mockNewsRepository.Object, this.mockImageRepository.Object, this.inputValidation.Object, this.businessValidation.Object);

            var request = new HttpRequestMessage(HttpMethod.Get, GOUriBuilder.BuildAbsoluteNewsImageUri(Scheme, Host, Port, City, Date, guid.ToString()));

            request.Headers.Referrer = new Uri(GOUriBuilder.BuildAbsoluteNewsImageUri(Scheme, Host, Port, City, Date, guid.ToString()));

            newsImageController.ConfigureForTesting(request, "GetImage", new HttpRoute(GOUriBuilder.NewsImageTemplate));

            HttpResponseMessage response = newsImageController.Get(City, Date, guid.ToString()).Result;

            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
            Assert.AreEqual(new MediaTypeHeaderValue("image/png"), response.Content.Headers.ContentType);
        }
예제 #20
0
 public static string BuildCreateAbsoluteUserUri(string scheme, string host, int port)
 {
     return(string.Format("{0}://{1}:{2}/{3}", scheme, host, port, GOUriBuilder.BuildCreateUserUri()));
 }
예제 #21
0
 public void BuildCreateAbsoluteUserUri()
 {
     Assert.AreEqual("scheme://host:123/api/user", GOUriBuilder.BuildCreateAbsoluteUserUri(Scheme, Host, Port));
 }
예제 #22
0
 public static string BuildAbsoluteDiaryEntryUri(string scheme, string host, int port, string city, string date)
 {
     return(string.Format("{0}://{1}:{2}/{3}", scheme, host, port, GOUriBuilder.BuildDiaryEntryUri(city, date)));
 }
예제 #23
0
        public void BuildAbsoluteNewsUri()
        {
            string guid = Guid.NewGuid().ToString();

            Assert.AreEqual("scheme://host:123/api/city/Malaga/date/2015-12-05/news/" + guid, GOUriBuilder.BuildAbsoluteNewsUri(Scheme, Host, Port, "Malaga", "2015-12-05", guid));
        }
예제 #24
0
 public void BuildAbsoluteDiaryEntryUri()
 {
     Assert.AreEqual("scheme://host:123/api/city/Malaga/date/2015-12-05", GOUriBuilder.BuildAbsoluteDiaryEntryUri(Scheme, Host, Port, "Malaga", "2015-12-05"));
 }
예제 #25
0
 public void BuildAbsoluteUserUriTest()
 {
     Assert.AreEqual("scheme://host:123/api/user/alberto", GOUriBuilder.BuildAbsoluteUserUri(Scheme, Host, Port, "alberto"));
 }
예제 #26
0
 public static string BuildAbsoluteNewsUri(string scheme, string host, int port, string city, string date, string newsId)
 {
     return(string.Format("{0}://{1}:{2}/{3}", scheme, host, port, GOUriBuilder.BuildNewsUri(city, date, newsId)));
 }
예제 #27
0
 public static string BuildAbsoluteVoteUri(string scheme, string host, int port, string city, string date, string newsId)
 {
     return(string.Format("{0}/vote", GOUriBuilder.BuildAbsoluteNewsUri(scheme, host, port, city, date, newsId)));
 }