Example #1
0
        public void AddAndRemove()
        {
            // Arrange
            SPFarmPropertyBag.ClearCache();
            var f     = new BSPConfiguredFarm();
            var fssPO = new MSPPersistedObject(f.SettingStore);

            fssPO.Update = () =>
            {
            };

            string key = "foo";

            //  create a farm with property 'key'
            f.SettingStore.Settings[key] = "fred";

            // Act
            var target = new SPFarmPropertyBag();
            var containsBeforeCondition = target.Contains(key);

            target.Remove(key);
            var result = target.Contains(key);

            // Assert
            Assert.IsFalse(result);
            Assert.IsTrue(containsBeforeCondition);
        }
        public void GetBusinessEventTypeConfigurationNoItems()
        {
            MockConfigManager.ReturnValue = "http://localhost";
            SharePointServiceLocator.ReplaceCurrentServiceLocator(new ActivatingServiceLocator().RegisterTypeMapping <IHierarchicalConfig, MockConfigManager>());
            SPSite fakeSite = Isolate.Fake.Instance <SPSite>(Members.ReturnRecursiveFakes);

            Isolate.Swap.NextInstance <SPSite>().With(fakeSite);

            SPWeb fakeWeb = Isolate.Fake.Instance <SPWeb>(Members.ReturnRecursiveFakes);

            Isolate.WhenCalled(() => fakeSite.OpenWeb()).WillReturn(fakeWeb);

            SPFarmPropertyBag spFarmPropertyBag = Isolate.Fake.Instance <SPFarmPropertyBag>();

            Isolate.Swap.NextInstance <SPFarmPropertyBag>().With(spFarmPropertyBag);

            SPList fakeList = fakeWeb.Lists["Business Event Type Configuration"];
            SPListItemCollection fakeItems = fakeList.GetItems(new SPQuery());

            Isolate.WhenCalled(() => fakeItems.Count).WillReturn(0);

            BusinessEventTypeConfigurationRepository target = new BusinessEventTypeConfigurationRepository();

            target.GetBusinessEventTypeConfiguration("");
        }
Example #3
0
        /// <summary>
        /// Reads the configuration settings from the farm.  This is stored in the
        /// default property bag for farm, which uses a persisted object in the farm.  Avoid storing this
        /// in SPFarm.Properties, since updating SPFarm will result in the entire farm cache being flushed.
        /// </summary>
        /// <returns>the setting if it exists, otherwise throws a configuration exception</returns>
        private static string GetConfig()
        {
            var bag = new SPFarmPropertyBag(SPFarm.Local);

            if (bag.Contains(defaultCentralUrlKey))
            {
                return(bag[defaultCentralUrlKey] as string);
            }
            else
            {
                return(null);
            }
        }
        public void GetBusinessEventTypeConfigurationNullSubSiteCreationConfigurationSiteProperty()
        {
            MockConfigManager.ReturnValue = string.Empty;
            SharePointServiceLocator.ReplaceCurrentServiceLocator(new ActivatingServiceLocator().RegisterTypeMapping <IHierarchicalConfig, MockConfigManager>());

            SPFarmPropertyBag spFarmPropertyBag = Isolate.Fake.Instance <SPFarmPropertyBag>();

            Isolate.Swap.NextInstance <SPFarmPropertyBag>().With(spFarmPropertyBag);

            BusinessEventTypeConfigurationRepository target = new BusinessEventTypeConfigurationRepository();

            target.GetBusinessEventTypeConfiguration("");
        }
