Add some tests for bundlefile and improve the error messages for LoadFile

Signed-off-by: Daniel Nephin <dnephin@docker.com>
This commit is contained in:
Daniel Nephin 2016-06-16 17:55:50 -04:00
parent 59c8eda724
commit d112f3fb84
2 changed files with 48 additions and 0 deletions

47
testutil/assert/assert.go Normal file
View file

@ -0,0 +1,47 @@
// Package assert contains functions for making assertions in unit tests
package assert
import (
"strings"
)
// TestingT is an interface which defines the methods of testing.T that are
// required by this package
type TestingT interface {
Fatalf(string, ...interface{})
}
// Equal compare the actual value to the expected value and fails the test if
// they are not equal.
func Equal(t TestingT, actual, expected interface{}) {
if expected != actual {
t.Fatalf("Expected '%v' (%T) got '%v' (%T)", expected, expected, actual, actual)
}
}
// NilError asserts that the error is nil, otherwise it fails the test.
func NilError(t TestingT, err error) {
if err != nil {
t.Fatalf("Expected no error, got: %s", err.Error())
}
}
// Error asserts that error is not nil, and contains the expected text,
// otherwise it fails the test.
func Error(t TestingT, err error, contains string) {
if err == nil {
t.Fatalf("Expected an error, but error was nil")
}
if !strings.Contains(err.Error(), contains) {
t.Fatalf("Expected error to contain '%s', got '%s'", contains, err.Error())
}
}
// Contains asserts that the string contains a substring, otherwise it fails the
// test.
func Contains(t TestingT, actual, contains string) {
if !strings.Contains(actual, contains) {
t.Fatalf("Expected '%s' to contain '%s'", actual, contains)
}
}

1
testutil/pkg.go Normal file
View file

@ -0,0 +1 @@
package testutil