protected virtual string GetHostUrlForRequest(IMediaResourceUploadRequest request)
    {
      SessionConfigUrlBuilder sessionBuilder = new SessionConfigUrlBuilder(this.restGrammar, this.webApiGrammar);
      string hostUrl = sessionBuilder.BuildUrlString(request.SessionSettings);

      return hostUrl;
    }
    public void TestBuildNullSessionConfig()
    {
      SessionConfigUrlBuilder builder = new SessionConfigUrlBuilder(RestServiceGrammar.ItemWebApiV2Grammar(), WebApiUrlParameters.ItemWebApiV2UrlParameters());
      TestDelegate action = () => builder.BuildUrlString(null);

      Assert.Throws<ArgumentNullException>(action);
    }
    public void TestBuildBaseUrlWithoutSite()
    {
      SessionConfigUrlBuilder builder = new SessionConfigUrlBuilder(RestServiceGrammar.ItemWebApiV2Grammar(), WebApiUrlParameters.ItemWebApiV2UrlParameters());
      SessionConfigPOD mockConfig = new SessionConfigPOD();
      mockConfig.InstanceUrl = "localhost";
      mockConfig.ItemWebApiVersion = "v1";
      mockConfig.Site = null;

      string result = builder.BuildUrlString(mockConfig);
      string expected = "http://localhost/-/item/v1";

      Assert.AreEqual(expected, result);
    }
 private string GetWebApiEndpointUrlForSession(ISessionConfig sessionConfig)
 {
   SessionConfigUrlBuilder builder = new SessionConfigUrlBuilder(this.restGrammar, this.webApiGrammar);
   return builder.BuildUrlString(sessionConfig);
 }