123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- package utils
- import (
- "fmt"
- "io/ioutil"
- "os"
- "path/filepath"
- "testing"
- )
- func TestReplaceAndAppendEnvVars(t *testing.T) {
- var (
- d = []string{"HOME=/"}
- o = []string{"HOME=/root", "TERM=xterm"}
- )
- env := ReplaceOrAppendEnvValues(d, o)
- if len(env) != 2 {
- t.Fatalf("expected len of 2 got %d", len(env))
- }
- if env[0] != "HOME=/root" {
- t.Fatalf("expected HOME=/root got '%s'", env[0])
- }
- if env[1] != "TERM=xterm" {
- t.Fatalf("expected TERM=xterm got '%s'", env[1])
- }
- }
- func TestImageReference(t *testing.T) {
- tests := []struct {
- repo string
- ref string
- expected string
- }{
- {"repo", "tag", "repo:tag"},
- {"repo", "sha256:c100b11b25d0cacd52c14e0e7bf525e1a4c0e6aec8827ae007055545909d1a64", "repo@sha256:c100b11b25d0cacd52c14e0e7bf525e1a4c0e6aec8827ae007055545909d1a64"},
- }
- for i, test := range tests {
- actual := ImageReference(test.repo, test.ref)
- if test.expected != actual {
- t.Errorf("%d: expected %q, got %q", i, test.expected, actual)
- }
- }
- }
- func TestDigestReference(t *testing.T) {
- input := "sha256:c100b11b25d0cacd52c14e0e7bf525e1a4c0e6aec8827ae007055545909d1a64"
- if !DigestReference(input) {
- t.Errorf("Expected DigestReference=true for input %q", input)
- }
- input = "latest"
- if DigestReference(input) {
- t.Errorf("Unexpected DigestReference=true for input %q", input)
- }
- }
- func TestReadDockerIgnore(t *testing.T) {
- tmpDir, err := ioutil.TempDir("", "dockerignore-test")
- if err != nil {
- t.Fatal(err)
- }
- defer os.RemoveAll(tmpDir)
- diName := filepath.Join(tmpDir, ".dockerignore")
- di, err := ReadDockerIgnore(diName)
- if err != nil {
- t.Fatalf("Expected not to have error, got %s", err)
- }
- if diLen := len(di); diLen != 0 {
- t.Fatalf("Expected to have zero dockerignore entry, got %d", diLen)
- }
- content := fmt.Sprintf("test1\n/test2\n/a/file/here\n\nlastfile")
- err = ioutil.WriteFile(diName, []byte(content), 0777)
- if err != nil {
- t.Fatal(err)
- }
- di, err = ReadDockerIgnore(diName)
- if err != nil {
- t.Fatal(err)
- }
- if di[0] != "test1" {
- t.Fatalf("First element is not test1")
- }
- if di[1] != "/test2" {
- t.Fatalf("Second element is not /test2")
- }
- if di[2] != "/a/file/here" {
- t.Fatalf("Third element is not /a/file/here")
- }
- if di[3] != "lastfile" {
- t.Fatalf("Fourth element is not lastfile")
- }
- }
|