public async Task WhenPackageHasMultipleCommitsRespectsOrder(string pageContent) { // Arrange SharedInit(useLegacy: true, useSemVer2: false); var catalogStorage = Catalogs.CreateTestCatalogWithThreeItemsForSamePackage(pageContent); await _mockServer.AddStorageAsync(catalogStorage); ReadWriteCursor front = new DurableCursor(_legacyStorage.ResolveUri("cursor.json"), _legacyStorage, MemoryCursor.MinValue); ReadCursor back = MemoryCursor.CreateMax(); // Act await _target.RunAsync(front, back, CancellationToken.None); // Assert Assert.Equal(3, _legacyStorage.Content.Count); // Ensure storage has cursor.json var cursorJson = _legacyStorage.Content.FirstOrDefault(pair => pair.Key.PathAndQuery.EndsWith("cursor.json")); Assert.NotNull(cursorJson.Key); // Check package entries - ListedPackage var myPackageIndexFile = _legacyStorage.Content.FirstOrDefault(pair => pair.Key.PathAndQuery.EndsWith("/mypackage/index.json")); Assert.NotNull(myPackageIndexFile.Key); Assert.Contains("\"catalog:CatalogRoot\"", myPackageIndexFile.Value.GetContentString()); Assert.Contains("\"PackageRegistration\"", myPackageIndexFile.Value.GetContentString()); Assert.Contains("\"http://tempuri.org/data/2017.02.08.17.16.18/mypackage.3.0.0.json\"", myPackageIndexFile.Value.GetContentString()); Assert.Contains("\"packageContent\":\"http://tempuri.org/packages/mypackage.3.0.0.nupkg\"", myPackageIndexFile.Value.GetContentString()); Assert.Contains("\"lower\":\"3.0.0\",", myPackageIndexFile.Value.GetContentString()); Assert.Contains("\"upper\":\"3.0.0\"", myPackageIndexFile.Value.GetContentString()); var myPackageVersionFile = _legacyStorage.Content.FirstOrDefault(pair => pair.Key.PathAndQuery.EndsWith("/mypackage/3.0.0.json")); Assert.NotNull(myPackageVersionFile.Key); Assert.Contains("\"catalogEntry\":\"http://tempuri.org/data/2017.02.08.17.16.18/mypackage.3.0.0.json\"", myPackageVersionFile.Value.GetContentString()); Assert.Contains("\"listed\":true", myPackageVersionFile.Value.GetContentString()); Assert.Contains("\"packageContent\":\"http://tempuri.org/packages/mypackage.3.0.0.nupkg\"", myPackageIndexFile.Value.GetContentString()); }