author | Ollivier Robert <roberto@keltia.net> |
Wed, 12 Apr 2017 09:38:20 +0200 | |
changeset 69 | 3474d0f36259 |
parent 67 | config_test.go@1ff7afce37fe |
child 73 | d601c957d789 |
permissions | -rw-r--r-- |
8 | 1 |
package gondole |
23 | 2 |
|
45
c1fd96210492
Add test for loadGlobal().
Ollivier Robert <roberto@keltia.net>
parents:
23
diff
changeset
|
3 |
import ( |
57 | 4 |
"github.com/stretchr/testify/assert" |
5 |
"os" |
|
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 |
|
60 | 16 |
_, err = loadGlobal(filepath.Join("test", "garbage.token")) |
17 |
assert.Error(t, err, "just garbage") |
|
18 |
||
47
4ea0a1d2cf9a
Grrr, workaround the fact that one can not commit "000" files.
Ollivier Robert <roberto@keltia.net>
parents:
45
diff
changeset
|
19 |
// git does now allow you to checkin 000 files :( |
63 | 20 |
err = os.Chmod(filepath.Join("test", "perms.toml"), 0000) |
21 |
assert.NoError(t, err, "should be fine") |
|
45
c1fd96210492
Add test for loadGlobal().
Ollivier Robert <roberto@keltia.net>
parents:
23
diff
changeset
|
22 |
_, err = loadGlobal(filepath.Join("test", "perms.toml")) |
c1fd96210492
Add test for loadGlobal().
Ollivier Robert <roberto@keltia.net>
parents:
23
diff
changeset
|
23 |
assert.Error(t, err, "unreadable") |
63 | 24 |
err = os.Chmod(filepath.Join("test", "perms.toml"), 0600) |
25 |
assert.NoError(t, err, "should be fine") |
|
45
c1fd96210492
Add test for loadGlobal().
Ollivier Robert <roberto@keltia.net>
parents:
23
diff
changeset
|
26 |
|
c1fd96210492
Add test for loadGlobal().
Ollivier Robert <roberto@keltia.net>
parents:
23
diff
changeset
|
27 |
c, err := loadGlobal(filepath.Join("test", "config.toml")) |
c1fd96210492
Add test for loadGlobal().
Ollivier Robert <roberto@keltia.net>
parents:
23
diff
changeset
|
28 |
assert.NoError(t, err, "should read it fine") |
63 | 29 |
assert.EqualValues(t, "foo", c.Default, "equal") |
45
c1fd96210492
Add test for loadGlobal().
Ollivier Robert <roberto@keltia.net>
parents:
23
diff
changeset
|
30 |
} |
c1fd96210492
Add test for loadGlobal().
Ollivier Robert <roberto@keltia.net>
parents:
23
diff
changeset
|
31 |
|
57 | 32 |
func TestLoadInstance(t *testing.T) { |
33 |
baseDir = "." |
|
34 |
||
35 |
_, err := loadInstance("nonexistent") |
|
36 |
assert.Error(t, err, "does not exist") |
|
37 |
||
63 | 38 |
file := filepath.Join("test", "garbage") |
39 |
_, err = loadInstance(file) |
|
40 |
assert.Error(t, err, "just garbage") |
|
41 |
||
42 |
file = filepath.Join("test", "foo.token") |
|
43 |
err = os.Chmod(file, 0000) |
|
44 |
assert.NoError(t, err, "should be fine") |
|
45 |
||
46 |
file = filepath.Join("test", "foo") |
|
47 |
_, err = loadInstance(file) |
|
48 |
assert.Error(t, err, "unreadable") |
|
49 |
||
50 |
file = filepath.Join("test", "foo.token") |
|
51 |
err = os.Chmod(file, 0644) |
|
52 |
assert.NoError(t, err, "should be fine") |
|
53 |
||
57 | 54 |
real := &Server{ |
66
965586c1e3ed
Change all ID into string, I guess this was to avoir overflow.
Ollivier Robert <roberto@keltia.net>
parents:
63
diff
changeset
|
55 |
ID: "666", |
57 | 56 |
Name: "foo", |
57 |
BearerToken: "d3b07384d113edec49eaa6238ad5ff00", |
|
67
1ff7afce37fe
Add a baseURL parameter to NewApp().
Ollivier Robert <roberto@keltia.net>
parents:
66
diff
changeset
|
58 |
BaseURL: "https://mastodon.social", |
57 | 59 |
} |
63 | 60 |
file = filepath.Join("test", "foo") |
61 |
s, err := loadInstance(file) |
|
57 | 62 |
assert.NoError(t, err, "all fine") |
63 |
assert.Equal(t, real, s, "equal") |
|
64 |
} |
|
65 |
||
66 |
func TestGetInstanceList(t *testing.T) { |
|
67 |
baseDir = "test" |
|
68 |
||
63 | 69 |
real := []string{ |
70 |
filepath.Join("test", "foo.token"), |
|
71 |
filepath.Join("test", "garbage.token"), |
|
72 |
} |
|
57 | 73 |
list := GetInstanceList() |
74 |
assert.Equal(t, real, list, "equal") |
|
58 | 75 |
|
76 |
baseDir = "/tmp" |
|
77 |
real = nil |
|
78 |
list = GetInstanceList() |
|
79 |
assert.Equal(t, real, list, "equal") |
|
60 | 80 |
|
81 |
baseDir = "/nonexistent" |
|
82 |
real = nil |
|
83 |
list = GetInstanceList() |
|
84 |
assert.Equal(t, real, list, "equal") |
|
57 | 85 |
} |
63 | 86 |
|
87 |
func TestLoadConfig(t *testing.T) { |
|
88 |
baseDir = "test" |
|
89 |
||
90 |
_, err := LoadConfig("foo") |
|
91 |
assert.NoError(t, err, "should be fine") |
|
92 |
||
93 |
_, err = LoadConfig("") |
|
94 |
assert.NoError(t, err, "should be fine") |
|
95 |
||
96 |
err = os.Chmod(filepath.Join("test", "config.toml"), 0000) |
|
97 |
assert.NoError(t, err, "should be fine") |
|
98 |
||
99 |
_, err = LoadConfig("") |
|
100 |
assert.Error(t, err, "should be unreadable") |
|
101 |
||
102 |
err = os.Chmod(filepath.Join("test", "config.toml"), 0600) |
|
103 |
assert.NoError(t, err, "should be fine") |
|
104 |
||
105 |
} |