--- a/config_test.go Tue Apr 11 10:22:44 2017 +0200
+++ b/config_test.go Tue Apr 11 11:27:45 2017 +0200
@@ -17,14 +17,16 @@
assert.Error(t, err, "just garbage")
// git does now allow you to checkin 000 files :(
- err = os.Chmod(filepath.Join("test", "perms.toml"), 000)
+ err = os.Chmod(filepath.Join("test", "perms.toml"), 0000)
+ assert.NoError(t, err, "should be fine")
_, err = loadGlobal(filepath.Join("test", "perms.toml"))
assert.Error(t, err, "unreadable")
- err = os.Chmod(filepath.Join("test", "perms.toml"), 600)
+ err = os.Chmod(filepath.Join("test", "perms.toml"), 0600)
+ assert.NoError(t, err, "should be fine")
c, err := loadGlobal(filepath.Join("test", "config.toml"))
assert.NoError(t, err, "should read it fine")
- assert.EqualValues(t, "foobar", c.Default, "equal")
+ assert.EqualValues(t, "foo", c.Default, "equal")
}
func TestLoadInstance(t *testing.T) {
@@ -33,12 +35,29 @@
_, err := loadInstance("nonexistent")
assert.Error(t, err, "does not exist")
+ file := filepath.Join("test", "garbage")
+ _, err = loadInstance(file)
+ assert.Error(t, err, "just garbage")
+
+ file = filepath.Join("test", "foo.token")
+ err = os.Chmod(file, 0000)
+ assert.NoError(t, err, "should be fine")
+
+ file = filepath.Join("test", "foo")
+ _, err = loadInstance(file)
+ assert.Error(t, err, "unreadable")
+
+ file = filepath.Join("test", "foo.token")
+ err = os.Chmod(file, 0644)
+ assert.NoError(t, err, "should be fine")
+
real := &Server{
ID: 666,
Name: "foo",
BearerToken: "d3b07384d113edec49eaa6238ad5ff00",
}
- s, err := loadInstance("test/foo")
+ file = filepath.Join("test", "foo")
+ s, err := loadInstance(file)
assert.NoError(t, err, "all fine")
assert.Equal(t, real, s, "equal")
}
@@ -46,7 +65,10 @@
func TestGetInstanceList(t *testing.T) {
baseDir = "test"
- real := []string{"test/foo.token", "test/garbage.token"}
+ real := []string{
+ filepath.Join("test", "foo.token"),
+ filepath.Join("test", "garbage.token"),
+ }
list := GetInstanceList()
assert.Equal(t, real, list, "equal")
@@ -60,3 +82,23 @@
list = GetInstanceList()
assert.Equal(t, real, list, "equal")
}
+
+func TestLoadConfig(t *testing.T) {
+ baseDir = "test"
+
+ _, err := LoadConfig("foo")
+ assert.NoError(t, err, "should be fine")
+
+ _, err = LoadConfig("")
+ assert.NoError(t, err, "should be fine")
+
+ err = os.Chmod(filepath.Join("test", "config.toml"), 0000)
+ assert.NoError(t, err, "should be fine")
+
+ _, err = LoadConfig("")
+ assert.Error(t, err, "should be unreadable")
+
+ err = os.Chmod(filepath.Join("test", "config.toml"), 0600)
+ assert.NoError(t, err, "should be fine")
+
+}
\ No newline at end of file