libpod/runtime_img_test.go Unit Tests

Unit tests for getRegistry related functions.

Signed-off-by: baude <bbaude@redhat.com>
This commit is contained in:
baude
2017-11-02 13:17:09 -05:00
parent 69cecb049a
commit 0026075d59
4 changed files with 67 additions and 14 deletions

View File

@ -36,7 +36,7 @@ func getAllEnvironmentVariables(envFiles, envInput []string) ([]string, error) {
env = append(env, defaultEnvVariables...) env = append(env, defaultEnvVariables...)
} }
// Each environment variable must be in the K=V format // Each environment variable must be in the K=V format
for _,i := range env{ for _, i := range env {
spliti := strings.Split(i, "=") spliti := strings.Split(i, "=")
if len(spliti) != 2 { if len(spliti) != 2 {
return env, errors.Errorf("environment variables must be in the format KEY=VALUE: %s is invalid", i) return env, errors.Errorf("environment variables must be in the format KEY=VALUE: %s is invalid", i)

View File

@ -1,20 +1,19 @@
package main package main
import ( import (
"testing"
"reflect" "reflect"
"testing"
"github.com/stretchr/testify/assert"
spec "github.com/opencontainers/runtime-spec/specs-go" spec "github.com/opencontainers/runtime-spec/specs-go"
"github.com/stretchr/testify/assert"
) )
func TestCreateConfig_GetVolumeMounts(t *testing.T) { func TestCreateConfig_GetVolumeMounts(t *testing.T) {
data := spec.Mount{ data := spec.Mount{
Destination: "/foobar", Destination: "/foobar",
Type: "bind", Type: "bind",
Source: "foobar", Source: "foobar",
Options: []string{"ro", "rbind"}, Options: []string{"ro", "rbind"},
} }
config := createConfig{ config := createConfig{
volumes: []string{"foobar:/foobar:ro"}, volumes: []string{"foobar:/foobar:ro"},
@ -26,11 +25,11 @@ func TestCreateConfig_GetVolumeMounts(t *testing.T) {
func TestCreateConfig_GetTmpfsMounts(t *testing.T) { func TestCreateConfig_GetTmpfsMounts(t *testing.T) {
data := spec.Mount{ data := spec.Mount{
Destination: "/homer", Destination: "/homer",
Type: "tmpfs", Type: "tmpfs",
Source: "tmpfs", Source: "tmpfs",
Options: []string{"rw", "size=787448k", "mode=1777"}, Options: []string{"rw", "size=787448k", "mode=1777"},
} }
config:= createConfig{ config := createConfig{
tmpfs: []string{"/homer:rw,size=787448k,mode=1777"}, tmpfs: []string{"/homer:rw,size=787448k,mode=1777"},
} }
tmpfsMount := config.GetTmpfsMounts() tmpfsMount := config.GetTmpfsMounts()

View File

@ -0,0 +1,54 @@
package libpod
import (
"io/ioutil"
"os"
"reflect"
"testing"
"github.com/stretchr/testify/assert"
)
var (
registry = `[registries.search]
registries = ['one']
[registries.insecure]
registries = ['two']`
)
func createTmpFile(content []byte) (string, error) {
tmpfile, err := ioutil.TempFile(os.TempDir(), "unittest")
if err != nil {
return "", err
}
if _, err := tmpfile.Write(content); err != nil {
return "", err
}
if err := tmpfile.Close(); err != nil {
return "", err
}
return tmpfile.Name(), nil
}
func TestGetRegistries(t *testing.T) {
registryPath, err := createTmpFile([]byte(registry))
assert.NoError(t, err)
defer os.Remove(registryPath)
os.Setenv("REGISTRIES_CONFIG_PATH", registryPath)
registries, err := GetRegistries()
assert.NoError(t, err)
assert.True(t, reflect.DeepEqual(registries, []string{"one"}))
}
func TestGetInsecureRegistries(t *testing.T) {
registryPath, err := createTmpFile([]byte(registry))
assert.NoError(t, err)
os.Setenv("REGISTRIES_CONFIG_PATH", registryPath)
defer os.Remove(registryPath)
registries, err := GetInsecureRegistries()
assert.NoError(t, err)
assert.True(t, reflect.DeepEqual(registries, []string{"two"}))
}

View File

@ -1,10 +1,10 @@
package libpod package libpod
import ( import (
"testing"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"testing"
) )
var ( var (
sliceData = []string{"one", "two", "three", "four"} sliceData = []string{"one", "two", "three", "four"}
) )
@ -16,4 +16,4 @@ func TestStringInSlice(t *testing.T) {
assert.False(t, StringInSlice("five", sliceData)) assert.False(t, StringInSlice("five", sliceData))
// string is not in empty slice // string is not in empty slice
assert.False(t, StringInSlice("one", []string{})) assert.False(t, StringInSlice("one", []string{}))
} }