public void SetUp()
    {
      SessionConfigPOD mockConfig = new SessionConfigPOD();
      mockConfig.InstanceUrl = "localhost";
      mockConfig.ItemWebApiVersion = "v1";
      mockConfig.Site = null;

      var itemSource = new ItemSourcePOD("master", "fr");

      var mediaSettings = new MutableMediaLibrarySettings();

      this.builder = new MediaItemUrlBuilder(
        RestServiceGrammar.ItemWebApiV2Grammar(),
        WebApiUrlParameters.ItemWebApiV2UrlParameters(),
        mockConfig,
        mediaSettings,
        itemSource);


      SessionConfigPOD mockConfigWithShell = new SessionConfigPOD();
      mockConfigWithShell.InstanceUrl = "localhost";
      mockConfigWithShell.ItemWebApiVersion = "v1";
      mockConfigWithShell.Site = "/sitecore/shell";
      this.builderWithShellSite = new MediaItemUrlBuilder(
        RestServiceGrammar.ItemWebApiV2Grammar(),
        WebApiUrlParameters.ItemWebApiV2UrlParameters(),
        mockConfigWithShell,
        mediaSettings,
        itemSource);
    }
    public void TestBuildWithInvalidSite()
    {
      SessionConfigPOD mockConfig = new SessionConfigPOD();
      mockConfig.InstanceUrl = "localhost";
      mockConfig.ItemWebApiVersion = "v1";

      TestDelegate action = () => mockConfig.Site = "sitecore/shell";
      Assert.Throws<ArgumentException>(action, "site must starts with '/'");
    }
Esempio n. 3
0
        private SessionConfigPOD SessionConfigPODCopy()
        {
            SessionConfigPOD result = new SessionConfigPOD();

            result.InstanceUrl      = this.InstanceUrl;
            result.MediaLibraryRoot = this.MediaLibraryRoot;
            result.DefaultMediaResourceExtension = this.DefaultMediaResourceExtension;
            result.MediaPrefix = this.MediaPrefix;

            return(result);
        }
    private SessionConfigPOD SessionConfigPODCopy()
    {
      SessionConfigPOD result = new SessionConfigPOD();
      result.InstanceUrl = this.InstanceUrl;
      result.ItemWebApiVersion = this.ItemWebApiVersion;
      result.Site = this.Site;
      result.MediaLibraryRoot = this.MediaLibraryRoot;
      result.DefaultMediaResourceExtension = this.DefaultMediaResourceExtension;
      result.MediaPrefix = this.MediaPrefix;
      result.MediaDownloadStrategy = this.MediaDownloadStrategy;

      return result;
    }
    public void TestMergerReturnsDefaultSourceForNilInput()
    {
      var defaultConfig = new SessionConfigPOD();
      defaultConfig.InstanceUrl = "sitecore.net";
      defaultConfig.ItemWebApiVersion = "v1";
      defaultConfig.Site = "/sitecore/shell";


      var merger = new SessionConfigMerger(defaultConfig);
      ISessionConfig result = merger.FillSessionConfigGaps(null);

      Assert.AreSame(defaultConfig, result);
    }
    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 SessionConfigPOD SessionConfigPODCopy()
        {
            SessionConfigPOD result = new SessionConfigPOD();

            result.InstanceUrl       = this.InstanceUrl;
            result.ItemWebApiVersion = this.ItemWebApiVersion;
            result.Site             = this.Site;
            result.MediaLibraryRoot = this.MediaLibraryRoot;
            result.DefaultMediaResourceExtension = this.DefaultMediaResourceExtension;
            result.MediaPrefix           = this.MediaPrefix;
            result.MediaDownloadStrategy = this.MediaDownloadStrategy;

            return(result);
        }
    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 void SetUp()
    {
      IRestServiceGrammar restGrammar = RestServiceGrammar.ItemWebApiV2Grammar();
      IWebApiUrlParameters webApiGrammar = WebApiUrlParameters.ItemWebApiV2UrlParameters();

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

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

      ItemSource source = LegacyConstants.DefaultSource();
      this.requestMerger = new UserRequestMerger(mutableSessionConfig, source);

    }
    public void TestNullUserFieldsAreAutocompleted()
    {
      var defaultConfig = new SessionConfigPOD();
      defaultConfig.InstanceUrl = "sitecore.net";
      defaultConfig.ItemWebApiVersion = "v1";
      defaultConfig.Site = "/sitecore/shell";

      var userConfig = new SessionConfigPOD();
      userConfig.InstanceUrl = null;
      userConfig.ItemWebApiVersion = null;
      userConfig.Site = null;

      var merger = new SessionConfigMerger(defaultConfig);
      ISessionConfig result = merger.FillSessionConfigGaps(userConfig);

      Assert.AreEqual(defaultConfig, result);
      Assert.AreNotSame(defaultConfig, result);
    }
    public void TestUserFieldsHaveHigherPriority()
    {
      var defaultConfig = new SessionConfigPOD();
      defaultConfig.InstanceUrl = "sitecore.net";
      defaultConfig.ItemWebApiVersion = "v1";
      defaultConfig.Site = "/sitecore/shell";

      var userConfig = new SessionConfigPOD();
      userConfig.InstanceUrl = "http://localhost:80";
      userConfig.ItemWebApiVersion = "v100500";
      userConfig.Site = "/abra/kadabra";

      var merger = new SessionConfigMerger(defaultConfig);
      ISessionConfig result = merger.FillSessionConfigGaps(userConfig);

      Assert.AreEqual(userConfig, result);
      Assert.AreNotSame(userConfig, result);
    }
    public void SetUp()
    {
      this.webApiGrammar = WebApiUrlParameters.ItemWebApiV2UrlParameters();
      this.restGrammar = RestServiceGrammar.ItemWebApiV2Grammar();

      SessionConfigPOD sessionConfig = new SessionConfigPOD();
      sessionConfig.InstanceUrl = "http://test.host";
      sessionConfig.ItemWebApiVersion = "v1";
      sessionConfig.Site = "/sitecore/shell";
      sessionConfig.MediaLibraryRoot = "/sitecore/media library";
      sessionConfig.DefaultMediaResourceExtension = "ashx";
      sessionConfig.MediaPrefix = "~/media";

      ISessionConfig sessionSettings = sessionConfig;
      IMediaLibrarySettings mediaSettings = sessionConfig;

      ItemSource itemSource = LegacyConstants.DefaultSource();
      this.builder = new MediaItemUrlBuilder(this.restGrammar, this.webApiGrammar, sessionSettings, mediaSettings, itemSource);
    }
