Example #1
0
        public void SaveScreenshot(byte[] screenshotBytes, string format = "png")
        {
            var now = DateTime.Now;

            while (!TestRunStarted && (DateTime.Now - now).TotalSeconds < 1)
            {
                Thread.Sleep(50);
            }
            var testGuid       = TestDataProvider.GetCurrentTestRunGuid();
            var base64String   = Convert.ToBase64String(screenshotBytes);
            var testScreenshot = new TestScreenshotDto
            {
                TestGuid           = testGuid,
                Base64Data         = base64String,
                TestScreenshotInfo = new SimpleItemInfoDto
                {
                    Date     = DateTime.Now,
                    ItemName = string.Empty
                },
                Format = format
            };

            Logger.Info($"Saving screenshot (Test guid: {testScreenshot.TestGuid})");
            DataWriterService.SaveScreenshot(testScreenshot);
        }
        public void Setup()
        {
            WorkingDirectory = @"C:\ExportedData\";
            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
                { WorkingDirectory, new MockDirectoryData() }
            });

            FileManager          = new FileManager(FileSystem);
            Service              = new Mock <IOrganizationService>();
            DataTransformService = new DataTransformService();
            DataReaderService    = new DataReaderService(Service.Object, FileManager);
            DataWriterService    = new DataWriterService(Service.Object, FileManager);

            Entities = new EntityCollection(new List <Entity>
            {
                new Entity("contact", Guid.NewGuid()),
                new Entity("contact", Guid.NewGuid()),
                new Entity {
                    LogicalName = "contact", Id = Guid.NewGuid(), Attributes = new AttributeCollection {
                        { "fullname", "Joe Bloggs" }
                    }
                }
            });
        }
        public void SetStateInvokedWithCorrectArguments()
        {
            var entity = new Entity
            {
                Id          = Guid.NewGuid(),
                LogicalName = "contact",
                Attributes  = new AttributeCollection
                {
                    { "statecode", new OptionSetValue(1) },
                    { "statuscode", new OptionSetValue(2) }
                }
            };

            var request = new SetStateRequest();

            Service.Setup(s => s.Execute(It.IsAny <SetStateRequest>()))
            .Returns(new SetStateResponse())
            .Callback <SetStateRequest>(s => request = s);

            DataWriterService.SetEntityState(entity);

            Assert.AreEqual(new OptionSetValue(1), request.State);
            Assert.AreEqual(new OptionSetValue(2), request.Status);
            Assert.AreEqual(entity.ToEntityReference(), request.EntityMoniker);
        }
Example #4
0
        public void ParsesDataFromFile()
        {
            var dataBefore = new ExportedData
            {
                BaseBu     = Guid.NewGuid(),
                RecordSets = new List <ExportEntity>
                {
                    new ExportEntity {
                        Id = Guid.NewGuid()
                    },
                    new ExportEntity {
                        Id = Guid.NewGuid()
                    },
                    new ExportEntity {
                        Id = Guid.NewGuid()
                    }
                }
            };

            DataWriterService.WriteDataToFile(dataBefore, WorkingDirectory);

            var dataAfter = DataReaderService.ParseDataFromFile(WorkingDirectory);

            Assert.AreEqual(3, dataAfter.RecordSets.Count);
        }
Example #5
0
 private void GenerateReport(DateTime finishDateTime)
 {
     Action.Safe(() =>
     {
         RunRepository.OnRunFinished(finishDateTime);
         DataWriterService.SaveRun(RunRepository.CurrentRun);
         Logger.Info($"Report generated at {finishDateTime:yyyy-MM-dd HH:mm:ss.fff}");
     });
 }
Example #6
0
 private void OnTestFinish(TestRunDto testDtoWhenFinished, TestOutputDto testOutputDto)
 {
     Action.Safe(() =>
     {
         RunRepository.OnTestFinished(testDtoWhenFinished);
         var testDtoWhenStarted = TestRunsRepository.ExtractCorrespondingTestRun(testDtoWhenFinished);
         var finalTest          = TestRunProcessor.Process(testDtoWhenStarted, testDtoWhenFinished, RunRepository.RunGuid);
         Logger.Debug($"Saving test run '{finalTest.Name}' (Guid: {finalTest.TestInfo.Guid})");
         DataWriterService.SaveTestRun(finalTest, testOutputDto);
     });
 }
