Пример #1
0
        public void MetadataEncodingTest()
        {
            Dictionary <string, string> dict = new Dictionary <string, string>();

            dict.Add("key with space", "value1");
            dict.Add("key&%", "value2");
            MetadataReport metadataReport = new MetadataReport(TestHelpers.VALID_APPID, dict);
            string         formEncoded    = CrittercismSDK.QueueReader.ComputeFormPostBody(metadataReport);

            // We're form-encoding JSON here...gross
            // Encoded metadata string: {"key with space":"value1","key&%":"value2"}
            // URL encoded form: %7b%22key+with+space%22%3a%22value1%22%2c%22key%26%25%22%3a%22value2%22%7d
            Assert.IsTrue(formEncoded.Contains(
                              "%7b%22key+with+space%22%3a%22value1%22%2c%22key%26%25%22%3a%22value2%22%7d"));
        }
Пример #2
0
        public void Test_OrphanExtractionInformation()
        {
            var ei = WhenIHaveA <ExtractionInformation>();

            //make it an orphan
            ei.CatalogueItem.ColumnInfo.DeleteInDatabase();
            ei.CatalogueItem.ColumnInfo_ID = null;
            ei.CatalogueItem.SaveToDatabase();
            ei.CatalogueItem.ClearAllInjections();
            ei.ClearAllInjections();

            var reporter = new MetadataReport(Repository,
                                              new MetadataReportArgs(new[] { ei.CatalogueItem.Catalogue })
                                              );
            var file = reporter.GenerateWordFile(new ThrowImmediatelyDataLoadEventListener(), false);

            Assert.IsNotNull(file);
            Assert.IsTrue(File.Exists(file.FullName));
        }
Пример #3
0
        private void btnGenerateReport_Click(object sender, EventArgs e)
        {
            progressBarsUI1.Clear();

            IEnumerable <Catalogue> toReportOn = _catalogues;

            if (rbAllCatalogues.Checked)
            {
                toReportOn = toReportOn.Where(c => !c.IsInternalDataset && !c.IsColdStorageDataset && !c.IsDeprecated).ToArray();
            }
            else if (_cataloguesToRun == null || !_catalogues.Any())
            {
                return;
            }
            else
            {
                toReportOn = _cataloguesToRun.Cast <Catalogue>();
            }

            var args = new MetadataReportArgs(toReportOn)
            {
                Timeout          = _timeout,
                IncludeRowCounts = cbIncludeRowCounts.Checked,
                IncludeDistinctIdentifierCounts = cbIncludeDistinctIdentifiers.Checked,
                SkipImages                 = !cbIncludeGraphs.Checked,
                TimespanCalculator         = new DatasetTimespanCalculator(),
                IncludeDeprecatedItems     = cbIncludeDeprecatedCatalogueItems.Checked,
                IncludeInternalItems       = cbIncludeInternalCatalogueItems.Checked,
                IncludeNonExtractableItems = cbIncludeNonExtractable.Checked,
                MaxLookupRows              = (int)nMaxLookupRows.Value
            };

            _report = new MetadataReport(Activator.RepositoryLocator.CatalogueRepository, args);

            _report.RequestCatalogueImages += report_RequestCatalogueImages;
            _report.GenerateWordFileAsync(progressBarsUI1, true);

            btnGenerateReport.Enabled = false;
            btnStop.Enabled           = true;
        }
Пример #4
0
        public void Test_MetadataReport_Basic()
        {
            var cata     = WhenIHaveA <Catalogue>();
            var reporter = new MetadataReport(Repository, new MetadataReportArgs(new[] { cata }));

            cata.Description = "The Quick Brown Fox Was Quicker Than The slow tortoise";

            //setup delegate for returning images
            var bmp = new Bitmap(200, 500);

            using (var g = Graphics.FromImage(bmp))
                g.DrawRectangle(new Pen(Color.Black), 10, 10, 50, 50);

            reporter.RequestCatalogueImages += (s) => { return(new BitmapWithDescription[] { new BitmapWithDescription(bmp, "MyPicture", "Something interesting about it"), }); };

            var file = reporter.GenerateWordFile(new ThrowImmediatelyDataLoadEventListener(), false);

            Assert.IsNotNull(file);
            Assert.IsTrue(File.Exists(file.FullName));

            //refreshes the file stream status
            Assert.Greater(new FileInfo(file.FullName).Length, 0);
        }