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
|
package config
import (
"bytes"
"testing"
"time"
"github.com/nsheridan/cashier/testdata"
"github.com/stretchr/testify/assert"
)
func TestServerConfig(t *testing.T) {
a := assert.New(t)
c, err := ReadConfig(bytes.NewBuffer(testdata.ServerConfig))
if err != nil {
t.Fatal(err)
}
server := c.Server
a.IsType(server, Server{})
a.True(server.UseTLS)
a.Equal(server.TLSKey, "server.key")
a.Equal(server.TLSCert, "server.crt")
a.Equal(server.Port, 443)
a.Equal(server.CookieSecret, "supersecret")
}
func TestAuthConfig(t *testing.T) {
a := assert.New(t)
c, err := ReadConfig(bytes.NewBuffer(testdata.AuthConfig))
if err != nil {
t.Fatal(err)
}
auth := c.Auth
a.IsType(auth, Auth{})
a.Equal(auth.Provider, "google")
a.Equal(auth.ProviderOpts, map[string]string{"domain": "example.com"})
a.Equal(auth.OauthClientID, "client_id")
a.Equal(auth.OauthClientSecret, "secret")
a.Equal(auth.OauthCallbackURL, "https://sshca.example.com/auth/callback")
}
func TestSSHConfig(t *testing.T) {
a := assert.New(t)
c, err := ReadConfig(bytes.NewBuffer(testdata.SSHConfig))
if err != nil {
t.Fatal(err)
}
ssh := c.SSH
a.IsType(ssh, SSH{})
a.Equal(ssh.SigningKey, "signing_key")
a.Equal(ssh.AdditionalPrincipals, []string{"ec2-user", "ubuntu"})
a.Equal(ssh.Permissions, []string{"permit-pty", "permit-X11-forwarding", "permit-port-forwarding", "permit-user-rc"})
a.Equal(ssh.MaxAge, "720h")
d, err := time.ParseDuration(ssh.MaxAge)
if err != nil {
t.Fatal(err)
}
a.Equal(d.Hours(), float64(720))
}
|