public IDeleteItemsByQueryRequest DeepCopyDeleteItemRequest()
        {
            ISessionConfig   sessionConfig   = null;
            IScopeParameters scopeParameters = null;
            string           database        = null;
            string           query           = null;

            if (null != this.SessionConfig)
            {
                sessionConfig = this.SessionConfig.SessionConfigShallowCopy();
            }

            if (null != this.ScopeParameters)
            {
                scopeParameters = this.ScopeParameters.ShallowCopyScopeParametersInterface();
            }

            if (null != this.Database)
            {
                database = this.Database;
            }

            if (null != this.SitecoreQuery)
            {
                query = this.SitecoreQuery;
            }

            return(new DeleteItemByQueryParameters(sessionConfig, scopeParameters, database, query));
        }
        public virtual IReadItemsByPathRequest DeepCopyGetItemByPathRequest()
        {
            ISessionConfig    connection     = null;
            IItemSource       itemSrc        = null;
            IQueryParameters  payload        = null;
            IPagingParameters pagingSettings = null;

            if (null != this.SessionSettings)
            {
                connection = this.SessionSettings.SessionConfigShallowCopy();
            }

            if (null != this.ItemSource)
            {
                itemSrc = this.ItemSource.ShallowCopy();
            }

            if (null != this.QueryParameters)
            {
                payload = this.QueryParameters.DeepCopy();
            }

            if (null != this.PagingSettings)
            {
                pagingSettings = this.PagingSettings.PagingParametersCopy();
            }


            return(new ReadItemByPathParameters(connection, itemSrc, payload, pagingSettings, this.ItemPath));
        }
Example #3
0
        public void SetUp()
        {
            IRestServiceGrammar  restGrammar   = RestServiceGrammar.ItemWebApiV2Grammar();
            IWebApiUrlParameters webApiGrammar = WebApiUrlParameters.ItemWebApiV2UrlParameters();

            this.builderForId    = new ItemByIdUrlBuilder(restGrammar, webApiGrammar);
            this.builderForPath  = new ItemByPathUrlBuilder(restGrammar, webApiGrammar);
            this.builderForQuery = new ItemByQueryUrlBuilder(restGrammar, webApiGrammar);

            this.defaultSource = new ItemSourcePOD(null, null, null);

            SessionConfigPOD mutableSessionConfig = new SessionConfigPOD();

            mutableSessionConfig.ItemWebApiVersion = "v1";
            mutableSessionConfig.InstanceUrl       = "tumba.yumba";
            mutableSessionConfig.Site = null;
            this.sessionConfig        = mutableSessionConfig;


            mutableSessionConfig = new SessionConfigPOD();
            mutableSessionConfig.ItemWebApiVersion = "v234";
            mutableSessionConfig.InstanceUrl       = "trololo.net";
            mutableSessionConfig.Site = "/sitecore/shell";
            this.sitecoreShellConfig  = mutableSessionConfig;
        }
Example #4
0
 public DeleteItemByQueryParameters(ISessionConfig sessionConfig,
                                    string database, string sitecoreQuery)
 {
     this.SessionConfig = sessionConfig;
     this.Database      = database;
     this.SitecoreQuery = sitecoreQuery;
 }
