public async void StatisticsHomePage_ValidateReportStructureAndAvailability() { var fakePackageReport = "[{\"PackageId\":\"A\",\"Downloads\":1},{\"PackageId\":\"B\",\"Downloads\":2}]"; var fakePackageVersionReport = "[{\"PackageId\":\"A\",\"PackageVersion\":\"1.0\",\"Downloads\":3},{\"PackageId\":\"A\",\"PackageVersion\":\"1.1\",\"Downloads\":4},{\"PackageId\":\"B\",\"PackageVersion\":\"1.0\",\"Downloads\":5}]"; var fakeReportService = new Mock<IReportService>(); fakeReportService.Setup(x => x.Load("RecentPopularity.json")).Returns(Task.FromResult(fakePackageReport)); fakeReportService.Setup(x => x.Load("RecentPopularityDetail.json")).Returns(Task.FromResult(fakePackageVersionReport)); var controller = new StatisticsController(new JsonStatisticsService(fakeReportService.Object)); var model = (StatisticsPackagesViewModel)((ViewResult) await controller.Index()).Model; int sum = 0; if (model.IsDownloadPackageAvailable) { foreach (var item in model.DownloadPackagesSummary) { sum += item.Downloads; } } if (model.IsDownloadPackageDetailAvailable) { foreach (var item in model.DownloadPackageVersionsSummary) { sum += item.Downloads; } } Assert.Equal<int>(15, sum); }
public async void StatisticsHomePage_ValidateFullReportStructureAndAvailability() { var fakePackageReport = "[{\"PackageId\":\"A\",\"Downloads\":1},{\"PackageId\":\"B\",\"Downloads\":2}]"; var fakePackageVersionReport = "[{\"PackageId\":\"A\",\"PackageVersion\":\"1.0\",\"Downloads\":3},{\"PackageId\":\"A\",\"PackageVersion\":\"1.1\",\"Downloads\":4},{\"PackageId\":\"B\",\"PackageVersion\":\"1.0\",\"Downloads\":5}]"; var fakeReportService = new Mock<IReportService>(); fakeReportService.Setup(x => x.Load("RecentPopularity.json")).Returns(Task.FromResult(fakePackageReport)); fakeReportService.Setup(x => x.Load("RecentPopularityDetail.json")).Returns(Task.FromResult(fakePackageVersionReport)); var controller = new StatisticsController(new JsonStatisticsService(fakeReportService.Object)); var model = (StatisticsPackagesViewModel)((ViewResult) await controller.Index()).Model; if (model.IsDownloadPackageAvailable) { foreach (var item in model.DownloadPackagesSummary) { if (item.PackageId == "A" && item.Downloads == 1) { continue; } else if (item.PackageId == "B" && item.Downloads == 2) { continue; } throw new Exception("unexpected data in Package report"); } } if (model.IsDownloadPackageDetailAvailable) { foreach (var item in model.DownloadPackageVersionsSummary) { if (item.PackageId == "A" && item.PackageVersion == "1.0" & item.Downloads == 3) { continue; } if (item.PackageId == "A" && item.PackageVersion == "1.1" & item.Downloads == 4) { continue; } if (item.PackageId == "B" && item.PackageVersion == "1.0" & item.Downloads == 5) { continue; } throw new Exception("unexpected data in Package report"); } } }
public async void StatisticsHomePage_ValidateFullReportStructureAndAvailability() { JArray report1 = new JArray { new JObject { { "PackageId", "A" }, { "Downloads", 1 }, }, new JObject { { "PackageId", "B" }, { "Downloads", 2 }, } }; JArray report2 = new JArray { new JObject { { "PackageId", "A" }, { "PackageVersion", "1.0" }, { "Downloads", 3 }, }, new JObject { { "PackageId", "A" }, { "PackageVersion", "1.1" }, { "Downloads", 4 }, }, new JObject { { "PackageId", "B" }, { "PackageVersion", "1.0" }, { "Downloads", 5 }, } }; JArray report3 = new JArray { new JObject { { "ClientMajorVersion", 0 }, { "ClientMinorVersion", 0 }, { "Downloads", 1349 } }, new JObject { { "ClientMajorVersion", 1 }, { "ClientMinorVersion", 0 }, { "Downloads", 1349 } } }; JArray report4 = new JArray { new JObject { { "Year", 2012 }, { "WeekOfYear", 11 }, { "Downloads", 5383767 } }, new JObject { { "Year", 2012 }, { "WeekOfYear", 12 }, { "Downloads", 5383767 } } }; var fakePackageReport = report1.ToString(); var fakePackageVersionReport = report2.ToString(); var fakeNuGetClientVersion = report3.ToString(); var fakeLast6Weeks = report4.ToString(); var fakeReportService = new Mock <IReportService>(); fakeReportService.Setup(x => x.Load("recentpopularity.json")).Returns(Task.FromResult(new StatisticsReport(fakePackageReport, DateTime.UtcNow))); fakeReportService.Setup(x => x.Load("recentpopularitydetail.json")).Returns(Task.FromResult(new StatisticsReport(fakePackageVersionReport, DateTime.UtcNow))); fakeReportService.Setup(x => x.Load("nugetclientversion.json")).Returns(Task.FromResult(new StatisticsReport(fakeNuGetClientVersion, DateTime.UtcNow))); fakeReportService.Setup(x => x.Load("last6weeks.json")).Returns(Task.FromResult(new StatisticsReport(fakeLast6Weeks, DateTime.UtcNow))); var controller = new StatisticsController(new JsonStatisticsService(fakeReportService.Object)); var model = (StatisticsPackagesViewModel)((ViewResult)await controller.Index()).Model; if (model.IsDownloadPackageAvailable) { foreach (var item in model.DownloadPackagesSummary) { if (item.PackageId == "A" && item.Downloads == 1) { continue; } else if (item.PackageId == "B" && item.Downloads == 2) { continue; } throw new Exception("unexpected data in Package report"); } } if (model.IsDownloadPackageDetailAvailable) { foreach (var item in model.DownloadPackageVersionsSummary) { if (item.PackageId == "A" && item.PackageVersion == "1.0" & item.Downloads == 3) { continue; } if (item.PackageId == "A" && item.PackageVersion == "1.1" & item.Downloads == 4) { continue; } if (item.PackageId == "B" && item.PackageVersion == "1.0" & item.Downloads == 5) { continue; } throw new Exception("unexpected data in Package report"); } } }
public async void StatisticsHomePage_ValidateReportStructureAndAvailability() { JArray report1 = new JArray { new JObject { { "PackageId", "A" }, { "Downloads", 1 }, }, new JObject { { "PackageId", "B" }, { "Downloads", 2 }, } }; JArray report2 = new JArray { new JObject { { "PackageId", "A" }, { "PackageVersion", "1.0" }, { "Downloads", 3 }, }, new JObject { { "PackageId", "A" }, { "PackageVersion", "1.1" }, { "Downloads", 4 }, }, new JObject { { "PackageId", "B" }, { "PackageVersion", "1.0" }, { "Downloads", 5 }, } }; JArray report3 = new JArray { new JObject { { "ClientMajorVersion", 0 }, { "ClientMinorVersion", 0 }, { "Downloads", 1349 } }, new JObject { { "ClientMajorVersion", 1 }, { "ClientMinorVersion", 0 }, { "Downloads", 1349 } } }; JArray report4 = new JArray { new JObject { { "Year", 2012 }, { "WeekOfYear", 41 }, { "Downloads", 5383767 } }, new JObject { { "Year", 2012 }, { "WeekOfYear", 42 }, { "Downloads", 5383767 } } }; var fakePackageReport = report1.ToString(); var fakePackageVersionReport = report2.ToString(); var fakeNuGetClientVersion = report3.ToString(); var fakeLast6Weeks = report4.ToString(); var fakeReportService = new Mock <IReportService>(); var updatedUtc = new DateTime(2001, 01, 01, 10, 20, 30); fakeReportService.Setup(x => x.Load("recentpopularity.json")).Returns(Task.FromResult(new StatisticsReport(fakePackageReport, DateTime.MinValue))); fakeReportService.Setup(x => x.Load("recentpopularitydetail.json")).Returns(Task.FromResult(new StatisticsReport(fakePackageVersionReport, null))); fakeReportService.Setup(x => x.Load("nugetclientversion.json")).Returns(Task.FromResult(new StatisticsReport(fakeNuGetClientVersion, DateTime.MinValue))); fakeReportService.Setup(x => x.Load("last6weeks.json")).Returns(Task.FromResult(new StatisticsReport(fakeLast6Weeks, updatedUtc))); var controller = new StatisticsController(new JsonStatisticsService(fakeReportService.Object)); var model = (StatisticsPackagesViewModel)((ViewResult)await controller.Index()).Model; int sum = 0; if (model.IsDownloadPackageAvailable) { foreach (var item in model.DownloadPackagesSummary) { sum += item.Downloads; } } if (model.IsDownloadPackageDetailAvailable) { foreach (var item in model.DownloadPackageVersionsSummary) { sum += item.Downloads; } } Assert.Equal(15, sum); Assert.True(model.LastUpdatedUtc.HasValue); Assert.Equal(updatedUtc, model.LastUpdatedUtc.Value); }
public async void StatisticsHomePage_ValidateReportStructureAndAvailability() { JArray report1 = new JArray { new JObject { { "PackageId", "A" }, { "Downloads", 1 }, }, new JObject { { "PackageId", "B" }, { "Downloads", 2 }, } }; JArray report2 = new JArray { new JObject { { "PackageId", "A" }, { "PackageVersion", "1.0" }, { "Downloads", 3 }, }, new JObject { { "PackageId", "A" }, { "PackageVersion", "1.1" }, { "Downloads", 4 }, }, new JObject { { "PackageId", "B" }, { "PackageVersion", "1.0" }, { "Downloads", 5 }, } }; JArray report3 = new JArray { new JObject { { "ClientMajorVersion", 0 }, { "ClientMinorVersion", 0 }, { "Downloads", 1349 } }, new JObject { { "ClientMajorVersion", 1 }, { "ClientMinorVersion", 0 }, { "Downloads", 1349 } } }; JArray report4 = new JArray { new JObject { { "Year", 2012 }, { "MonthOfYear", 11 }, { "Downloads", 5383767 } }, new JObject { { "Year", 2012 }, { "MonthOfYear", 12 }, { "Downloads", 5383767 } } }; var fakePackageReport = report1.ToString(); var fakePackageVersionReport = report2.ToString(); var fakeNuGetClientVersion = report3.ToString(); var fakeLast6Months = report4.ToString(); var fakeReportService = new Mock <IReportService>(); fakeReportService.Setup(x => x.Load("RecentPopularity.json")).Returns(Task.FromResult(fakePackageReport)); fakeReportService.Setup(x => x.Load("RecentPopularityDetail.json")).Returns(Task.FromResult(fakePackageVersionReport)); fakeReportService.Setup(x => x.Load("NuGetClientVersion.json")).Returns(Task.FromResult(fakeNuGetClientVersion)); fakeReportService.Setup(x => x.Load("Last6Months.json")).Returns(Task.FromResult(fakeLast6Months)); var controller = new StatisticsController(new JsonStatisticsService(fakeReportService.Object)); var model = (StatisticsPackagesViewModel)((ViewResult)await controller.Index()).Model; int sum = 0; if (model.IsDownloadPackageAvailable) { foreach (var item in model.DownloadPackagesSummary) { sum += item.Downloads; } } if (model.IsDownloadPackageDetailAvailable) { foreach (var item in model.DownloadPackageVersionsSummary) { sum += item.Downloads; } } Assert.Equal <int>(15, sum); }
public async void StatisticsHomePage_ValidateReportStructureAndAvailability() { JArray report1 = new JArray { new JObject { { "PackageId", "A" }, { "Downloads", 1 }, }, new JObject { { "PackageId", "B" }, { "Downloads", 2 }, } }; JArray report2 = new JArray { new JObject { { "PackageId", "A" }, { "PackageVersion", "1.0" }, { "Downloads", 3 }, }, new JObject { { "PackageId", "A" }, { "PackageVersion", "1.1" }, { "Downloads", 4 }, }, new JObject { { "PackageId", "B" }, { "PackageVersion", "1.0" }, { "Downloads", 5 }, } }; JArray report3 = new JArray { new JObject { { "ClientMajorVersion", 0 }, { "ClientMinorVersion", 0 }, { "Downloads", 1349 } }, new JObject { { "ClientMajorVersion", 1 }, { "ClientMinorVersion", 0 }, { "Downloads", 1349 } } }; JArray report4 = new JArray { new JObject { { "Year", 2012 }, { "MonthOfYear", 11 }, { "Downloads", 5383767 } }, new JObject { { "Year", 2012 }, { "MonthOfYear", 12 }, { "Downloads", 5383767 } } }; var fakePackageReport = report1.ToString(); var fakePackageVersionReport = report2.ToString(); var fakeNuGetClientVersion = report3.ToString(); var fakeLast6Months = report4.ToString(); var fakeReportService = new Mock<IReportService>(); var updatedUtc = new DateTime(2001, 01, 01, 10, 20, 30); fakeReportService.Setup(x => x.Load("RecentPopularity.json")).Returns(Task.FromResult(new StatisticsReport(fakePackageReport, DateTime.MinValue))); fakeReportService.Setup(x => x.Load("RecentPopularityDetail.json")).Returns(Task.FromResult(new StatisticsReport(fakePackageVersionReport, null))); fakeReportService.Setup(x => x.Load("NuGetClientVersion.json")).Returns(Task.FromResult(new StatisticsReport(fakeNuGetClientVersion, DateTime.MinValue))); fakeReportService.Setup(x => x.Load("Last6Months.json")).Returns(Task.FromResult(new StatisticsReport(fakeLast6Months, updatedUtc))); var controller = new StatisticsController(new JsonStatisticsService(fakeReportService.Object)); var model = (StatisticsPackagesViewModel)((ViewResult) await controller.Index()).Model; int sum = 0; if (model.IsDownloadPackageAvailable) { foreach (var item in model.DownloadPackagesSummary) { sum += item.Downloads; } } if (model.IsDownloadPackageDetailAvailable) { foreach (var item in model.DownloadPackageVersionsSummary) { sum += item.Downloads; } } Assert.Equal(15, sum); Assert.True(model.LastUpdatedUtc.HasValue); Assert.Equal(updatedUtc, model.LastUpdatedUtc.Value); }
public async void StatisticsHomePage_ValidateFullReportStructureAndAvailability() { JArray report1 = new JArray { new JObject { { "PackageId", "A" }, { "Downloads", 1 }, }, new JObject { { "PackageId", "B" }, { "Downloads", 2 }, } }; JArray report2 = new JArray { new JObject { { "PackageId", "A" }, { "PackageVersion", "1.0" }, { "Downloads", 3 }, }, new JObject { { "PackageId", "A" }, { "PackageVersion", "1.1" }, { "Downloads", 4 }, }, new JObject { { "PackageId", "B" }, { "PackageVersion", "1.0" }, { "Downloads", 5 }, } }; JArray report3 = new JArray { new JObject { { "ClientMajorVersion", 0 }, { "ClientMinorVersion", 0 }, { "Downloads", 1349 } }, new JObject { { "ClientMajorVersion", 1 }, { "ClientMinorVersion", 0 }, { "Downloads", 1349 } } }; JArray report4 = new JArray { new JObject { { "Year", 2012 }, { "MonthOfYear", 11 }, { "Downloads", 5383767 } }, new JObject { { "Year", 2012 }, { "MonthOfYear", 12 }, { "Downloads", 5383767 } } }; var fakePackageReport = report1.ToString(); var fakePackageVersionReport = report2.ToString(); var fakeNuGetClientVersion = report3.ToString(); var fakeLast6Months = report4.ToString(); var fakeReportService = new Mock<IReportService>(); fakeReportService.Setup(x => x.Load("RecentPopularity.json")).Returns(Task.FromResult(new StatisticsReport(fakePackageReport, DateTime.UtcNow))); fakeReportService.Setup(x => x.Load("RecentPopularityDetail.json")).Returns(Task.FromResult(new StatisticsReport(fakePackageVersionReport, DateTime.UtcNow))); fakeReportService.Setup(x => x.Load("NuGetClientVersion.json")).Returns(Task.FromResult(new StatisticsReport(fakeNuGetClientVersion, DateTime.UtcNow))); fakeReportService.Setup(x => x.Load("Last6Months.json")).Returns(Task.FromResult(new StatisticsReport(fakeLast6Months, DateTime.UtcNow))); var controller = new StatisticsController(new JsonStatisticsService(fakeReportService.Object)); var model = (StatisticsPackagesViewModel)((ViewResult) await controller.Index()).Model; if (model.IsDownloadPackageAvailable) { foreach (var item in model.DownloadPackagesSummary) { if (item.PackageId == "A" && item.Downloads == 1) { continue; } else if (item.PackageId == "B" && item.Downloads == 2) { continue; } throw new Exception("unexpected data in Package report"); } } if (model.IsDownloadPackageDetailAvailable) { foreach (var item in model.DownloadPackageVersionsSummary) { if (item.PackageId == "A" && item.PackageVersion == "1.0" & item.Downloads == 3) { continue; } if (item.PackageId == "A" && item.PackageVersion == "1.1" & item.Downloads == 4) { continue; } if (item.PackageId == "B" && item.PackageVersion == "1.0" & item.Downloads == 5) { continue; } throw new Exception("unexpected data in Package report"); } } }
public async void StatisticsHomePage_ValidateReportStructureAndAvailability() { JArray report1 = new JArray { new JObject { { "PackageId", "A" }, { "Downloads", 1 }, }, new JObject { { "PackageId", "B" }, { "Downloads", 2 }, } }; JArray report2 = new JArray { new JObject { { "PackageId", "A" }, { "PackageVersion", "1.0" }, { "Downloads", 3 }, }, new JObject { { "PackageId", "A" }, { "PackageVersion", "1.1" }, { "Downloads", 4 }, }, new JObject { { "PackageId", "B" }, { "PackageVersion", "1.0" }, { "Downloads", 5 }, } }; var fakePackageReport = report1.ToString(); var fakePackageVersionReport = report2.ToString(); var fakeReportService = new Mock<IReportService>(); fakeReportService.Setup(x => x.Load("RecentPopularity.json")).Returns(Task.FromResult(fakePackageReport)); fakeReportService.Setup(x => x.Load("RecentPopularityDetail.json")).Returns(Task.FromResult(fakePackageVersionReport)); var controller = new StatisticsController(new JsonStatisticsService(fakeReportService.Object)); var model = (StatisticsPackagesViewModel)((ViewResult) await controller.Index()).Model; int sum = 0; if (model.IsDownloadPackageAvailable) { foreach (var item in model.DownloadPackagesSummary) { sum += item.Downloads; } } if (model.IsDownloadPackageDetailAvailable) { foreach (var item in model.DownloadPackageVersionsSummary) { sum += item.Downloads; } } Assert.Equal<int>(15, sum); }
public async void StatisticsHomePage_ValidateFullReportStructureAndAvailability() { JArray report1 = new JArray { new JObject { { "PackageId", "A" }, { "Downloads", 1 }, }, new JObject { { "PackageId", "B" }, { "Downloads", 2 }, } }; JArray report2 = new JArray { new JObject { { "PackageId", "A" }, { "PackageVersion", "1.0" }, { "Downloads", 3 }, }, new JObject { { "PackageId", "A" }, { "PackageVersion", "1.1" }, { "Downloads", 4 }, }, new JObject { { "PackageId", "B" }, { "PackageVersion", "1.0" }, { "Downloads", 5 }, } }; var fakePackageReport = report1.ToString(); var fakePackageVersionReport = report2.ToString(); var fakeReportService = new Mock <IReportService>(); fakeReportService.Setup(x => x.Load("RecentPopularity.json")).Returns(Task.FromResult(fakePackageReport)); fakeReportService.Setup(x => x.Load("RecentPopularityDetail.json")).Returns(Task.FromResult(fakePackageVersionReport)); var controller = new StatisticsController(new JsonStatisticsService(fakeReportService.Object)); var model = (StatisticsPackagesViewModel)((ViewResult)await controller.Index()).Model; if (model.IsDownloadPackageAvailable) { foreach (var item in model.DownloadPackagesSummary) { if (item.PackageId == "A" && item.Downloads == 1) { continue; } else if (item.PackageId == "B" && item.Downloads == 2) { continue; } throw new Exception("unexpected data in Package report"); } } if (model.IsDownloadPackageDetailAvailable) { foreach (var item in model.DownloadPackageVersionsSummary) { if (item.PackageId == "A" && item.PackageVersion == "1.0" & item.Downloads == 3) { continue; } if (item.PackageId == "A" && item.PackageVersion == "1.1" & item.Downloads == 4) { continue; } if (item.PackageId == "B" && item.PackageVersion == "1.0" & item.Downloads == 5) { continue; } throw new Exception("unexpected data in Package report"); } } }