public string GetSubscription_GivenSubInfoFileContentsAndSubscriptionTypeAndRenderFormat_ShouldReturnExpectedReportSubscriptionWithRenderFormat(string subscriptionType, string renderFormat) { ReportSubscription result; if (subscriptionType == "Email") { mockEmailSubInfoContents.Remove("subscriptionRenderFormat,CSV"); if (!string.IsNullOrEmpty(renderFormat)) { mockEmailSubInfoContents.Add($"subscriptionRenderFormat,{renderFormat}"); } result = SubscriptionInfoFileLoader.GetSubscription(mockEmailSubInfoContents.ToArray(), "D:/MockPath", "TestSubscription"); } else { mockFileShareSubInfoContents.Remove("subscriptionRenderFormat,CSV"); if (!string.IsNullOrEmpty(renderFormat)) { mockFileShareSubInfoContents.Add($"subscriptionRenderFormat,{renderFormat}"); } result = SubscriptionInfoFileLoader.GetSubscription(mockFileShareSubInfoContents.ToArray(), "D:/MockPath", "TestSubscription"); } return(result.ExtensionSettings.ParameterValues .Select(p1 => (ParameterValue)p1) .FirstOrDefault(p2 => subscriptionType == "FileShare" && p2.Name == "RENDER_FORMAT" || subscriptionType == "Email" && p2.Name == "RenderFormat") ?.Value); }
public void GetSubscription_GivenSubInfoFileContentsOfFileShareSubscriptionType_ShouldReturnExpectedReportSubscription() { var result = SubscriptionInfoFileLoader.GetSubscription(mockFileShareSubInfoContents.ToArray(), "D:/MockPath", "TestSubscription"); var expectedParameterString = @"PATH: \\ftpShare\Reporting" + @"FILENAME: Test_Report_@timestamp" + @"FILEEXTN: True" + @"USERNAME: ftpUserName" + @"PASSWORD: IMAPASSWORD" + @"RENDER_FORMAT: CSV" + @"WRITEMODE: Overwrite"; Assert.AreEqual(expectedParameterString, ParameterValueOrFieldReferencesToString(result.ExtensionSettings.ParameterValues)); Assert.AreEqual("daterangetype: month", ParameterValueToString(result.Parameters)); Assert.AreEqual(true, result.Enabled); Assert.AreEqual("TestSubscription", result.Name); Assert.AreEqual("D:/MockPath", result.Path); Assert.AreEqual("TestSubscription - Subscription", result.Description); Assert.AreEqual("TimedSubscription", result.EventType); Assert.AreEqual("<ScheduleDefinition xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"><StartDateTime xmlns=\"http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer\">2012-12-11T05:45:00.000+00:00</StartDateTime><MonthlyRecurrence xmlns=\"http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer\"><Days>1</Days><MonthsOfYear><January>true</January><February>true</February><March>true</March><April>true</April><May>true</May><June>true</June><July>true</July><August>true</August><September>true</September><October>true</October><November>true</November><December>true</December></MonthsOfYear></MonthlyRecurrence></ScheduleDefinition>", result.ScheduleXml); }
public void GetSubscription_GivenSubInfoFileContentsOfEmailSubscriptionType_ShouldReturnExpectedReportSubscription() { var result = SubscriptionInfoFileLoader.GetSubscription(mockEmailSubInfoContents.ToArray(), "D:/MockPath", "TestSubscription"); var expectedParameterString = "TO: [email protected]" + "CC: " + "BCC: [email protected]" + "ReplyTo: [email protected]" + "IncludeReport: True" + "RenderFormat: EXCEL" + "Subject: Test Report - @ReportName executed at @ExecutionTime" + "Comment: Your report is attached" + "IncludeLink: False" + "Priority: NORMAL"; Assert.AreEqual(expectedParameterString, ParameterValueOrFieldReferencesToString(result.ExtensionSettings.ParameterValues)); Assert.AreEqual("daterangetype: month", ParameterValueToString(result.Parameters)); Assert.AreEqual(true, result.Enabled); Assert.AreEqual("TestSubscription", result.Name); Assert.AreEqual("D:/MockPath", result.Path); Assert.AreEqual("TestSubscription - Subscription", result.Description); Assert.AreEqual("TimedSubscription", result.EventType); Assert.AreEqual("<ScheduleDefinition xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"><StartDateTime xmlns=\"http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer\">2012-12-11T05:45:00.000+00:00</StartDateTime><MonthlyRecurrence xmlns=\"http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer\"><Days>1</Days><MonthsOfYear><January>true</January><February>true</February><March>true</March><April>true</April><May>true</May><June>true</June><July>true</July><August>true</August><September>true</September><October>true</October><November>true</November><December>true</December></MonthsOfYear></MonthlyRecurrence></ScheduleDefinition>", result.ScheduleXml); }