Example #5
0
        public virtual ISitecoreSearchRequest DeepCopySitecoreSearchRequest()
        {
            ISessionConfig    connection     = null;
            IItemSource       itemSrc        = null;
            IQueryParameters  payload        = null;
            IPagingParameters pagingSettings = null;

            if (null != this.SessionSettings)
            {
                connection = this.SessionSettings.SessionConfigShallowCopy();
            }

            if (null != this.ItemSource)
            {
                itemSrc = this.ItemSource.ShallowCopy();
            }

            if (null != this.QueryParameters)
            {
                payload = this.QueryParameters.DeepCopy();
            }

            if (null != this.PagingSettings)
            {
                pagingSettings = this.PagingSettings.PagingParametersCopy();
            }

            return(new SitecoreSearchParameters(connection, itemSrc, payload, pagingSettings, this.SortParameters, this.IncludeStandardTemplateFields, this.Term));
        }
    public ScApiSession(
      ISessionConfig config,
      IWebApiCredentials credentials,
      IMediaLibrarySettings mediaSettings,
      ItemSource defaultSource = null,
      HttpMessageHandler httpMessageHandler = null)
    {
      if (null == config)
      {
        throw new ArgumentNullException("ScApiSession.config cannot be null");
      }

      this.sessionConfig = config.SessionConfigShallowCopy();
      this.requestMerger = new UserRequestMerger(this.sessionConfig, defaultSource);

      if (null != credentials)
      {
        this.credentials = credentials.CredentialsShallowCopy();
      }

      if (null != mediaSettings)
      {
        this.mediaSettings = mediaSettings.MediaSettingsShallowCopy();
      }

      this.httpClient = httpMessageHandler == null ? new HttpClient() : new HttpClient(httpMessageHandler);
    }
 private void ValidateRequest(ISessionConfig request)
 {
   if (null == request)
   {
     throw new ArgumentNullException("WebApiUrlBuilder.GetUrlForRequest() : do not pass null");
   }
 }
        public void TestCustomMediaHook()
        {
            SessionConfigPOD sessionConfig = new SessionConfigPOD();

            sessionConfig.InstanceUrl       = "htTP://CUSTOM.hoST";
            sessionConfig.ItemWebApiVersion = "v1";
            sessionConfig.Site             = "/sitecore/shell";
            sessionConfig.MediaLibraryRoot = "/SiteCore/Other Media Library";
            sessionConfig.DefaultMediaResourceExtension = "ZIP";
            sessionConfig.MediaPrefix = "~/MediaXyZ";

            ISessionConfig        sessionSettings = sessionConfig;
            IMediaLibrarySettings mediaSettings   = sessionConfig;


            ItemSource itemSource = LegacyConstants.DefaultSource();

            this.builder = new MediaItemUrlBuilder(this.restGrammar, this.webApiGrammar, sessionSettings, mediaSettings, itemSource);

            var customBuilder =
                new MediaItemUrlBuilder(
                    this.restGrammar,
                    this.webApiGrammar,
                    sessionSettings,
                    mediaSettings,
                    itemSource);


            string result   = customBuilder.BuildUrlStringForPath("~/mediaXYZ/1.png.ashx", null);
            string expected = "http://custom.host/~/mediaxyz/1.png.ashx?db=web&la=en";

            Assert.AreEqual(expected, result);
        }
 private void ValidateRequest(ISessionConfig request)
 {
     if (null == request)
     {
         throw new ArgumentNullException("WebApiUrlBuilder.GetUrlForRequest() : do not pass null");
     }
 }
        public ScApiSession(
            ISessionConfig config,
            IWebApiCredentials credentials,
            IMediaLibrarySettings mediaSettings,
            ItemSource defaultSource = null)
        {
            if (null == config)
            {
                throw new ArgumentNullException("ScApiSession.config cannot be null");
            }

            this.sessionConfig = config.SessionConfigShallowCopy();
            this.requestMerger = new UserRequestMerger(this.sessionConfig, defaultSource);

            if (null != credentials)
            {
                this.credentials = credentials.CredentialsShallowCopy();
            }

            if (null != mediaSettings)
            {
                this.mediaSettings = mediaSettings.MediaSettingsShallowCopy();
            }

            this.httpClient = new HttpClient();
        }
        public virtual ICreateItemByIdRequest DeepCopyCreateItemByIdRequest()
        {
            ISessionConfig       connection       = null;
            IItemSource          itemSrc          = null;
            IQueryParameters     payload          = null;
            CreateItemParameters createParameters = null;

            if (null != this.SessionSettings)
            {
                connection = this.SessionSettings.SessionConfigShallowCopy();
            }

            if (null != this.ItemSource)
            {
                itemSrc = this.ItemSource.ShallowCopy();
            }

            if (null != this.QueryParameters)
            {
                payload = this.QueryParameters.DeepCopy();
            }

            if (null != this.CreateParameters)
            {
                createParameters = this.CreateParameters.ShallowCopy();
            }

            return(new CreateItemByIdParameters(connection, itemSrc, payload, createParameters, this.ItemId));
        }
Example #12
0
        public IUpdateItemByPathRequest FillUpdateItemByPathGaps(IUpdateItemByPathRequest userRequest)
        {
            IItemSource    mergedSource        = this.ItemSourceMerger.FillItemSourceGaps(userRequest.ItemSource);
            ISessionConfig mergedSessionConfig = this.SessionConfigMerger.FillSessionConfigGaps(userRequest.SessionSettings);

            return(new UpdateItemByPathParameters(mergedSessionConfig, mergedSource, userRequest.QueryParameters, userRequest.FieldsRawValuesByName, userRequest.ItemPath));
        }
