config_test.go
author Ollivier Robert <roberto@keltia.net>
Mon, 10 Apr 2017 23:33:51 +0200
changeset 57 5effcb7253a8
parent 47 4ea0a1d2cf9a
child 58 3ec984cfcb12
permissions -rw-r--r--
gofmt pass.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8
6d89be3dd966 Placeholders.
Ollivier Robert <roberto@keltia.net>
parents:
diff changeset
     1
package gondole
23
512f1bfaed0c Start a config module.
Ollivier Robert <roberto@keltia.net>
parents: 8
diff changeset
     2
45
c1fd96210492 Add test for loadGlobal().
Ollivier Robert <roberto@keltia.net>
parents: 23
diff changeset
     3
import (
57
5effcb7253a8 gofmt pass.
Ollivier Robert <roberto@keltia.net>
parents: 47
diff changeset
     4
	"github.com/stretchr/testify/assert"
5effcb7253a8 gofmt pass.
Ollivier Robert <roberto@keltia.net>
parents: 47
diff changeset
     5
	"os"
5effcb7253a8 gofmt pass.
Ollivier Robert <roberto@keltia.net>
parents: 47
diff changeset
     6
	"path/filepath"
45
c1fd96210492 Add test for loadGlobal().
Ollivier Robert <roberto@keltia.net>
parents: 23
diff changeset
     7
	"testing"
c1fd96210492 Add test for loadGlobal().
Ollivier Robert <roberto@keltia.net>
parents: 23
diff changeset
     8
)
c1fd96210492 Add test for loadGlobal().
Ollivier Robert <roberto@keltia.net>
parents: 23
diff changeset
     9
c1fd96210492 Add test for loadGlobal().
Ollivier Robert <roberto@keltia.net>
parents: 23
diff changeset
    10
func TestLoadGlobal(t *testing.T) {
c1fd96210492 Add test for loadGlobal().
Ollivier Robert <roberto@keltia.net>
parents: 23
diff changeset
    11
	baseDir = "."
c1fd96210492 Add test for loadGlobal().
Ollivier Robert <roberto@keltia.net>
parents: 23
diff changeset
    12
c1fd96210492 Add test for loadGlobal().
Ollivier Robert <roberto@keltia.net>
parents: 23
diff changeset
    13
	_, err := loadGlobal(filepath.Join("test", "non.toml"))
c1fd96210492 Add test for loadGlobal().
Ollivier Robert <roberto@keltia.net>
parents: 23
diff changeset
    14
	assert.Error(t, err, "does not exist")
c1fd96210492 Add test for loadGlobal().
Ollivier Robert <roberto@keltia.net>
parents: 23
diff changeset
    15
47
4ea0a1d2cf9a Grrr, workaround the fact that one can not commit "000" files.
Ollivier Robert <roberto@keltia.net>
parents: 45
diff changeset
    16
	// git does now allow you to checkin 000 files :(
4ea0a1d2cf9a Grrr, workaround the fact that one can not commit "000" files.
Ollivier Robert <roberto@keltia.net>
parents: 45
diff changeset
    17
	err = os.Chmod(filepath.Join("test", "perms.toml"), 000)
45
c1fd96210492 Add test for loadGlobal().
Ollivier Robert <roberto@keltia.net>
parents: 23
diff changeset
    18
	_, err = loadGlobal(filepath.Join("test", "perms.toml"))
c1fd96210492 Add test for loadGlobal().
Ollivier Robert <roberto@keltia.net>
parents: 23
diff changeset
    19
	assert.Error(t, err, "unreadable")
47
4ea0a1d2cf9a Grrr, workaround the fact that one can not commit "000" files.
Ollivier Robert <roberto@keltia.net>
parents: 45
diff changeset
    20
	err = os.Chmod(filepath.Join("test", "perms.toml"), 600)
45
c1fd96210492 Add test for loadGlobal().
Ollivier Robert <roberto@keltia.net>
parents: 23
diff changeset
    21
c1fd96210492 Add test for loadGlobal().
Ollivier Robert <roberto@keltia.net>
parents: 23
diff changeset
    22
	c, err := loadGlobal(filepath.Join("test", "config.toml"))
c1fd96210492 Add test for loadGlobal().
Ollivier Robert <roberto@keltia.net>
parents: 23
diff changeset
    23
	assert.NoError(t, err, "should read it fine")
c1fd96210492 Add test for loadGlobal().
Ollivier Robert <roberto@keltia.net>
parents: 23
diff changeset
    24
	assert.EqualValues(t, "foobar", c.Default, "equal")
c1fd96210492 Add test for loadGlobal().
Ollivier Robert <roberto@keltia.net>
parents: 23
diff changeset
    25
}
c1fd96210492 Add test for loadGlobal().
Ollivier Robert <roberto@keltia.net>
parents: 23
diff changeset
    26