Example #5
0
        public void AddAndContains()
        {
            SPFarmPropertyBag.ClearCache();
            var f     = new BSPConfiguredFarm();
            var fssPO = new MSPPersistedObject(f.SettingStore);

            fssPO.Update = () =>
            {
            };

            string key    = "key";
            string value  = "value";
            var    target = new SPFarmPropertyBag();

            IPropertyBagTest.AddContains(target, key, value);
        }
        public void GetBusinessEventTypeConfigurationTest()
        {
            MockConfigManager.ReturnValue = "http://localhost";
            SharePointServiceLocator.ReplaceCurrentServiceLocator(new ActivatingServiceLocator().RegisterTypeMapping <IHierarchicalConfig, MockConfigManager>());

            SPSite fakeSite = Isolate.Fake.Instance <SPSite>(Members.ReturnRecursiveFakes);

            Isolate.Swap.NextInstance <SPSite>().With(fakeSite);

            SPWeb fakeWeb = Isolate.Fake.Instance <SPWeb>(Members.ReturnRecursiveFakes);

            Isolate.WhenCalled(() => fakeSite.OpenWeb()).WillReturn(fakeWeb);

            Guid SiteTemplateFieldId            = new Guid("84267e40-7f47-4f40-b3be-4004312eb467");
            Guid BusinessEventIdKeyFieldId      = new Guid("3D6B9777-FDA5-4639-9316-B39D3E060573");
            Guid TopLevelSiteRelativeUrlFieldId = new Guid("E87A0DE5-29D7-461e-9C83-67C2D291B54C");

            SPList fakeList = fakeWeb.Lists["Business Event Type Configuration"];
            SPListItemCollection fakeItems = fakeList.GetItems(new SPQuery());

            Isolate.WhenCalled(() => fakeItems.Count).WillReturn(1);

            var fakeItem = fakeItems[0];

            Isolate.WhenCalled(() => fakeItem[SiteTemplateFieldId]).WithExactArguments().WillReturn("TESTSTP");
            Isolate.WhenCalled(() => fakeItem[BusinessEventIdKeyFieldId]).WithExactArguments().WillReturn("TESTKEY");
            Isolate.WhenCalled(() => fakeItem[TopLevelSiteRelativeUrlFieldId]).WithExactArguments().WillReturn("http://testurl");

            SPFarmPropertyBag spFarmPropertyBag = Isolate.Fake.Instance <SPFarmPropertyBag>();

            Isolate.Swap.NextInstance <SPFarmPropertyBag>().With(spFarmPropertyBag);

            string businessEvent = string.Empty;
            BusinessEventTypeConfiguration expected = new BusinessEventTypeConfiguration();

            expected.BusinessEventIdKey      = "TESTKEY";
            expected.SiteTemplate            = "TESTSTP";
            expected.TopLevelSiteRelativeUrl = "http://testurl";

            BusinessEventTypeConfigurationRepository target = new BusinessEventTypeConfigurationRepository();
            BusinessEventTypeConfiguration           actual;

            actual = target.GetBusinessEventTypeConfiguration(businessEvent);
            Assert.AreEqual(expected.BusinessEventIdKey, actual.BusinessEventIdKey);
            Assert.AreEqual(expected.SiteTemplate, actual.SiteTemplate);
            Assert.AreEqual(expected.TopLevelSiteRelativeUrl, actual.TopLevelSiteRelativeUrl);
        }
Example #7
0
        public void ctor_WithNoSharePointContext()
        {
            //Arrange
            MSPFarm.LocalGet = () => null;
            bool expectedExceptionThrown = false;

            //Act
            try
            {
                var target = new SPFarmPropertyBag();
            }
            catch (NoSharePointContextException)
            {
                expectedExceptionThrown = true;
            }
            Assert.IsTrue(expectedExceptionThrown);
        }
        public void Execute_ReturnsNull_WithValidKeyNotSetAtFarmLevel()
        {
            //arrange
            SPFarmPropertyBag.ClearCache();
            var    args    = new ReadConfigArgs();
            string key     = ConfigManager.PnPKeyNamespace + "." + TestsConstants.TestGuidName;
            var    proxyOp = new ReadConfigurationOperation();
            var    f       = new BSPConfiguredFarm();


            args.Key    = key;
            args.Level  = (int)ConfigLevel.CurrentSPFarm;
            args.SiteId = TestsConstants.TestGuid;

            //Act
            var target = proxyOp.Execute(args);

            //Assert
            Assert.IsNull(target);
        }
        public void GetAllPartnerSites()
        {
            SharePointServiceLocator.ReplaceCurrentServiceLocator(new ActivatingServiceLocator()
                                                                  .RegisterTypeMapping <IHierarchicalConfig, MockConfigManager>()
                                                                  .RegisterTypeMapping <ILogger, MockLogger>());

            SPFarm fakeFarm = Isolate.Fake.Instance <SPFarm>();

            Isolate.WhenCalled(() => SPFarm.Local).WillReturn(fakeFarm);

            //Not sure why SPFarm.local is returning null, therefore making these next two lines necessary.
            //Seems to be related to faking the call to GetItems.
            SPFarmPropertyBag farmPropertyBag = new SPFarmPropertyBag();

            Isolate.Swap.NextInstance <SPFarmPropertyBag>().With(farmPropertyBag);

            SPSite fakeSite = Isolate.Fake.Instance <SPSite>(Members.ReturnRecursiveFakes);

            Isolate.Swap.NextInstance <SPSite>().With(fakeSite);
            SPWeb  fakeWeb  = fakeSite.OpenWeb();
            SPList fakeList = fakeWeb.Lists["Sites"];
            SPListItemCollection fakeItems = Isolate.Fake.Instance <SPListItemCollection>(Members.ReturnRecursiveFakes);
            SPListItem           fakeItem  = Isolate.Fake.Instance <SPListItem>();

            Isolate.WhenCalled(() => fakeItems[0]).WillReturn(fakeItem);
            Isolate.WhenCalled(() => fakeList.GetItems(new SPQuery())).WillReturn(fakeItems);
            Isolate.WhenCalled(() => fakeItem["PartnerDirectoryPartnerField"]).WillReturn("TestPartner");
            Isolate.WhenCalled(() => fakeItem["URL"]).WillReturn("http://localhost");
            Isolate.WhenCalled(() => fakeItem["Title"]).WillReturn("Unit Test");

            PartnerSiteDirectory target = new PartnerSiteDirectory();
            var partnerSites            = target.GetAllPartnerSites();

            Assert.AreEqual(1, partnerSites.Count());
            Assert.AreEqual("TestPartner", partnerSites.First().PartnerId);
            Assert.AreEqual("http://localhost", partnerSites.First().SiteCollectionUrl);
            Assert.AreEqual("Unit Test", partnerSites.First().Title);
        }
