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")); }
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)); }
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; }
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); }