57
5effcb7253a8 gofmt pass.
Ollivier Robert <roberto@keltia.net>
parents: 47
diff changeset
    27
func TestLoadInstance(t *testing.T) {
5effcb7253a8 gofmt pass.
Ollivier Robert <roberto@keltia.net>
parents: 47
diff changeset
    28
	baseDir = "."
5effcb7253a8 gofmt pass.
Ollivier Robert <roberto@keltia.net>
parents: 47
diff changeset
    29
5effcb7253a8 gofmt pass.
Ollivier Robert <roberto@keltia.net>
parents: 47
diff changeset
    30
	_, err := loadInstance("nonexistent")
5effcb7253a8 gofmt pass.
Ollivier Robert <roberto@keltia.net>
parents: 47
diff changeset
    31
	assert.Error(t, err, "does not exist")
5effcb7253a8 gofmt pass.
Ollivier Robert <roberto@keltia.net>
parents: 47
diff changeset
    32
5effcb7253a8 gofmt pass.
Ollivier Robert <roberto@keltia.net>
parents: 47
diff changeset
    33
	real := &Server{
5effcb7253a8 gofmt pass.
Ollivier Robert <roberto@keltia.net>
parents: 47
diff changeset
    34
		ID:          666,
5effcb7253a8 gofmt pass.
Ollivier Robert <roberto@keltia.net>
parents: 47
diff changeset
    35
		Name:        "foo",
5effcb7253a8 gofmt pass.
Ollivier Robert <roberto@keltia.net>
parents: 47
diff changeset
    36
		BearerToken: "d3b07384d113edec49eaa6238ad5ff00",
5effcb7253a8 gofmt pass.
Ollivier Robert <roberto@keltia.net>
parents: 47
diff changeset
    37
	}
5effcb7253a8 gofmt pass.
Ollivier Robert <roberto@keltia.net>
parents: 47
diff changeset
    38
	s, err := loadInstance("test/foo")
5effcb7253a8 gofmt pass.
Ollivier Robert <roberto@keltia.net>
parents: 47
diff changeset
    39
	assert.NoError(t, err, "all fine")
5effcb7253a8 gofmt pass.
Ollivier Robert <roberto@keltia.net>
parents: 47
diff changeset
    40
	assert.Equal(t, real, s, "equal")
5effcb7253a8 gofmt pass.
Ollivier Robert <roberto@keltia.net>
parents: 47
diff changeset
    41
}
5effcb7253a8 gofmt pass.
Ollivier Robert <roberto@keltia.net>
parents: 47
diff changeset
    42
5effcb7253a8 gofmt pass.
Ollivier Robert <roberto@keltia.net>
parents: 47
diff changeset
    43
func TestGetInstanceList(t *testing.T) {
5effcb7253a8 gofmt pass.
Ollivier Robert <roberto@keltia.net>
parents: 47
diff changeset
    44
	baseDir = "test"
5effcb7253a8 gofmt pass.
Ollivier Robert <roberto@keltia.net>
parents: 47
diff changeset
    45
5effcb7253a8 gofmt pass.
Ollivier Robert <roberto@keltia.net>
parents: 47
diff changeset
    46
	real := []string{"test/foo.token"}
5effcb7253a8 gofmt pass.
Ollivier Robert <roberto@keltia.net>
parents: 47
diff changeset
    47
	list := GetInstanceList()
5effcb7253a8 gofmt pass.
Ollivier Robert <roberto@keltia.net>
parents: 47
diff changeset
    48
	assert.Equal(t, real, list, "equal")
5effcb7253a8 gofmt pass.
Ollivier Robert <roberto@keltia.net>
parents: 47
diff changeset
    49
}