Example #13
0
        public IMediaResourceDownloadRequest FillReadMediaItemGaps(IMediaResourceDownloadRequest userRequest)
        {
            IItemSource    mergedSource        = this.ItemSourceMerger.FillItemSourceGaps(userRequest.ItemSource);
            ISessionConfig mergedSessionConfig = this.SessionConfigMerger.FillSessionConfigGaps(userRequest.SessionSettings);

            return(new MediaResourceDownloadParameters(mergedSessionConfig, mergedSource, userRequest.DownloadOptions, userRequest.MediaPath));
        }
        public IDeleteItemsByIdRequest DeepCopyDeleteItemRequest()
        {
            ISessionConfig   sessionConfig   = null;
            IScopeParameters scopeParameters = null;
            string           database        = null;
            string           itemId          = null;

            if (null != this.SessionConfig)
            {
                sessionConfig = this.SessionConfig.SessionConfigShallowCopy();
            }

            if (null != this.ScopeParameters)
            {
                scopeParameters = this.ScopeParameters.ShallowCopyScopeParametersInterface();
            }

            if (null != this.Database)
            {
                database = this.Database;
            }

            if (null != this.ItemId)
            {
                itemId = this.ItemId;
            }

            return(new DeleteItemByIdParameters(sessionConfig, scopeParameters, database, itemId));
        }
        public ScApiSession(
            ISessionConfig config,
            IEntitySource entitySource,
            IScCredentials credentials,
            IMediaLibrarySettings mediaSettings,
            ItemSource defaultSource = null)
        {
            if (null == config)
            {
                throw new ArgumentNullException("ScApiSession.config cannot be null");
            }

            if (entitySource != null)
            {
                this.entitySource = entitySource.ShallowCopy();
            }

            this.sessionConfig = config.SessionConfigShallowCopy();
            this.requestMerger = new UserRequestMerger(this.sessionConfig, defaultSource, this.entitySource);

            if (null != credentials)
            {
                this.credentials = credentials.CredentialsShallowCopy();
            }

            if (null != mediaSettings)
            {
                this.mediaSettings = mediaSettings.MediaSettingsShallowCopy();
            }

            this.cookies = new CookieContainer();
            this.handler = new HttpClientHandler();
            this.handler.CookieContainer = cookies;
            this.httpClient = new HttpClient(this.handler);
        }
 public ReadRenderingHtmlParameters(ISessionConfig sessionSettings, IItemSource itemSource, IDictionary <string, string> parametersValuesByName, string sourceId, string renderingId)
 {
     this.SessionSettings        = sessionSettings;
     this.ItemSource             = itemSource;
     this.SourceId               = sourceId;
     this.RenderingId            = renderingId;
     this.ParametersValuesByName = parametersValuesByName;
 }
 public DeleteItemByPathParameters(ISessionConfig sessionConfig, IScopeParameters scopeParameters,
                                   string database, string itemPath)
 {
     this.SessionConfig   = sessionConfig;
     this.ScopeParameters = scopeParameters;
     this.Database        = database;
     this.ItemPath        = itemPath;
 }
 public ReadRenderingHtmlParameters(ISessionConfig sessionSettings, IItemSource itemSource, IDictionary<string, string> parametersValuesByName, string sourceId, string renderingId)
 {
   this.SessionSettings = sessionSettings;
   this.ItemSource = itemSource;
   this.SourceId = sourceId;
   this.RenderingId = renderingId;
   this.ParametersValuesByName = parametersValuesByName;
 }
 public DeleteItemByIdParameters(ISessionConfig sessionConfig, IScopeParameters scopeParameters,
   string database, string itemId)
 {
   this.SessionConfig = sessionConfig;
   this.ScopeParameters = scopeParameters;
   this.Database = database;
   this.ItemId = itemId;
 }
