public async Task CanGetManifestListProperties() { // Arrange var client = CreateClient(); string tag = "v1"; var artifact = client.GetArtifact(_repositoryName, tag); int helloWorldManifestReferences = 9; // Act ArtifactManifestProperties properties = await artifact.GetManifestPropertiesAsync(); // Assert Assert.Contains(tag, properties.Tags.ToList()); Assert.AreEqual(_repositoryName, properties.RepositoryName); Assert.GreaterOrEqual(helloWorldManifestReferences, properties.ManifestReferences.Count); Assert.IsTrue(properties.ManifestReferences.Any( artifact => artifact.Architecture == "arm64" && artifact.OperatingSystem == "linux")); Assert.IsTrue(properties.ManifestReferences.Any( artifact => artifact.Architecture == "amd64" && artifact.OperatingSystem == "windows")); }
public async Task CanGetManifestProperties() { // Arrange var client = CreateClient(); string tag = "v1"; var artifact = client.GetArtifact(_repositoryName, tag); // Act ArtifactManifestProperties manifestListProperties = await artifact.GetManifestPropertiesAsync(); var arm64LinuxImage = manifestListProperties.ManifestReferences.First( artifact => artifact.Architecture == "arm64" && artifact.OperatingSystem == "linux"); var childArtifact = client.GetArtifact(_repositoryName, arm64LinuxImage.Digest); ArtifactManifestProperties properties = await childArtifact.GetManifestPropertiesAsync(); // Assert Assert.AreEqual(_repositoryName, properties.RepositoryName); Assert.IsNotNull(properties.Digest); Assert.AreEqual(ArtifactArchitecture.Arm64, properties.Architecture); Assert.AreEqual(ArtifactOperatingSystem.Linux, properties.OperatingSystem); }
public async Task CanSetManifestProperties() { // Arrange var client = CreateClient(); string tag = "latest"; var artifact = client.GetArtifact(_repositoryName, tag); ArtifactManifestProperties artifactProperties = await artifact.GetManifestPropertiesAsync(); ArtifactManifestProperties originalProperties = artifactProperties; // Act ArtifactManifestProperties properties = await artifact.SetManifestPropertiesAsync( new ArtifactManifestProperties() { CanList = false, CanRead = false, CanWrite = false, CanDelete = false }); // Assert Assert.IsFalse(properties.CanList); Assert.IsFalse(properties.CanRead); Assert.IsFalse(properties.CanWrite); Assert.IsFalse(properties.CanDelete); ArtifactManifestProperties updatedProperties = await artifact.GetManifestPropertiesAsync(); Assert.IsFalse(updatedProperties.CanList); Assert.IsFalse(updatedProperties.CanRead); Assert.IsFalse(updatedProperties.CanWrite); Assert.IsFalse(updatedProperties.CanDelete); // Cleanup await artifact.SetManifestPropertiesAsync(originalProperties); }
public async Task CanGetManifests(bool anonymous) { // Arrange var client = CreateClient(anonymous); var repository = client.GetRepository(_repositoryName); // Act AsyncPageable <ArtifactManifestProperties> manifests = repository.GetManifestsAsync(); ArtifactManifestProperties latest = null; await foreach (ArtifactManifestProperties manifest in manifests) { if (manifest.Tags.Count > 0 && manifest.Tags.Contains("latest")) { latest = manifest; break; } } // Assert Assert.IsNotNull(latest); Assert.AreEqual(_repositoryName, latest.RepositoryName); }