author | Mikael Berthe <mikael@lilotux.net> |
Sat, 15 Apr 2017 21:08:34 +0200 | |
changeset 124 | 5ee3f23205af |
parent 81 | ba90955d2d56 |
permissions | -rw-r--r-- |
73
d601c957d789
We are in package "main" now.
Ollivier Robert <roberto@keltia.net>
parents:
69
diff
changeset
|
1 |
package main |
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{ |
124 | 55 |
ID: "666abcdef666", |
57 | 56 |
Name: "foo", |
57 |
BearerToken: "d3b07384d113edec49eaa6238ad5ff00", |
|
124 | 58 |
APIBase: "https://mastodon.social/api/v1", |
59 |
InstanceURL: "https://mastodon.social", |
|
57 | 60 |
} |
63 | 61 |
file = filepath.Join("test", "foo") |
62 |
s, err := loadInstance(file) |
|
57 | 63 |
assert.NoError(t, err, "all fine") |
64 |
assert.Equal(t, real, s, "equal") |
|
65 |
} |
|
66 |
||
67 |
func TestGetInstanceList(t *testing.T) { |
|
68 |
baseDir = "test" |
|
69 |
||
63 | 70 |
real := []string{ |
71 |
filepath.Join("test", "foo.token"), |
|
72 |
filepath.Join("test", "garbage.token"), |
|
73 |
} |
|
57 | 74 |
list := GetInstanceList() |
75 |
assert.Equal(t, real, list, "equal") |
|
58 | 76 |
|
77 |
baseDir = "/tmp" |
|
78 |
real = nil |
|
79 |
list = GetInstanceList() |
|
80 |
assert.Equal(t, real, list, "equal") |
|
60 | 81 |
|
82 |
baseDir = "/nonexistent" |
|
83 |
real = nil |
|
84 |
list = GetInstanceList() |
|
85 |
assert.Equal(t, real, list, "equal") |
|
57 | 86 |
} |
63 | 87 |
|
88 |
func TestLoadConfig(t *testing.T) { |
|
89 |
baseDir = "test" |
|
90 |
||
91 |
_, err := LoadConfig("foo") |
|
92 |
assert.NoError(t, err, "should be fine") |
|
93 |
||
94 |
_, err = LoadConfig("") |
|
95 |
assert.NoError(t, err, "should be fine") |
|
96 |
||
97 |
err = os.Chmod(filepath.Join("test", "config.toml"), 0000) |
|
98 |
assert.NoError(t, err, "should be fine") |
|
99 |
||
100 |
_, err = LoadConfig("") |
|
101 |
assert.Error(t, err, "should be unreadable") |
|
102 |
||
103 |
err = os.Chmod(filepath.Join("test", "config.toml"), 0600) |
|
104 |
assert.NoError(t, err, "should be fine") |
|
105 |
||
124 | 106 |
} |