Example #20
0
        public ICreateItemByIdRequest FillCreateItemByIdGaps(ICreateItemByIdRequest userRequest)
        {
            IItemSource          mergedSource        = this.ItemSourceMerger.FillItemSourceGaps(userRequest.ItemSource);
            ISessionConfig       mergedSessionConfig = this.SessionConfigMerger.FillSessionConfigGaps(userRequest.SessionSettings);
            CreateItemParameters createParams        = new CreateItemParameters(userRequest.ItemName, userRequest.ItemTemplate, userRequest.FieldsRawValuesByName);

            return(new CreateItemByIdParameters(mergedSessionConfig, mergedSource, userRequest.QueryParameters, createParams, userRequest.ItemId));
        }
 public CreateItemByIdParameters(ISessionConfig sessionSettings, IItemSource itemSource, IQueryParameters queryParameters, CreateItemParameters createParameters, string itemId)
 {
     this.SessionSettings  = sessionSettings;
     this.ItemSource       = itemSource;
     this.ItemId           = itemId;
     this.QueryParameters  = queryParameters;
     this.CreateParameters = createParameters;
 }
 public DeleteItemByPathParameters(ISessionConfig sessionConfig, IScopeParameters scopeParameters,
   string database, string itemPath)
 {
   this.SessionConfig = sessionConfig;
   this.ScopeParameters = scopeParameters;
   this.Database = database;
   this.ItemPath = itemPath;
 }
 public DeleteItemByIdParameters(ISessionConfig sessionConfig, IScopeParameters scopeParameters,
                                 string database, string itemId)
 {
     this.SessionConfig   = sessionConfig;
     this.ScopeParameters = scopeParameters;
     this.Database        = database;
     this.ItemId          = itemId;
 }
 public UpdateItemByPathParameters(ISessionConfig sessionSettings, IItemSource itemSource, IQueryParameters queryParameters, IDictionary <string, string> fieldsRawValuesByName, string itemPath)
 {
     this.SessionSettings       = sessionSettings;
     this.ItemSource            = itemSource;
     this.ItemPath              = itemPath;
     this.QueryParameters       = queryParameters;
     this.FieldsRawValuesByName = fieldsRawValuesByName;
 }
 public DeleteItemByQueryParameters(ISessionConfig sessionConfig, IScopeParameters scopeParameters,
   string database, string sitecoreQuery)
 {
   this.SessionConfig = sessionConfig;
   this.ScopeParameters = scopeParameters;
   this.Database = database;
   this.SitecoreQuery = sitecoreQuery;
 }
 public UpdateItemByPathParameters(ISessionConfig sessionSettings, IItemSource itemSource, IQueryParameters queryParameters, IDictionary<string, string> fieldsRawValuesByName, string itemPath)
 {
   this.SessionSettings = sessionSettings;
   this.ItemSource = itemSource;
   this.ItemPath = itemPath;
   this.QueryParameters = queryParameters;
   this.FieldsRawValuesByName = fieldsRawValuesByName;
 }
 public CreateItemByIdParameters(ISessionConfig sessionSettings, IItemSource itemSource, IQueryParameters queryParameters, CreateItemParameters createParameters, string itemId)
 {
   this.SessionSettings = sessionSettings;
   this.ItemSource = itemSource;
   this.ItemId = itemId;
   this.QueryParameters = queryParameters;
   this.CreateParameters = createParameters;
 }
 public ScTestApiSession(
     ISessionConfig config,
     IWebApiCredentials credentials,
     IMediaLibrarySettings mediaSettings,
     ItemSource defaultSource = null) :
     base(config, credentials, mediaSettings, defaultSource)
 {
     this.GetPublicKeyInvocationsCount = 0;
 }
 public ScTestApiSession(
   ISessionConfig config,
   IWebApiCredentials credentials,
   IMediaLibrarySettings mediaSettings,
   ItemSource defaultSource = null) :
   base(config, credentials, mediaSettings, defaultSource)
 {
   this.GetPublicKeyInvocationsCount = 0;
 }
        public ICreateEntityRequest FillCreateEntityGaps(ICreateEntityRequest userRequest)
        {
            IEntitySource newSource = this.EntitySourceMerger.FillEntitySourceGaps(userRequest.EntitySource);

            ISessionConfig mergedSessionConfig = this.SessionConfigMerger.FillSessionConfigGaps(userRequest.SessionSettings);

            ChangeEntitiesParameters newRequest = new ChangeEntitiesParameters(userRequest.EntityID, userRequest.FieldsRawValuesByName, userRequest.ParametersRawValuesByName, newSource, mergedSessionConfig);

            return(newRequest);
        }
        public IReadEntityByIdRequest FillReadEntityByIdGaps(IReadEntityByIdRequest userRequest)
        {
            IEntitySource newSource = this.EntitySourceMerger.FillEntitySourceGaps(userRequest.EntitySource);

            ISessionConfig mergedSessionConfig = this.SessionConfigMerger.FillSessionConfigGaps(userRequest.SessionSettings);

            ReadEntityByIdParameters newRequest = new ReadEntityByIdParameters(userRequest.EntityID, newSource, userRequest.ParametersRawValuesByName, mergedSessionConfig);

            return(newRequest);
        }
