Ensure correct access to all manifests + introduce "public" package manifests (#15921)
* Introduce "public" package manifests * Make sure "all manifests" are available to anyone with backoffice access * review comments
This commit is contained in:
@@ -22,7 +22,8 @@ public class PackageManifestServiceTests
|
||||
_readerMock.Setup(r => r.ReadPackageManifestsAsync()).ReturnsAsync(
|
||||
new[]
|
||||
{
|
||||
new PackageManifest { Name = "Test", Extensions = Array.Empty<object>() }
|
||||
new PackageManifest { Name = "Test", Extensions = Array.Empty<object>(), AllowPublicAccess = false },
|
||||
new PackageManifest { Name = "Test Public", Extensions = Array.Empty<object>(), AllowPublicAccess = true}
|
||||
});
|
||||
|
||||
_runtimeCache = new ObjectCacheAppCache();
|
||||
@@ -37,14 +38,14 @@ public class PackageManifestServiceTests
|
||||
[Test]
|
||||
public async Task Caches_PackageManifests()
|
||||
{
|
||||
var result = await _service.GetPackageManifestsAsync();
|
||||
Assert.AreEqual(1, result.Count());
|
||||
var result = await _service.GetAllPackageManifestsAsync();
|
||||
Assert.AreEqual(2, result.Count());
|
||||
|
||||
var result2 = await _service.GetPackageManifestsAsync();
|
||||
Assert.AreEqual(1, result2.Count());
|
||||
var result2 = await _service.GetAllPackageManifestsAsync();
|
||||
Assert.AreEqual(2, result2.Count());
|
||||
|
||||
var result3 = await _service.GetPackageManifestsAsync();
|
||||
Assert.AreEqual(1, result3.Count());
|
||||
var result3 = await _service.GetAllPackageManifestsAsync();
|
||||
Assert.AreEqual(2, result3.Count());
|
||||
|
||||
_readerMock.Verify(r => r.ReadPackageManifestsAsync(), Times.Exactly(1));
|
||||
}
|
||||
@@ -52,18 +53,28 @@ public class PackageManifestServiceTests
|
||||
[Test]
|
||||
public async Task Reloads_PackageManifest_After_Cache_Clear()
|
||||
{
|
||||
var result = await _service.GetPackageManifestsAsync();
|
||||
Assert.AreEqual(1, result.Count());
|
||||
var result = await _service.GetAllPackageManifestsAsync();
|
||||
Assert.AreEqual(2, result.Count());
|
||||
_runtimeCache.Clear();
|
||||
|
||||
var result2 = await _service.GetPackageManifestsAsync();
|
||||
Assert.AreEqual(1, result2.Count());
|
||||
var result2 = await _service.GetAllPackageManifestsAsync();
|
||||
Assert.AreEqual(2, result2.Count());
|
||||
_runtimeCache.Clear();
|
||||
|
||||
var result3 = await _service.GetPackageManifestsAsync();
|
||||
Assert.AreEqual(1, result3.Count());
|
||||
var result3 = await _service.GetAllPackageManifestsAsync();
|
||||
Assert.AreEqual(2, result3.Count());
|
||||
_runtimeCache.Clear();
|
||||
|
||||
_readerMock.Verify(r => r.ReadPackageManifestsAsync(), Times.Exactly(3));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task Supports_Public_PackageManifests()
|
||||
{
|
||||
var result = await _service.GetPublicPackageManifestsAsync();
|
||||
Assert.AreEqual(1, result.Count());
|
||||
|
||||
result = await _service.GetAllPackageManifestsAsync();
|
||||
Assert.AreEqual(2, result.Count());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user