Example #7
0
 private void InitializeOnRunStarted(DateTime startDateTime)
 {
     Action.Safe(() =>
     {
         Logger.Debug("Reporter is initializing on run start...");
         RunRepository.OnRunStarted(ReporterSettings, startDateTime);
         TestRunsRepository.OnRunStarted();
         ResourceExtractor.ExtractReportBase(ReporterSettings.OutputPath);
         DataWriterService.SaveReportSettings(ReportSettings);
         Logger.Debug($"Reporter initializing done. Output folder is '{ReporterSettings.OutputPath}'. " +
                      $"Data service file: '{ReporterSettings.DataServiceFile}', Logger file: '{ReporterSettings.LoggerFile}'");
     });
 }
        public void DoesntAssociateWithoutTwoGuids()
        {
            var entity = new Entity
            {
                Id          = Guid.NewGuid(),
                LogicalName = "contact",
                Attributes  = new AttributeCollection
                {
                    { "interest", new EntityReference("interest", Guid.NewGuid()) }
                }
            };

            DataWriterService.AssociateManyToMany(entity);

            Service.Verify(s => s.Associate("interest", It.IsAny <Guid>(), It.IsAny <Relationship>(), It.IsAny <EntityReferenceCollection>()), Times.Never());
        }
        public void SetsEntityState()
        {
            var entity = new Entity
            {
                Id          = Guid.NewGuid(),
                LogicalName = "contact",
                Attributes  = new AttributeCollection
                {
                    { "statecode", new OptionSetValue(1) },
                    { "statuscode", new OptionSetValue(2) }
                }
            };

            DataWriterService.SetEntityState(entity);

            Service.Verify(s => s.Execute(It.IsAny <SetStateRequest>()), Times.Once());
        }
        public void WritesDataToFile()
        {
            Assert.IsFalse(FileManager.FileSystem.File.Exists(@"C:\ExportedData\ExportedData.json"));

            var exportedData = new ExportedData();

            exportedData.RecordSets = new List <ExportEntity>
            {
                new ExportEntity
                {
                    Id = Guid.NewGuid()
                }
            };

            DataWriterService.WriteDataToFile(exportedData, @"C:\ExportedData\");

            Assert.IsTrue(FileManager.FileSystem.File.Exists(@"C:\ExportedData\ExportedData.json"));
        }
        public void RemovesStatusAttributes()
        {
            var entity = new Entity
            {
                Id          = Guid.NewGuid(),
                LogicalName = "contact",
                Attributes  = new AttributeCollection
                {
                    { "statecode", new OptionSetValue(1) },
                    { "statuscode", new OptionSetValue(2) },
                    { "firstname", "Joe" }
                }
            };

            DataWriterService.RemoveStatusAttributes(entity);

            Assert.IsFalse(entity.Attributes.Contains("statecode"));
            Assert.IsFalse(entity.Attributes.Contains("statuscode"));
            Assert.IsTrue(entity.Attributes.Contains("firstname"));
        }
        public void MapsGuids()
        {
            var interestId    = Guid.NewGuid();
            var replacementId = Guid.NewGuid();
            var guidMap       = new Dictionary <Guid, Guid>
            {
                { interestId, replacementId }
            };
            var entity = new Entity
            {
                Id          = Guid.NewGuid(),
                LogicalName = "contact",
                Attributes  = new AttributeCollection
                {
                    { "interest", new EntityReference("interest", interestId) }
                }
            };

            Assert.AreNotEqual(replacementId, entity.GetAttributeValue <EntityReference>("interest").Id);

            DataWriterService.MapEntityGuids(entity, guidMap);

            Assert.AreEqual(replacementId, entity.GetAttributeValue <EntityReference>("interest").Id);
        }