2015-05-23 00:52:02 -04:00
|
|
|
package config
|
|
|
|
|
|
|
|
import (
|
2015-06-14 12:03:42 -04:00
|
|
|
"strings"
|
2015-05-23 00:52:02 -04:00
|
|
|
"testing"
|
2015-05-15 18:23:59 -04:00
|
|
|
|
2015-06-14 12:03:42 -04:00
|
|
|
"github.com/docker/libnetwork/netlabel"
|
2015-09-07 13:33:28 -04:00
|
|
|
_ "github.com/docker/libnetwork/testutils"
|
2015-05-23 00:52:02 -04:00
|
|
|
)
|
|
|
|
|
|
|
|
func TestInvalidConfig(t *testing.T) {
|
|
|
|
_, err := ParseConfig("invalid.toml")
|
|
|
|
if err == nil {
|
|
|
|
t.Fatal("Invalid Configuration file must fail")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestConfig(t *testing.T) {
|
2015-05-15 18:23:59 -04:00
|
|
|
_, err := ParseConfig("libnetwork.toml")
|
2015-05-23 00:52:02 -04:00
|
|
|
if err != nil {
|
|
|
|
t.Fatal("Error parsing a valid configuration file :", err)
|
|
|
|
}
|
|
|
|
}
|
2015-06-14 12:03:42 -04:00
|
|
|
|
|
|
|
func TestOptionsLabels(t *testing.T) {
|
|
|
|
c := &Config{}
|
|
|
|
l := []string{
|
|
|
|
"com.docker.network.key1=value1",
|
|
|
|
"com.docker.storage.key1=value1",
|
|
|
|
"com.docker.network.driver.key1=value1",
|
|
|
|
"com.docker.network.driver.key2=value2",
|
|
|
|
}
|
|
|
|
f := OptionLabels(l)
|
|
|
|
f(c)
|
|
|
|
if len(c.Daemon.Labels) != 3 {
|
|
|
|
t.Fatalf("Expecting 3 labels, seen %d", len(c.Daemon.Labels))
|
|
|
|
}
|
|
|
|
for _, l := range c.Daemon.Labels {
|
|
|
|
if !strings.HasPrefix(l, netlabel.Prefix) {
|
|
|
|
t.Fatalf("config must accept only libnetwork labels. Not : %s", l)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2015-06-14 12:00:27 -04:00
|
|
|
|
|
|
|
func TestValidName(t *testing.T) {
|
|
|
|
if !IsValidName("test") {
|
|
|
|
t.Fatal("Name validation fails for a name that must be accepted")
|
|
|
|
}
|
|
|
|
if IsValidName("") {
|
|
|
|
t.Fatal("Name validation succeeds for a case when it is expected to fail")
|
|
|
|
}
|
2015-09-11 14:02:16 -04:00
|
|
|
if IsValidName(" ") {
|
|
|
|
t.Fatal("Name validation succeeds for a case when it is expected to fail")
|
|
|
|
}
|
2015-06-14 12:00:27 -04:00
|
|
|
if IsValidName("name.with.dots") {
|
|
|
|
t.Fatal("Name validation succeeds for a case when it is expected to fail")
|
|
|
|
}
|
|
|
|
}
|