public async Task RejectsSemVer2ReplicaHiveWhenMainHiveIsNonSemVer2() { AddPackageDetails("2.0.0"); Hive = HiveType.Legacy; ReplicaHives.Add(HiveType.SemVer2); var ex = await Assert.ThrowsAsync <InvalidOperationException>( () => Target.UpdateAsync(Hive, ReplicaHives, Id, Entries, EntryToCatalogLeaf, RegistrationCommit)); Assert.Equal("A replica hive of a non-SemVer 2.0.0 hive must also exclude SemVer 2.0.0.", ex.Message); }
public async Task DeletesBlobFromHivesAndReplicaHives() { ReplicaHives.Add(HiveType.Gzipped); ReplicaHives.Add(HiveType.SemVer2); await Target.DeleteUrlAsync(Hive, ReplicaHives, "https://example/reg/nuget.versioning/1.0.0.json"); LegacyContainer.Verify(x => x.GetBlobReference("nuget.versioning/1.0.0.json"), Times.Once); GzippedContainer.Verify(x => x.GetBlobReference("nuget.versioning/1.0.0.json"), Times.Once); SemVer2Container.Verify(x => x.GetBlobReference("nuget.versioning/1.0.0.json"), Times.Once); LegacyBlob.Verify(x => x.DeleteIfExistsAsync(), Times.Once); GzippedBlob.Verify(x => x.DeleteIfExistsAsync(), Times.Once); SemVer2Blob.Verify(x => x.DeleteIfExistsAsync(), Times.Once); }
public async Task WritesToReplicaHives() { ReplicaHives.Add(HiveType.Gzipped); ReplicaHives.Add(HiveType.SemVer2); await Target.WriteLeafAsync(Hive, ReplicaHives, Id, Version, Leaf); LegacyBlob.Verify(x => x.UploadFromStreamAsync(It.IsAny <Stream>(), It.IsAny <AccessCondition>()), Times.Once); GzippedBlob.Verify(x => x.UploadFromStreamAsync(It.IsAny <Stream>(), It.IsAny <AccessCondition>()), Times.Once); SemVer2Blob.Verify(x => x.UploadFromStreamAsync(It.IsAny <Stream>(), It.IsAny <AccessCondition>()), Times.Once); EntityBuilder.Verify(x => x.UpdateLeafUrls(It.IsAny <RegistrationLeaf>(), It.IsAny <HiveType>(), It.IsAny <HiveType>()), Times.Exactly(3)); EntityBuilder.Verify(x => x.UpdateLeafUrls(Leaf, HiveType.Legacy, HiveType.Gzipped), Times.Once); EntityBuilder.Verify(x => x.UpdateLeafUrls(Leaf, HiveType.Gzipped, HiveType.SemVer2), Times.Once); EntityBuilder.Verify(x => x.UpdateLeafUrls(Leaf, HiveType.SemVer2, HiveType.Legacy), Times.Once); }