test: add server unit tests
This commit is contained in:
parent
81756e598f
commit
dc4507a7ab
|
|
@ -0,0 +1,54 @@
|
||||||
|
package server
|
||||||
|
|
||||||
|
import (
|
||||||
|
"os"
|
||||||
|
"path/filepath"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestNewServer(t *testing.T) {
|
||||||
|
dir := t.TempDir()
|
||||||
|
dbPath := filepath.Join(dir, "test.db")
|
||||||
|
dataDir := filepath.Join(dir, "data")
|
||||||
|
if err := os.MkdirAll(dataDir, 0750); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
cfg := &Config{Port: 47732}
|
||||||
|
s, err := NewServer(dbPath, dataDir, cfg)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("NewServer: %v", err)
|
||||||
|
}
|
||||||
|
defer s.Close()
|
||||||
|
|
||||||
|
if _, err := os.Stat(dbPath); os.IsNotExist(err) {
|
||||||
|
t.Fatal("database file was not created")
|
||||||
|
}
|
||||||
|
|
||||||
|
blobsDir := filepath.Join(dataDir, "blobs")
|
||||||
|
if _, err := os.Stat(blobsDir); os.IsNotExist(err) {
|
||||||
|
t.Fatal("blobs directory was not created")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestConfigSetAdmin(t *testing.T) {
|
||||||
|
dir := t.TempDir()
|
||||||
|
cfgPath := filepath.Join(dir, "config.yml")
|
||||||
|
cfg := &Config{Port: 47732, path: cfgPath}
|
||||||
|
|
||||||
|
if err := cfg.SetAdmin("admin", "secret"); err != nil {
|
||||||
|
t.Fatalf("SetAdmin: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if !cfg.CheckAdmin("admin", "secret") {
|
||||||
|
t.Fatal("CheckAdmin should return true for correct password")
|
||||||
|
}
|
||||||
|
|
||||||
|
if cfg.CheckAdmin("admin", "wrong") {
|
||||||
|
t.Fatal("CheckAdmin should return false for wrong password")
|
||||||
|
}
|
||||||
|
|
||||||
|
if cfg.CheckAdmin("unknown", "secret") {
|
||||||
|
t.Fatal("CheckAdmin should return false for unknown user")
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue