Skip to content

Commit

Permalink
Add tests for docker publish manifests functions
Browse files Browse the repository at this point in the history
  • Loading branch information
guicaulada committed Aug 28, 2023
1 parent 2c2e2c1 commit 3b3312a
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 3 deletions.
6 changes: 3 additions & 3 deletions pipelines/docker_publish.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ func ImageManifest(tag string) string {
return manifest[:lastDash]
}

func LatestManifest(tag string, base BaseImage) string {
func LatestManifest(tag string) string {
suffix := ""
if base == BaseImageUbuntu {
if strings.Contains(tag, "ubuntu") {
suffix = "-ubuntu"
}

Expand Down Expand Up @@ -60,7 +60,7 @@ func PublishDocker(ctx context.Context, d *dagger.Client, args PipelineArgs) err
manifestTags[manifest] = append(manifestTags[manifest], tag)

if opts.Latest {
manifest := LatestManifest(tag, base)
manifest := LatestManifest(tag)
manifestTags[manifest] = append(manifestTags[manifest], tag)
}

Expand Down
53 changes: 53 additions & 0 deletions pipelines/docker_publish_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
package pipelines_test

import (
"testing"

"github.com/grafana/grafana-build/pipelines"
)

func TestImageManifest(t *testing.T) {
manifests := map[string]string{
"docker.io/grafana/grafana-image-tags:1.2.3-test.1.2.3-amd64": "docker.io/grafana/grafana:1.2.3-test.1.2.3",
"docker.io/grafana/grafana-oss-image-tags:1.2.3-test.1.2.3-amd64": "docker.io/grafana/grafana-oss:1.2.3-test.1.2.3",
"docker.io/grafana/grafana-image-tags:1.2.3-test.1.2.3-arm64": "docker.io/grafana/grafana:1.2.3-test.1.2.3",
"docker.io/grafana/grafana-oss-image-tags:1.2.3-test.1.2.3-arm64": "docker.io/grafana/grafana-oss:1.2.3-test.1.2.3",
"docker.io/grafana/grafana-image-tags:1.2.3-test.1.2.3-ubuntu-amd64": "docker.io/grafana/grafana:1.2.3-test.1.2.3-ubuntu",
"docker.io/grafana/grafana-oss-image-tags:1.2.3-test.1.2.3-ubuntu-amd64": "docker.io/grafana/grafana-oss:1.2.3-test.1.2.3-ubuntu",
"docker.io/grafana/grafana-image-tags:1.2.3-test.1.2.3-ubuntu-arm64": "docker.io/grafana/grafana:1.2.3-test.1.2.3-ubuntu",
"docker.io/grafana/grafana-oss-image-tags:1.2.3-test.1.2.3-ubuntu-arm64": "docker.io/grafana/grafana-oss:1.2.3-test.1.2.3-ubuntu",
"docker.io/grafana/grafana-enterprise-image-tags:1.2.3-test.1.2.3-amd64": "docker.io/grafana/grafana-enterprise:1.2.3-test.1.2.3",
"docker.io/grafana/grafana-enterprise-image-tags:1.2.3-test.1.2.3-arm64": "docker.io/grafana/grafana-enterprise:1.2.3-test.1.2.3",
"docker.io/grafana/grafana-enterprise-image-tags:1.2.3-test.1.2.3-ubuntu-amd64": "docker.io/grafana/grafana-enterprise:1.2.3-test.1.2.3-ubuntu",
"docker.io/grafana/grafana-enterprise-image-tags:1.2.3-test.1.2.3-ubuntu-arm64": "docker.io/grafana/grafana-enterprise:1.2.3-test.1.2.3-ubuntu",
}

for k, v := range manifests {
if n := pipelines.ImageManifest(k); n != v {
t.Errorf("Expected '%s' manifest to equal '%s' but got '%s'", k, v, n)
}
}
}

func TestLatestManifest(t *testing.T) {
manifests := map[string]string{
"docker.io/grafana/grafana-image-tags:1.2.3-test.1.2.3-amd64": "docker.io/grafana/grafana:latest",
"docker.io/grafana/grafana-oss-image-tags:1.2.3-test.1.2.3-amd64": "docker.io/grafana/grafana-oss:latest",
"docker.io/grafana/grafana-image-tags:1.2.3-test.1.2.3-arm64": "docker.io/grafana/grafana:latest",
"docker.io/grafana/grafana-oss-image-tags:1.2.3-test.1.2.3-arm64": "docker.io/grafana/grafana-oss:latest",
"docker.io/grafana/grafana-image-tags:1.2.3-test.1.2.3-ubuntu-amd64": "docker.io/grafana/grafana:latest-ubuntu",
"docker.io/grafana/grafana-oss-image-tags:1.2.3-test.1.2.3-ubuntu-amd64": "docker.io/grafana/grafana-oss:latest-ubuntu",
"docker.io/grafana/grafana-image-tags:1.2.3-test.1.2.3-ubuntu-arm64": "docker.io/grafana/grafana:latest-ubuntu",
"docker.io/grafana/grafana-oss-image-tags:1.2.3-test.1.2.3-ubuntu-arm64": "docker.io/grafana/grafana-oss:latest-ubuntu",
"docker.io/grafana/grafana-enterprise-image-tags:1.2.3-test.1.2.3-amd64": "docker.io/grafana/grafana-enterprise:latest",
"docker.io/grafana/grafana-enterprise-image-tags:1.2.3-test.1.2.3-arm64": "docker.io/grafana/grafana-enterprise:latest",
"docker.io/grafana/grafana-enterprise-image-tags:1.2.3-test.1.2.3-ubuntu-amd64": "docker.io/grafana/grafana-enterprise:latest-ubuntu",
"docker.io/grafana/grafana-enterprise-image-tags:1.2.3-test.1.2.3-ubuntu-arm64": "docker.io/grafana/grafana-enterprise:latest-ubuntu",
}

for k, v := range manifests {
if n := pipelines.LatestManifest(k); n != v {
t.Errorf("Expected '%s' manifest to equal '%s' but got '%s'", k, v, n)
}
}
}

0 comments on commit 3b3312a

Please sign in to comment.