public void ShouldReturnReleaseIfPresent() { var item1 = new ReleaseQueryItem { Version = "1.0", Created = new DateTime(2012, 12, 1) }; var item2 = new ReleaseQueryItem { Version = "1.1", Created = new DateTime(2012, 12, 2) }; var item3 = new ReleaseQueryItem { Version = "1.2", Created = new DateTime(2012, 12, 3) }; var item4 = new ReleaseQueryItem { Version = "1.3", Created = new DateTime(2012, 12, 4) }; var dataList = new List <ReleaseQueryItem> { item1, item2, item3, item4 }; var data = new Dictionary <string, IEnumerable <ReleaseQueryItem> > { { "Test", dataList } }; var respository = new CacheReleaseQueryProvider(); respository.UpdateCache(data); var result = respository.FindReleasesAfter("Test", "1.0").ToList(); Assert.Equal(3, result.Count); Assert.Equal("1.1", result[0].Version); Assert.Equal("1.2", result[1].Version); Assert.Equal("1.3", result[2].Version); }
public void ShouldProducePreReleaseSummaryWhenOnlyNewerPreReleasesFound() { var release = new ReleaseQueryItem { IsLatestVersion = false, Created = new DateTime(2012, 12, 12), Version = "1.0", IsPrerelease = true }; var release1 = new ReleaseQueryItem { IsLatestVersion = false, Created = new DateTime(2012, 12, 13), Version = "1.1", IsPrerelease = true }; var release2 = new ReleaseQueryItem { IsLatestVersion = false, Created = new DateTime(2012, 12, 14), Version = "1.2", IsPrerelease = true }; var release3 = new ReleaseQueryItem { IsLatestVersion = false, Created = new DateTime(2012, 12, 15), Version = "1.3", IsPrerelease = true, IsAbsoluteLatestVersion = true }; var repository = new Mock <IReleaseQueryProvider>(); repository.Setup(x => x.SelectRelease("Test", "1.0")).Returns(release).Verifiable(); repository.Setup(x => x.FindReleasesAfter("Test", "1.0")).Returns(new List <ReleaseQueryItem> { release1, release2, release3 }).Verifiable(); var service = new ReleaseQueryService(repository.Object); var result = service.GetReleaseInfo("Test", "1.0", "1.0"); Assert.True(result.HasResult); Assert.True(result.HasNewer); Assert.NotNull(result.Summary); Assert.True(result.Summary.ContainsKey("preRelease")); Assert.Equal("1.3", result.Summary["preRelease"].LatestVersion); Assert.False(result.Summary.ContainsKey("release")); Assert.Null(result.AvailableReleases); repository.VerifyAll(); }
public void ShouldReturnNullIfNoLastestVersionPresent() { var item1 = new ReleaseQueryItem(); var dataList = new List<ReleaseQueryItem> { item1 }; var data = new Dictionary<string, IEnumerable<ReleaseQueryItem>> { { "Test", dataList } }; var respository = new CacheReleaseQueryProvider(); respository.UpdateCache(data); Assert.Null(respository.LatestPackageRelease("Test")); }
public void ShouldReturnLatestReleaseIfPresent() { var item1 = new ReleaseQueryItem { IsLatestVersion = true }; var item2 = new ReleaseQueryItem(); var dataList = new List<ReleaseQueryItem> { item1, item2 }; var data = new Dictionary<string, IEnumerable<ReleaseQueryItem>> { { "Test", dataList } }; var respository = new CacheReleaseQueryProvider(); respository.UpdateCache(data); Assert.Same(item1, respository.LatestPackageRelease("Test")); }
public void ShouldReturnNullIfNoLastestVersionPresent() { var item1 = new ReleaseQueryItem(); var dataList = new List <ReleaseQueryItem> { item1 }; var data = new Dictionary <string, IEnumerable <ReleaseQueryItem> > { { "Test", dataList } }; var respository = new CacheReleaseQueryProvider(); respository.UpdateCache(data); Assert.Null(respository.LatestPackageRelease("Test")); }
public void ShouldReturnEmptyIfNoNewerVersionPresent() { var item1 = new ReleaseQueryItem(); var dataList = new List <ReleaseQueryItem> { item1 }; var data = new Dictionary <string, IEnumerable <ReleaseQueryItem> > { { "Test", dataList } }; var respository = new CacheReleaseQueryProvider(); respository.UpdateCache(data); Assert.Empty(respository.FindReleasesAfter("Test", "1.0")); }
public void ShoudlIndicateHasNewerWhenAnyPackageHasNewer() { var release = new ReleaseQueryItem { IsLatestVersion = false, Created = new DateTime(2012, 12, 12), Version = "1.0" }; var release1 = new ReleaseQueryItem { IsLatestVersion = true, Created = new DateTime(2012, 12, 13), Version = "1.1" }; var input1 = new VersionCheckDetailsItem() { Name = "Test", Version = "1.0", VersionRange = "1.0" }; var input2 = new VersionCheckDetailsItem() { Name = "Other", Version = "1.0", VersionRange = "1.0" }; var input = new VersionCheckDetails { Packages = new List <VersionCheckDetailsItem> { input1, input2 } }; var repository = new Mock <IReleaseQueryProvider>(); repository.Setup(x => x.SelectRelease("Test", "1.0")).Returns(release).Verifiable(); repository.Setup(x => x.SelectRelease("Other", "1.0")).Returns((ReleaseQueryItem)null).Verifiable(); repository.Setup(x => x.FindReleasesAfter("Test", "1.0")).Returns(new List <ReleaseQueryItem> { release1 }).Verifiable(); var service = new ReleaseQueryService(repository.Object); var result = service.GetReleaseInfo(input); Assert.Equal(2, result.Details.Count); Assert.True(result.Details.ContainsKey("Test")); Assert.True(result.Details["Test"].HasNewer); Assert.True(result.Details["Test"].HasResult); Assert.True(result.Details.ContainsKey("Other")); Assert.False(result.Details["Other"].HasNewer); Assert.False(result.Details["Other"].HasResult); Assert.True(result.HasNewer); repository.VerifyAll(); }
public void ShouldIndicateThatNoNewerVersionIsFoundIfOneDoesntExist() { var release = new ReleaseQueryItem { IsLatestVersion = true }; var repository = new Mock<IReleaseQueryProvider>(); repository.Setup(x => x.SelectRelease("Test", "1.0")).Returns(release).Verifiable(); repository.Setup(x => x.FindReleasesAfter("Test", "1.0")).Returns(new List<ReleaseQueryItem>()).Verifiable(); var service = new ReleaseQueryService(repository.Object); var result = service.GetReleaseInfo("Test", "1.0", "1.0"); Assert.True(result.HasResult); Assert.False(result.HasNewer); Assert.Null(result.Summary); Assert.Null(result.AvailableReleases); repository.VerifyAll(); }
public void ShouldReturnLatestReleaseIfPresent() { var item1 = new ReleaseQueryItem { IsLatestVersion = true }; var item2 = new ReleaseQueryItem(); var dataList = new List <ReleaseQueryItem> { item1, item2 }; var data = new Dictionary <string, IEnumerable <ReleaseQueryItem> > { { "Test", dataList } }; var respository = new CacheReleaseQueryProvider(); respository.UpdateCache(data); Assert.Same(item1, respository.LatestPackageRelease("Test")); }
public void ShouldIndicateThatNoNewerVersionIsFoundIfOneDoesntExist() { var release = new ReleaseQueryItem { IsLatestVersion = true }; var repository = new Mock <IReleaseQueryProvider>(); repository.Setup(x => x.SelectRelease("Test", "1.0")).Returns(release).Verifiable(); repository.Setup(x => x.FindReleasesAfter("Test", "1.0")).Returns(new List <ReleaseQueryItem>()).Verifiable(); var service = new ReleaseQueryService(repository.Object); var result = service.GetReleaseInfo("Test", "1.0", "1.0"); Assert.True(result.HasResult); Assert.False(result.HasNewer); Assert.Null(result.Summary); Assert.Null(result.AvailableReleases); repository.VerifyAll(); }
public void ShouldReturnReleaseIfPresent() { var item1 = new ReleaseQueryItem { Version = "1.0" }; var item2 = new ReleaseQueryItem { Version = "0.9" }; var dataList = new List <ReleaseQueryItem> { item1, item2 }; var data = new Dictionary <string, IEnumerable <ReleaseQueryItem> > { { "Test", dataList } }; var respository = new CacheReleaseQueryProvider(); respository.UpdateCache(data); Assert.Same(item1, respository.SelectRelease("Test", "1.0")); }
public void ShouldProducePreReleaseSummaryWhenOnlyNewerPreReleasesFound() { var release = new ReleaseQueryItem { IsLatestVersion = false, Created = new DateTime(2012, 12, 12), Version = "1.0", IsPrerelease = true }; var release1 = new ReleaseQueryItem { IsLatestVersion = false, Created = new DateTime(2012, 12, 13), Version = "1.1", IsPrerelease = true }; var release2 = new ReleaseQueryItem { IsLatestVersion = false, Created = new DateTime(2012, 12, 14), Version = "1.2", IsPrerelease = true }; var release3 = new ReleaseQueryItem { IsLatestVersion = false, Created = new DateTime(2012, 12, 15), Version = "1.3", IsPrerelease = true, IsAbsoluteLatestVersion = true }; var repository = new Mock<IReleaseQueryProvider>(); repository.Setup(x => x.SelectRelease("Test", "1.0")).Returns(release).Verifiable(); repository.Setup(x => x.FindReleasesAfter("Test", "1.0")).Returns(new List<ReleaseQueryItem> { release1, release2, release3 }).Verifiable(); var service = new ReleaseQueryService(repository.Object); var result = service.GetReleaseInfo("Test", "1.0", "1.0"); Assert.True(result.HasResult); Assert.True(result.HasNewer); Assert.NotNull(result.Summary); Assert.True(result.Summary.ContainsKey("preRelease")); Assert.Equal("1.3", result.Summary["preRelease"].LatestVersion); Assert.False(result.Summary.ContainsKey("release")); Assert.Null(result.AvailableReleases); repository.VerifyAll(); }
public void ShoudlIndicateHasNewerWhenAnyPackageHasNewer() { var release = new ReleaseQueryItem { IsLatestVersion = false, Created = new DateTime(2012, 12, 12), Version = "1.0" }; var release1 = new ReleaseQueryItem { IsLatestVersion = true, Created = new DateTime(2012, 12, 13), Version = "1.1" }; var input1 = new VersionCheckDetailsItem() { Name = "Test", Version = "1.0", VersionRange = "1.0" }; var input2 = new VersionCheckDetailsItem() { Name = "Other", Version = "1.0", VersionRange = "1.0" }; var input = new VersionCheckDetails { Packages = new List<VersionCheckDetailsItem> { input1, input2 } }; var repository = new Mock<IReleaseQueryProvider>(); repository.Setup(x => x.SelectRelease("Test", "1.0")).Returns(release).Verifiable(); repository.Setup(x => x.SelectRelease("Other", "1.0")).Returns((ReleaseQueryItem)null).Verifiable(); repository.Setup(x => x.FindReleasesAfter("Test", "1.0")).Returns(new List<ReleaseQueryItem> { release1 }).Verifiable(); var service = new ReleaseQueryService(repository.Object); var result = service.GetReleaseInfo(input); Assert.Equal(2, result.Details.Count); Assert.True(result.Details.ContainsKey("Test")); Assert.True(result.Details["Test"].HasNewer); Assert.True(result.Details["Test"].HasResult); Assert.True(result.Details.ContainsKey("Other")); Assert.False(result.Details["Other"].HasNewer); Assert.False(result.Details["Other"].HasResult); Assert.True(result.HasNewer); repository.VerifyAll(); }
public void ShouldReturnEmptyIfNoNewerVersionPresent() { var item1 = new ReleaseQueryItem(); var dataList = new List<ReleaseQueryItem> { item1 }; var data = new Dictionary<string, IEnumerable<ReleaseQueryItem>> { { "Test", dataList } }; var respository = new CacheReleaseQueryProvider(); respository.UpdateCache(data); Assert.Empty(respository.FindReleasesAfter("Test", "1.0")); }
public void ShouldReturnReleaseIfPresent() { var item1 = new ReleaseQueryItem { Version = "1.0", Created = new DateTime(2012, 12, 1) }; var item2 = new ReleaseQueryItem { Version = "1.1", Created = new DateTime(2012, 12, 2) }; var item3 = new ReleaseQueryItem { Version = "1.2", Created = new DateTime(2012, 12, 3) }; var item4 = new ReleaseQueryItem { Version = "1.3", Created = new DateTime(2012, 12, 4) }; var dataList = new List<ReleaseQueryItem> { item1, item2, item3, item4 }; var data = new Dictionary<string, IEnumerable<ReleaseQueryItem>> { { "Test", dataList } }; var respository = new CacheReleaseQueryProvider(); respository.UpdateCache(data); var result = respository.FindReleasesAfter("Test", "1.0").ToList(); Assert.Equal(3, result.Count); Assert.Equal("1.1", result[0].Version); Assert.Equal("1.2", result[1].Version); Assert.Equal("1.3", result[2].Version); }
public void ShouldReturnReleaseIfPresent() { var item1 = new ReleaseQueryItem { Version = "1.0" }; var item2 = new ReleaseQueryItem { Version = "0.9" }; var dataList = new List<ReleaseQueryItem> { item1, item2 }; var data = new Dictionary<string, IEnumerable<ReleaseQueryItem>> { { "Test", dataList } }; var respository = new CacheReleaseQueryProvider(); respository.UpdateCache(data); Assert.Same(item1, respository.SelectRelease("Test", "1.0")); }