Esempio n. 14
0
        public override bool Equals(object obj)
        {
            if (object.ReferenceEquals(this, obj))
            {
                return(true);
            }

            SessionConfigPOD other = (SessionConfigPOD)obj;

            if (null == other)
            {
                return(false);
            }


            bool isUrlEqual = object.Equals(this.InstanceUrl, other.InstanceUrl);

            return(isUrlEqual);
        }
        public override bool Equals(object obj)
        {
            if (object.ReferenceEquals(this, obj))
            {
                return(true);
            }

            SessionConfigPOD other = (SessionConfigPOD)obj;

            if (null == other)
            {
                return(false);
            }


            bool isUrlEqual     = object.Equals(this.InstanceUrl, other.InstanceUrl);
            bool isVersionEqual = object.Equals(this.ItemWebApiVersion, other.ItemWebApiVersion);
            bool isSiteEqual    = object.Equals(this.Site, other.Site);

            return(isUrlEqual && isVersionEqual && isSiteEqual);
        }
    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 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 TestUrlAndVersionMustBeSetOnDefaultConfig()
    {
      var noInstanceUrl = new SessionConfigPOD();
      noInstanceUrl.InstanceUrl = null;
      noInstanceUrl.ItemWebApiVersion = "v1";
      noInstanceUrl.Site = "/sitecore/shell";

      var noSite = new SessionConfigPOD();
      noSite.InstanceUrl = "http://localhost:80";
      noSite.ItemWebApiVersion = "v1";
      noSite.Site = null;


      var noWebApiVersion = new SessionConfigPOD();
      noWebApiVersion.InstanceUrl = "sitecore.net";
      noWebApiVersion.ItemWebApiVersion = null;
      noWebApiVersion.Site = "/sitecore/shell";



      Assert.Throws<ArgumentNullException>(() => new SessionConfigMerger(noInstanceUrl));
      Assert.Throws<ArgumentNullException>(() => new SessionConfigMerger(noWebApiVersion));
      Assert.DoesNotThrow(() => new SessionConfigMerger(noSite));
    }
    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);
    }