forked from devangel/config
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathconfig_test.go
63 lines (56 loc) · 1.59 KB
/
config_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
package config_test
import (
"fmt"
"github.com/ForceCLI/config"
"io/ioutil"
"os"
"testing"
)
func ExampleNewConfig() {
conf := config.NewConfig("myapp")
fmt.Println(conf.Base)
// Output: myapp
}
func ExampleConfig_Save() {
conf := config.NewConfig("myapp")
conf.Save("logins", "[email protected]", "12345")
password, _ := conf.Load("logins", "[email protected]")
fmt.Println(password)
// Output: 12345
}
func ExampleConfig_Load() {
conf := config.NewConfig("myapp")
conf.Save("logins", "[email protected]", "12345")
password, _ := conf.Load("logins", "[email protected]")
fmt.Println(password)
// Output: 12345
}
func ExampleConfig_List() {
conf := config.NewConfig("myapp")
conf.Save("logins", "[email protected]", "12345")
conf.Save("logins", "[email protected]", "12345")
logins, _ := conf.List("logins")
fmt.Println(logins)
// Output: [[email protected] [email protected]]
}
func ExampleConfig_Delete() {
conf := config.NewConfig("myapp")
conf.Save("logins", "[email protected]", "12345")
conf.Save("logins", "[email protected]", "12345")
conf.Delete("logins", "[email protected]")
logins, _ := conf.List("logins")
fmt.Println(logins)
// Output: [[email protected]]
}
func TestLocalConfig(t *testing.T) {
tempDir, _ := ioutil.TempDir("", "config-test")
os.Chdir(tempDir)
conf := config.NewConfig("myapp")
conf.SaveGlobal("logins", "[email protected]", "00000")
conf.SaveLocal("logins", "[email protected]", "12345")
password, _ := conf.LoadLocalOrGlobal("logins", "[email protected]")
os.RemoveAll(tempDir)
if password != "12345" {
t.Fatalf("Failed to read local config value")
}
}