Example #10
0
        public void Execute_ContainsKeyReturnsTrue_WithValidKeyAtFarmLevel()
        {
            //arrange
            SPFarmPropertyBag.ClearCache();
            var    args         = new ContainsKeyDataArgs();
            string key          = ConfigManager.PnPKeyNamespace + "." + TestsConstants.TestGuidName;
            var    proxyOp      = new ContainsKeyOperation();
            var    f            = new BSPConfiguredFarm();
            string expectedData = "{92700BB6-B144-434F-A97B-5F696068A425}";

            args.Key    = key;
            args.Level  = (int)ConfigLevel.CurrentSPFarm;
            args.SiteId = TestsConstants.TestGuid;

            f.SettingStore.Settings[key] = expectedData;

            //Act
            var target = proxyOp.Execute(args);

            //Assert
            Assert.IsInstanceOfType(target, typeof(bool));
            Assert.IsTrue((bool)target);
        }
Example #11
0
 //private string encrypt;
 public LicenseRepository()
 {
     serviceLocator = SharePointServiceLocator.GetCurrent();
     configManager  = serviceLocator.GetInstance <IConfigManager>();
     Farmbag        = (SPFarmPropertyBag)configManager.GetPropertyBag(ConfigLevel.CurrentSPFarm);
 }
        /// <summary>
        /// Implements the operation for determining if a key exists in a web application
        /// </summary>
        /// <param name="args">The arguments for the contains key operation.  This must be an instance of ContainsKeyDataArgs.</param>
        /// <returns>true if the key found, false if the key is not found, or an exception representing an error if an error occurred</returns>
        public override object Execute(SPProxyOperationArgs args)
        {
            if (args == null)
            {
                throw new ArgumentNullException("args");
            }

            var containsKeyArgs = args as ContainsKeyDataArgs;

            if (containsKeyArgs == null)
            {
                string message = string.Format(CultureInfo.CurrentCulture, Resources.InvalidProxyArgumentType,
                                               typeof(ContainsKeyDataArgs).FullName, args.GetType().FullName);
                var ex = new ConfigurationException(message);
                return(ex);
            }
            else if (containsKeyArgs.Key == null)
            {
                return(new ArgumentNullException("ContainsKeyDataArgs.Key"));
            }

            try
            {
                ConfigLevel level = (ConfigLevel)containsKeyArgs.Level;

                if (containsKeyArgs.Key.StartsWith(ConfigManager.PnPKeyNamespace) == false)
                {
                    string message            = string.Format(CultureInfo.CurrentCulture, Resources.InvalidKeyName, containsKeyArgs.Key);
                    ConfigurationException ex = new ConfigurationException(message);
                    return(ex);
                }
                else
                {
                    bool contains = false;

                    if (level == ConfigLevel.CurrentSPWebApplication)
                    {
                        if (containsKeyArgs.SiteId == Guid.Empty)
                        {
                            return(new ConfigurationException(Resources.EmptySiteGuid));
                        }
                        using (SPSite site = new SPSite(containsKeyArgs.SiteId))
                        {
                            SPWebAppPropertyBag bag = new SPWebAppPropertyBag(site.WebApplication);
                            contains = bag.Contains(containsKeyArgs.Key);
                        }
                    }
                    else if (level == ConfigLevel.CurrentSPFarm)
                    {
                        var bag = new SPFarmPropertyBag(SPFarm.Local);
                        contains = bag.Contains(containsKeyArgs.Key);
                    }
                    else
                    {
                        string message            = string.Format(CultureInfo.CurrentCulture, Resources.InvalidConfigLevel, level.ToString());
                        ConfigurationException ex = new ConfigurationException(message);
                        return(ex);
                    }
                    return(contains);
                }
            }
            catch (Exception excpt)
            {
                return(excpt);
            }
        }
Example #13
0
        /// <summary>
        /// Sets the central configuration key to the value specified.
        /// </summary>
        /// <param name="url">The value of the url to set</param>
        public static void SetCentralConfigUrl(string url)
        {
            var bag = new SPFarmPropertyBag(SPFarm.Local);

            bag[defaultCentralUrlKey] = url;
        }