@@ -27,7 +27,7 @@ func (s *Suite) TearDownSuite(c *check.C) {
2727
2828}
2929
30- func (* Suite ) TestConfigLoading (c * check.C ) {
30+ func (* Suite ) TestPostgresConfigLoading (c * check.C ) {
3131 tmpDir , err := ioutil .TempDir ("" , "headscale" )
3232 if err != nil {
3333 c .Fatal (err )
@@ -40,7 +40,7 @@ func (*Suite) TestConfigLoading(c *check.C) {
4040 }
4141
4242 // Symlink the example config file
43- err = os .Symlink (filepath .Clean (path + "/../../config.json.example" ), filepath .Join (tmpDir , "config.json" ))
43+ err = os .Symlink (filepath .Clean (path + "/../../config.json.postgres. example" ), filepath .Join (tmpDir , "config.json" ))
4444 if err != nil {
4545 c .Fatal (err )
4646 }
@@ -50,14 +50,47 @@ func (*Suite) TestConfigLoading(c *check.C) {
5050 c .Assert (err , check .IsNil )
5151
5252 // Test that config file was interpreted correctly
53- c .Assert (viper .GetString ("server_url" ), check .Equals , "http://192.168.1.12 :8000" )
53+ c .Assert (viper .GetString ("server_url" ), check .Equals , "http://127.0.0.1 :8000" )
5454 c .Assert (viper .GetString ("listen_addr" ), check .Equals , "0.0.0.0:8000" )
5555 c .Assert (viper .GetString ("derp_map_path" ), check .Equals , "derp.yaml" )
56+ c .Assert (viper .GetString ("db_type" ), check .Equals , "postgres" )
5657 c .Assert (viper .GetString ("db_port" ), check .Equals , "5432" )
5758 c .Assert (viper .GetString ("tls_letsencrypt_hostname" ), check .Equals , "" )
5859 c .Assert (viper .GetString ("tls_letsencrypt_challenge_type" ), check .Equals , "HTTP-01" )
5960}
6061
62+ func (* Suite ) TestSqliteConfigLoading (c * check.C ) {
63+ tmpDir , err := ioutil .TempDir ("" , "headscale" )
64+ if err != nil {
65+ c .Fatal (err )
66+ }
67+ defer os .RemoveAll (tmpDir )
68+
69+ path , err := os .Getwd ()
70+ if err != nil {
71+ c .Fatal (err )
72+ }
73+
74+ // Symlink the example config file
75+ err = os .Symlink (filepath .Clean (path + "/../../config.json.sqlite.example" ), filepath .Join (tmpDir , "config.json" ))
76+ if err != nil {
77+ c .Fatal (err )
78+ }
79+
80+ // Load example config, it should load without validation errors
81+ err = loadConfig (tmpDir )
82+ c .Assert (err , check .IsNil )
83+
84+ // Test that config file was interpreted correctly
85+ c .Assert (viper .GetString ("server_url" ), check .Equals , "http://127.0.0.1:8000" )
86+ c .Assert (viper .GetString ("listen_addr" ), check .Equals , "0.0.0.0:8000" )
87+ c .Assert (viper .GetString ("derp_map_path" ), check .Equals , "derp.yaml" )
88+ c .Assert (viper .GetString ("db_type" ), check .Equals , "sqlite3" )
89+ c .Assert (viper .GetString ("db_path" ), check .Equals , "db.sqlite" )
90+ c .Assert (viper .GetString ("tls_letsencrypt_hostname" ), check .Equals , "" )
91+ c .Assert (viper .GetString ("tls_letsencrypt_challenge_type" ), check .Equals , "HTTP-01" )
92+ }
93+
6194func writeConfig (c * check.C , tmpDir string , configYaml []byte ) {
6295 // Populate a custom config file
6396 configFile := filepath .Join (tmpDir , "config.yaml" )
@@ -89,7 +122,7 @@ func (*Suite) TestTLSConfigValidation(c *check.C) {
89122 fmt .Println (tmp )
90123
91124 // Check configuration validation errors (2)
92- configYaml = []byte ("---\n server_url: \" http://192.168.1.12 :8000\" \n tls_letsencrypt_hostname: \" example.com\" \n tls_letsencrypt_challenge_type: \" TLS-ALPN-01\" " )
125+ configYaml = []byte ("---\n server_url: \" http://127.0.0.1 :8000\" \n tls_letsencrypt_hostname: \" example.com\" \n tls_letsencrypt_challenge_type: \" TLS-ALPN-01\" " )
93126 writeConfig (c , tmpDir , configYaml )
94127 err = loadConfig (tmpDir )
95128 c .Assert (err , check .NotNil )
0 commit comments