2015-12-14 11:15:00 +01:00
|
|
|
package dockerignore
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
"io/ioutil"
|
|
|
|
"os"
|
|
|
|
"path/filepath"
|
|
|
|
"testing"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestReadAll(t *testing.T) {
|
|
|
|
tmpDir, err := ioutil.TempDir("", "dockerignore-test")
|
|
|
|
if err != nil {
|
|
|
|
t.Fatal(err)
|
|
|
|
}
|
|
|
|
defer os.RemoveAll(tmpDir)
|
|
|
|
|
|
|
|
di, err := ReadAll(nil)
|
|
|
|
if err != nil {
|
|
|
|
t.Fatalf("Expected not to have error, got %v", err)
|
|
|
|
}
|
|
|
|
|
|
|
|
if diLen := len(di); diLen != 0 {
|
|
|
|
t.Fatalf("Expected to have zero dockerignore entry, got %d", diLen)
|
|
|
|
}
|
|
|
|
|
|
|
|
diName := filepath.Join(tmpDir, ".dockerignore")
|
|
|
|
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)
|
|
|
|
}
|
|
|
|
|
|
|
|
diFd, err := os.Open(diName)
|
|
|
|
if err != nil {
|
|
|
|
t.Fatal(err)
|
|
|
|
}
|
2016-06-25 11:57:21 +08:00
|
|
|
defer diFd.Close()
|
|
|
|
|
2015-12-14 11:15:00 +01:00
|
|
|
di, err = ReadAll(diFd)
|
|
|
|
if err != nil {
|
|
|
|
t.Fatal(err)
|
|
|
|
}
|
|
|
|
|
|
|
|
if di[0] != "test1" {
|
2017-02-21 16:53:29 +08:00
|
|
|
t.Fatal("First element is not test1")
|
2015-12-14 11:15:00 +01:00
|
|
|
}
|
|
|
|
if di[1] != "/test2" {
|
2017-02-21 16:53:29 +08:00
|
|
|
t.Fatal("Second element is not /test2")
|
2015-12-14 11:15:00 +01:00
|
|
|
}
|
|
|
|
if di[2] != "/a/file/here" {
|
2017-02-21 16:53:29 +08:00
|
|
|
t.Fatal("Third element is not /a/file/here")
|
2015-12-14 11:15:00 +01:00
|
|
|
}
|
|
|
|
if di[3] != "lastfile" {
|
2017-02-21 16:53:29 +08:00
|
|
|
t.Fatal("Fourth element is not lastfile")
|
2015-12-14 11:15:00 +01:00
|
|
|
}
|
|
|
|
}
|