public async Task GetHistoryTest() { using (Stream chartStream = File.OpenRead("charts/hello-world-0.1.0.tgz")) { var chart = ChartPackage.Open(chartStream); var client = new TillerClient(() => TestConfiguration.GetStream().GetAwaiter().GetResult()); await Assert.ThrowsAsync <RpcException>(() => client.GetHistory(nameof(GetHistoryTest).ToLower(), 1)); await client.InstallRelease(chart.Serialize(), string.Empty, nameof(GetHistoryTest).ToLower(), true, wait : true); await Task.Delay(100); var history = await client.GetHistory(nameof(GetHistoryTest).ToLower(), 1); Assert.Single(history); var response = await client.UninstallRelease(nameof(GetHistoryTest).ToLower(), purge : false); Assert.Empty(response.Info); Assert.NotNull(response.Release); response = await client.UninstallRelease(nameof(GetHistoryTest).ToLower(), purge : true); Assert.Empty(response.Info); Assert.NotNull(response.Release); } }
public static void OpenTest() { using (Stream stream = File.OpenRead("charts/hello-world-0.1.0.tgz")) { var chart = ChartPackage.Open(stream); Assert.NotNull(chart); } }
public async Task InstallReleaseTest() { using (Stream chartStream = File.OpenRead("charts/hello-world-0.1.0.tgz")) { var chart = ChartPackage.Open(chartStream); var client = new TillerClient(() => TestConfiguration.GetStream().GetAwaiter().GetResult()); var result = await client.InstallRelease(chart.Serialize(), string.Empty, nameof(InstallReleaseTest).ToLower(), true).ConfigureAwait(false); Assert.NotNull(result); await client.UninstallRelease(nameof(InstallReleaseTest).ToLower(), purge : true); } }
public static void MetadataTest() { using (Stream stream = File.OpenRead("charts/hello-world-0.1.0.tgz")) { var chart = ChartPackage.Open(stream); var metadata = chart.Metadata; Assert.NotNull(metadata); Assert.Equal("v1", metadata.ApiVersion); Assert.Equal("A Helm chart for Kubernetes", metadata.Description); Assert.Equal("hello-world", metadata.Name); Assert.Equal("0.1.0", metadata.Version); } }
public async Task <IActionResult> Update(string name, IFormFile file) { var client = await GetClient(); using (var stream = new MemoryStream()) { await file.CopyToAsync(stream); var chart = ChartPackage.Open(stream); var release = await client.UpdateRelease(chart.Serialize(), string.Empty, name); return(Ok(release.Manifest)); } }
public async Task ListReleasesTest() { using (Stream chartStream = File.OpenRead("charts/hello-world-0.1.0.tgz")) { var chart = ChartPackage.Open(chartStream); var client = new TillerClient(() => TestConfiguration.GetStream().GetAwaiter().GetResult()); var releases = await client.ListReleases(nameof(ListReleasesTest).ToLower(), limit : 0, @namespace : "default").ConfigureAwait(false); Assert.Empty(releases); var result = await client.InstallRelease(chart.Serialize(), string.Empty, nameof(ListReleasesTest).ToLower(), true).ConfigureAwait(false); releases = await client.ListReleases(nameof(ListReleasesTest).ToLower(), limit : 0, @namespace : "default").ConfigureAwait(false); var release = Assert.Single(releases); await client.UninstallRelease(nameof(ListReleasesTest).ToLower(), purge : true); } }
public void RoundtripTest() { using (Stream stream = File.OpenRead("charts/hello-world-0.1.0.tgz")) using (MemoryStream packageStream = new MemoryStream()) { var chart = ChartPackage.Open(stream); var builder = new ChartPackageBuilder(); builder.Build(chart.Serialize(), packageStream); packageStream.Position = 0; using (GZipStream gzipStream = new GZipStream(packageStream, CompressionMode.Decompress, leaveOpen: true)) using (MemoryStream decompressedStream = new MemoryStream()) { gzipStream.CopyTo(decompressedStream); decompressedStream.Position = 0; using (TarArchive archive = TarArchive.Open(decompressedStream, new ReaderOptions() { LeaveStreamOpen = true })) { Assert.Equal(8, archive.Entries.Count); Assert.Contains(archive.Entries, e => e.Key == "hello-world/.helmignore"); Assert.Contains(archive.Entries, e => e.Key == "hello-world/Chart.yaml"); Assert.Contains(archive.Entries, e => e.Key == "hello-world/values.yaml"); Assert.Contains(archive.Entries, e => e.Key == "hello-world/templates/_helpers.tpl"); Assert.Contains(archive.Entries, e => e.Key == "hello-world/templates/deployment.yaml"); Assert.Contains(archive.Entries, e => e.Key == "hello-world/templates/ingress.yaml"); Assert.Contains(archive.Entries, e => e.Key == "hello-world/templates/NOTES.txt"); Assert.Contains(archive.Entries, e => e.Key == "hello-world/templates/service.yaml"); foreach (var entry in archive.Entries) { Assert.NotEqual(0, entry.Size); } } } } }