Esempio n. 1
0
        public void Stores_Rules_As_Json_In_Directory()
        {
            Assert.IsFalse(FileManager.FileSystem.File.Exists(@"C:\MyGuids\PublishedDuplicateDetectionRules.json"));

            DuplicateRuleService.StorePublishedRules(Guids, @"C:\MyGuids");

            Assert.IsTrue(FileManager.FileSystem.File.Exists(@"C:\MyGuids\PublishedDuplicateDetectionRules.json"));
        }
Esempio n. 2
0
        public void Run()
        {
            var service = XrmCommand.GetService();

            var core  = new DuplicateRuleService(service);
            var rules = core.RetrievePublishedRules();

            core.StorePublishedRules(rules, WorkingDirectory);
        }
        public void Run()
        {
            var service = XrmCommand.GetService();

            var core  = new DuplicateRuleService(service);
            var rules = core.GetRulesFromConfig(WorkingDirectory);

            core.PublishRules(rules);
        }
Esempio n. 4
0
        public void Publish_Continues_On_Error()
        {
            Service.SetupSequence(s => s.Execute(It.IsAny <PublishDuplicateRuleRequest>()))
            .Throws(new Exception())
            .Returns(new OrganizationResponse());

            DuplicateRuleService.PublishRules(Guids);

            Service.Verify(s => s.Execute(It.IsAny <PublishDuplicateRuleRequest>()), Times.Exactly(2));
        }
Esempio n. 5
0
        public void Gets_Rules_Formatted_From_Directory()
        {
            var directory = @"C:\MyGuids";

            DuplicateRuleService.StorePublishedRules(Guids, directory);

            Assert.IsTrue(FileManager.FileSystem.File.Exists(@"C:\MyGuids\PublishedDuplicateDetectionRules.json"));

            var rules = DuplicateRuleService.GetRulesFromConfig(directory);

            CollectionAssert.AreEqual(Guids, rules);
        }
Esempio n. 6
0
        public void Retrieve_Rules_Queries_For_Published_DuplicateRules()
        {
            var query = new QueryExpression();

            Service.Setup(s => s.RetrieveMultiple(It.IsAny <QueryExpression>()))
            .Returns(new EntityCollection())
            .Callback <QueryExpression>(q => query = q);

            DuplicateRuleService.RetrievePublishedRules();

            Assert.AreEqual("duplicaterule", query.EntityName);
            Assert.AreEqual(2, query.Criteria.Conditions[0].Values[0]);
        }
Esempio n. 7
0
        public void Setup()
        {
            FileSystem = new MockFileSystem(new Dictionary <string, MockFileData>
            {
                // MockFileSystem requires a trailing slash at time of writing. See: https://github.com/tathamoddie/System.IO.Abstractions/issues/208
                { @"C:\MyGuids\", new MockDirectoryData() }
            });

            FileManager          = new FileManager(FileSystem);
            Service              = new Mock <IOrganizationService>();
            DuplicateRuleService = new DuplicateRuleService(Service.Object, FileManager);
            Guids = new List <Guid>()
            {
                Guid.NewGuid(), Guid.NewGuid()
            };
        }
Esempio n. 8
0
        public void Retrieve_Rules_Returns_Some_Rules()
        {
            Service.Setup(s => s.RetrieveMultiple(It.IsAny <QueryExpression>()))
            .Returns(new EntityCollection(new List <Entity>()
            {
                new Entity {
                    LogicalName = "duplicaterule", Id = Guids[0]
                },
                new Entity {
                    LogicalName = "duplicaterule", Id = Guids[1]
                }
            }));

            var rules = DuplicateRuleService.RetrievePublishedRules();

            Assert.IsTrue(rules.TrueForAll(r => r != Guid.Empty));
        }
Esempio n. 9
0
 public void Get_Rules_Throws_If_Directory_Not_Found()
 {
     DuplicateRuleService.GetRulesFromConfig(@"C:\SomeoneElsesGuids");
 }
Esempio n. 10
0
 public void Get_Rules_Throws_If_Directory_IsEmpty()
 {
     DuplicateRuleService.GetRulesFromConfig("");
 }
Esempio n. 11
0
 public void Stores_Rules_Throws_If_Directory_IsEmpty()
 {
     DuplicateRuleService.StorePublishedRules(Guids, "");
 }