public Uri getUriForTrackId(string name) { if (cookieJar == null) { InitializeWebServices(); } string postdata = "action=play&id=" + name; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(PP_URI_GET_URL); req.Method = "POST"; req.CookieContainer = cookieJar; req.Accept = "application/json, text/javascript, */*"; req.Headers.Add("X-Requested-With", "XMLHttpRequest"); req.ContentType = "application/x-www-form-urlencoded"; Stream requestStream = req.GetRequestStream(); byte[] byteArray = Encoding.UTF8.GetBytes(postdata); requestStream.Write(byteArray, 0, byteArray.Length); requestStream.Close(); HttpWebResponse res = (HttpWebResponse)req.GetResponse(); Behavior.Assert((((int)res.StatusCode) % 100) < 4, "Error code " + res.StatusCode + " while getting track_url"); GetUrlResponse getUrlResponse = Program.binder.Unmarshal <GetUrlResponse>(res.GetResponseStream()); Behavior.Assert(getUrlResponse.success, "getUrlResponse Unsuccessful"); return(new Uri(getUrlResponse.track_link)); }
public void Redirect_To_Original_Url_Bad_Request() { Task <GetUrlResponse> awaitable = this.urlService.GetLongUrl(null); try { GetUrlResponse getUrlResponse = awaitable.Result; } catch (Exception e) { Assert.AreEqual(typeof(ApiBadRequestException), e.InnerException.GetType()); Assert.AreEqual("url can't be null", e.InnerException.Message); } }
/// <summary> /// Redirects to original URL. /// </summary> /// <param name="shortUrl"></param> /// <returns></returns> /// <exception cref="ApplicationException"></exception> public async Task <GetUrlResponse> GetLongUrl(string shortUrl) { Ensure.NotNullOrEmpty(shortUrl, "url can't be null"); CreateUrlResponse createUrlResponse = await this.keyValueStore.Get <CreateUrlResponse>(shortUrl); if (createUrlResponse == null) { throw new ApiNotFoundException($"Url {shortUrl} not found"); } GetUrlResponse getUrlResponse = GetUrlResponse.Create(createUrlResponse.LongUrl); return(getUrlResponse); }
public void Redirect_To_Original_Url() { Mock.Get(this.urlService.keyValueStore) .Setup(behavior => behavior.Get <CreateUrlResponse>("3HA")) .Returns(Task.FromResult(new CreateUrlResponse { LongUrl = "https://www.facebook.com" })); Task <GetUrlResponse> awaitable = this.urlService.GetLongUrl("3HA"); GetUrlResponse getUrlResponse = awaitable.Result; Assert.NotNull(getUrlResponse); Assert.NotNull(getUrlResponse.Url); Assert.AreEqual("https://www.facebook.com", getUrlResponse.Url); }
public void Redirect_To_Original_Url_Not_Found() { Mock.Get(this.urlService.keyValueStore) .Setup(behavior => behavior.Get <CreateUrlResponse>("3HA")) .Returns(Task.FromResult(default(CreateUrlResponse))); Task <GetUrlResponse> awaitable = this.urlService.GetLongUrl("3HA"); try { GetUrlResponse getUrlResponse = awaitable.Result; } catch (Exception e) { Assert.AreEqual(typeof(ApiNotFoundException), e.InnerException.GetType()); Assert.AreEqual("Url 3HA not found", e.InnerException.Message); } }