Example #32
0
        public void TearDown()
        {
            this.builderForId    = null;
            this.builderForPath  = null;
            this.builderForQuery = null;

            this.sessionConfig       = null;
            this.sitecoreShellConfig = null;
            this.defaultSource       = null;
        }
    public void TearDown()
    {
      this.builderForId = null;
      this.builderForPath = null;
      this.builderForQuery = null;

      this.sessionConfig = null;
      this.sitecoreShellConfig = null;
      this.defaultSource = null;
    }
Example #34
0
        public IMediaResourceUploadRequest FillUploadMediaGaps(IMediaResourceUploadRequest userRequest)
        {
            IItemSource mergedSource = this.ItemSourceMerger.FillItemSourceGapsForMediaUpload(userRequest.ItemSource);

            ISessionConfig mergedSessionConfig = this.SessionConfigMerger.FillSessionConfigGaps(userRequest.SessionSettings);

            UploadMediaOptions createMediaParameters = userRequest.UploadOptions.ShallowCopy();

            return(new MediaResourceUploadParameters(mergedSessionConfig, mergedSource, createMediaParameters));
        }
Example #35
0
        public virtual string BuildUrlString(ISessionConfig request)
        {
            this.ValidateRequest(request);

            string autocompletedInstanceUrl = SessionConfigValidator.AutocompleteInstanceUrlForcingHttps(request.InstanceUrl);

            string result =
                autocompletedInstanceUrl + this.sscGrammar.ItemSSCEndpoint;

            return(result.ToLowerInvariant());
        }
 public MediaResourceUploadParameters
 (
   ISessionConfig sessionSettings,
   IItemSource itemSource,
   UploadMediaOptions uploadOptions
 )
 {
   this.SessionSettings = sessionSettings;
   this.ItemSource = itemSource;
   this.UploadOptions = uploadOptions;
 }
    private string GetWebApiActionEndpointUrlForSession(string actionName, ISessionConfig sessionConfig)
    {
      string hostWithSite = this.GetWebApiEndpointUrlForSession(sessionConfig);

      string result = hostWithSite +
                      this.restGrammar.PathComponentSeparator +
                      this.webApiGrammar.ItemWebApiActionsEndpoint +
                      actionName;

      return result;
    }
        private string GetWebApiActionEndpointUrlForSession(string actionName, ISessionConfig sessionConfig)
        {
            string hostWithSite = this.GetWebApiEndpointUrlForSession(sessionConfig);

            string result = hostWithSite +
                            this.restGrammar.PathComponentSeparator +
                            this.webApiGrammar.ItemWebApiActionsEndpoint +
                            actionName;

            return(result);
        }
Example #39
0
 public MediaResourceUploadParameters
 (
     ISessionConfig sessionSettings,
     IItemSource itemSource,
     UploadMediaOptions uploadOptions
 )
 {
     this.SessionSettings = sessionSettings;
     this.ItemSource      = itemSource;
     this.UploadOptions   = uploadOptions;
 }
        private string GetSSCActionEndpointUrlForSession(string actionName, ISessionConfig sessionConfig)
        {
            string hostWithSite = this.GetSSCEndpointUrlForSession(sessionConfig);

            string result = hostWithSite +
                            this.restGrammar.PathComponentSeparator +
                            this.sscGrammar.ItemSSCAuthEndpoint +
                            actionName;

            return(result);
        }
Example #41
0
 public UploadMediaUrlBuilder(
     IRestServiceGrammar restGrammar,
     IWebApiUrlParameters webApiGrammar,
     ISessionConfig sessionConfig,
     IMediaLibrarySettings mediaSettings
     )
 {
     this.mediaSettings = mediaSettings;
     this.restGrammar   = restGrammar;
     this.mediaSettings = mediaSettings;
     this.webApiGrammar = webApiGrammar;
 }
 public UploadMediaUrlBuilder(
   IRestServiceGrammar restGrammar,
   IWebApiUrlParameters webApiGrammar,
   ISessionConfig sessionConfig,
   IMediaLibrarySettings mediaSettings
 )
 {
   this.mediaSettings = mediaSettings;
   this.restGrammar = restGrammar;
   this.mediaSettings = mediaSettings;
   this.webApiGrammar = webApiGrammar;
 }
