rove/pkg/server/server_test.go
Marc Di Luzio 8586bdabd7 Fix duplicate saving on quit
Slight refactor to split server stop and close functions
	Quit function explicitly sends SIGTERM
	SIGTERM doesn't trigger an os.Exit

	Bonus: Properly save the world on spawning the rover
2020-06-07 18:06:34 +01:00

60 lines
1.2 KiB
Go

package server
import (
"testing"
)
func TestNewServer(t *testing.T) {
server := NewServer()
if server == nil {
t.Error("Failed to create server")
}
}
func TestNewServer_OptionAddress(t *testing.T) {
server := NewServer(OptionAddress(":1234"))
if server == nil {
t.Error("Failed to create server")
} else if server.address != ":1234" {
t.Error("Failed to set server address")
}
}
func TestNewServer_OptionPersistentData(t *testing.T) {
server := NewServer(OptionPersistentData())
if server == nil {
t.Error("Failed to create server")
} else if server.persistence != PersistentData {
t.Error("Failed to set server persistent data")
}
}
func TestServer_Run(t *testing.T) {
server := NewServer()
if server == nil {
t.Error("Failed to create server")
} else if err := server.Initialise(); err != nil {
t.Error(err)
}
go server.Run()
if err := server.StopAndClose(); err != nil {
t.Error(err)
}
}
func TestServer_RunPersistentData(t *testing.T) {
server := NewServer(OptionPersistentData())
if server == nil {
t.Error("Failed to create server")
} else if err := server.Initialise(); err != nil {
t.Error(err)
}
go server.Run()
if err := server.StopAndClose(); err != nil {
t.Error(err)
}
}