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); }
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); }
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); }
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); }
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); }
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); }
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))); } }
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]))); }
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))); } }
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))); } }
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)); } }
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())); } }
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()); }
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()); }
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); }
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); }
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()); }
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()); }
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); }
public static string BuildCreateAbsoluteUserUri(string scheme, string host, int port) { return(string.Format("{0}://{1}:{2}/{3}", scheme, host, port, GOUriBuilder.BuildCreateUserUri())); }
public void BuildCreateAbsoluteUserUri() { Assert.AreEqual("scheme://host:123/api/user", GOUriBuilder.BuildCreateAbsoluteUserUri(Scheme, Host, Port)); }
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))); }
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)); }
public void BuildAbsoluteDiaryEntryUri() { Assert.AreEqual("scheme://host:123/api/city/Malaga/date/2015-12-05", GOUriBuilder.BuildAbsoluteDiaryEntryUri(Scheme, Host, Port, "Malaga", "2015-12-05")); }
public void BuildAbsoluteUserUriTest() { Assert.AreEqual("scheme://host:123/api/user/alberto", GOUriBuilder.BuildAbsoluteUserUri(Scheme, Host, Port, "alberto")); }
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))); }
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))); }