Example #43
0
        public IDeleteItemsByQueryRequest FillDeleteItemByQueryGaps(IDeleteItemsByQueryRequest userRequest)
        {
            string databse = userRequest.Database;

            if (string.IsNullOrEmpty(databse))
            {
                databse = this.ItemSourceMerger.DefaultSource.Database;
            }
            ISessionConfig mergedSessionConfig = this.SessionConfigMerger.FillSessionConfigGaps(userRequest.SessionConfig);

            return(new DeleteItemByQueryParameters(mergedSessionConfig, userRequest.ScopeParameters, databse, userRequest.SitecoreQuery));
        }
 public ReadItemsByIdParameters(
   ISessionConfig sessionSettings, 
   IItemSource itemSource, 
   IQueryParameters queryParameters, 
   IPagingParameters pagingSettings,
   string itemId)
 {
   this.SessionSettings = sessionSettings;
   this.ItemSource = itemSource;
   this.ItemId = itemId;
   this.QueryParameters = queryParameters;
   this.PagingSettings = pagingSettings;
 }
    public void SetUp()
    {
      this.credentials = new WebApiCredentialsPOD(
        "alex.fergusson", 
        "man u is a champion");

      this.mediaSettings = new MediaLibrarySettings(
        "/sitecore/media library",
        "ashx",
        "~/media/");

      this.localhostConnection = new SessionConfig("localhost");
    }
 public MediaResourceDownloadParameters
 (
   ISessionConfig sessionSettings,
   IItemSource itemSource,
   IDownloadMediaOptions downloadOptions,
   string mediaPath
 )
 {
   this.SessionSettings = sessionSettings;
   this.ItemSource = itemSource;
   this.MediaPath = mediaPath;
   this.DownloadOptions = downloadOptions;
 }
 public ReadItemByQueryParameters(
   ISessionConfig sessionSettings,
   IItemSource itemSource,
   IQueryParameters queryParameters,
   IPagingParameters pagingSettings,
   string sitecoreQuery)
 {
   this.SessionSettings = sessionSettings;
   this.ItemSource = itemSource;
   this.SitecoreQuery = sitecoreQuery;
   this.QueryParameters = queryParameters;
   this.PagingSettings = pagingSettings;
 }
    public ISessionConfig FillSessionConfigGaps(ISessionConfig userConfig)
    {
      if (null == userConfig)
      {
        return this.defaultSessionConfig;
      }

      var result = new SessionConfigPOD();
      result.InstanceUrl = userConfig.InstanceUrl ?? this.defaultSessionConfig.InstanceUrl;
      result.Site = userConfig.Site ?? this.defaultSessionConfig.Site;
      result.ItemWebApiVersion = userConfig.ItemWebApiVersion ?? this.defaultSessionConfig.ItemWebApiVersion;

      return result;
    }
    public void SetUp()
    {
      IRestServiceGrammar restGrammar = RestServiceGrammar.ItemWebApiV2Grammar();
      IWebApiUrlParameters webApiGrammar = WebApiUrlParameters.ItemWebApiV2UrlParameters();

      this.builder = new ItemByQueryUrlBuilder(restGrammar, webApiGrammar);

      SessionConfigPOD mutableSession = new SessionConfigPOD ();
      mutableSession.InstanceUrl = "http://mobiledev1ua1.dk.sitecore.net:722";
      mutableSession.ItemWebApiVersion = "v13";
      mutableSession.Site = null;
      this.sessionConfig = mutableSession;

      this.payload = new QueryParameters( PayloadType.Full, null, null );
    }
    public MediaItemUrlBuilder(
      IRestServiceGrammar restGrammar,
      IWebApiUrlParameters webApiGrammar,
      ISessionConfig sessionConfig,
      IMediaLibrarySettings mediaSettings,
      IItemSource itemSource)
    {
      this.itemSource = itemSource;
      this.restGrammar = restGrammar;
      this.webApiGrammar = webApiGrammar;
      this.mediaSettings = mediaSettings;
      this.sessionConfig = sessionConfig;

      this.Validate();
    }
    public void SetUp()
    {
      IRestServiceGrammar restGrammar = RestServiceGrammar.ItemWebApiV2Grammar();
      IWebApiUrlParameters webApiGrammar = WebApiUrlParameters.ItemWebApiV2UrlParameters();

      this.builder = new ItemByIdUrlBuilder(restGrammar, webApiGrammar);

      SessionConfigPOD mutableSessionConfig = new SessionConfigPOD();
      mutableSessionConfig.ItemWebApiVersion = "v1";
      mutableSessionConfig.InstanceUrl = "sitecore.net";
      mutableSessionConfig.Site = null;
      this.sessionConfig = mutableSessionConfig;


      mutableSessionConfig = new SessionConfigPOD();
      mutableSessionConfig.ItemWebApiVersion = "v234";
      mutableSessionConfig.InstanceUrl = "mobiledev1ua1.dk.sitecore.net:7119";
      mutableSessionConfig.Site = "/sitecore/shell";
      this.sitecoreShellConfig = mutableSessionConfig;

      this.payload = new QueryParameters(PayloadType.Min, null, null);
    }
    public virtual string BuildUrlString(ISessionConfig request)
    {
      this.ValidateRequest(request);

      string autocompletedInstanceUrl = SessionConfigValidator.AutocompleteInstanceUrl(request.InstanceUrl);
      string escapedVersion = UrlBuilderUtils.EscapeDataString(request.ItemWebApiVersion);

      string result =
        autocompletedInstanceUrl;

      result +=
        this.webApiGrammar.ItemWebApiEndpoint +
        escapedVersion;

      if (!string.IsNullOrEmpty(request.Site))
      {
        string escapedSite = UrlBuilderUtils.EscapeDataString(request.Site);
        result +=
          escapedSite;
      }

      return result.ToLowerInvariant();
    }
    public void SetUp()
    {
      IRestServiceGrammar restGrammar = RestServiceGrammar.ItemWebApiV2Grammar();
      IWebApiUrlParameters webApiGrammar = WebApiUrlParameters.ItemWebApiV2UrlParameters();

      this.builderForId = new ItemByIdUrlBuilder(restGrammar, webApiGrammar);
      this.builderForPath = new ItemByPathUrlBuilder(restGrammar, webApiGrammar);
      this.builderForQuery = new ItemByQueryUrlBuilder(restGrammar, webApiGrammar);

      this.defaultSource = new ItemSourcePOD(null, null, null);

      SessionConfigPOD mutableSessionConfig = new SessionConfigPOD();
      mutableSessionConfig.ItemWebApiVersion = "v1";
      mutableSessionConfig.InstanceUrl = "tumba.yumba";
      mutableSessionConfig.Site = null;
      this.sessionConfig = mutableSessionConfig;


      mutableSessionConfig = new SessionConfigPOD();
      mutableSessionConfig.ItemWebApiVersion = "v234";
      mutableSessionConfig.InstanceUrl = "trololo.net";
      mutableSessionConfig.Site = "/sitecore/shell";
      this.sitecoreShellConfig = mutableSessionConfig;
    }
 public void TearDown()
 {
   this.builder = null;
   this.sessionConfig = null;
 }
 public string GetAuthenticateActionUrlForSession(ISessionConfig sessionConfig)
 {
   return this.GetWebApiActionEndpointUrlForSession(
     this.webApiGrammar.ItemWebApiAuthenticateAction,
     sessionConfig);
 }
 public string GetHashedMediaUrlAction(ISessionConfig sessionConfig)
 {
   return this.GetWebApiActionEndpointUrlForSession(
     this.webApiGrammar.ItemWebApiGetHashFormediaContentAction, 
     sessionConfig);
 }
 private string GetWebApiEndpointUrlForSession(ISessionConfig sessionConfig)
 {
   SessionConfigUrlBuilder builder = new SessionConfigUrlBuilder(this.restGrammar, this.webApiGrammar);
   return builder.BuildUrlString(sessionConfig);
 }
 public void TearDown()
 {
   this.mediaSettings = null;
   this.credentials = null;
   this.localhostConnection = null;
 }
 public UserRequestMerger(ISessionConfig defaultSessionConfig, IItemSource defaultSource)
 {
   this.ItemSourceMerger = new ItemSourceFieldMerger(defaultSource);
   this.SessionConfigMerger = new SessionConfigMerger(defaultSessionConfig);
 }
    public SessionConfigMerger(ISessionConfig defaultSessionConfig)
    {
      this.defaultSessionConfig = defaultSessionConfig;

      this.Validate();
    }