Add tests for sessions
This commit is contained in:
parent
ec1197f83c
commit
cb8e7f4fef
2
Makefile
2
Makefile
|
@ -4,7 +4,7 @@ all:
|
||||||
go build -o telegabber
|
go build -o telegabber
|
||||||
|
|
||||||
test:
|
test:
|
||||||
go test -v ./config ./ ./telegram ./xmpp/gateway
|
go test -v ./config ./ ./telegram ./xmpp/gateway ./persistence
|
||||||
|
|
||||||
lint:
|
lint:
|
||||||
$(GOPATH)/bin/golint ./...
|
$(GOPATH)/bin/golint ./...
|
||||||
|
|
79
persistence/sessions_test.go
Normal file
79
persistence/sessions_test.go
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
package persistence
|
||||||
|
|
||||||
|
import (
|
||||||
|
"reflect"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestEmptySessionsMap(t *testing.T) {
|
||||||
|
var sm SessionsMap
|
||||||
|
emptySessionsMap(&sm)
|
||||||
|
if sm.Sessions == nil {
|
||||||
|
t.Error("Session map is still empty!")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestNoEmptySessionsMap(t *testing.T) {
|
||||||
|
var sm SessionsMap
|
||||||
|
if sm.Sessions != nil {
|
||||||
|
t.Error("Session map is not empty at start!")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestSessionGet(t *testing.T) {
|
||||||
|
session := Session{
|
||||||
|
Timezone: "klsf",
|
||||||
|
}
|
||||||
|
tz, err := session.Get("timezone")
|
||||||
|
if err != nil {
|
||||||
|
t.Error(err)
|
||||||
|
}
|
||||||
|
if tz != "klsf" {
|
||||||
|
t.Errorf("Wrong value from session: %s", tz)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestSessionGetAbsent(t *testing.T) {
|
||||||
|
session := Session{
|
||||||
|
Timezone: "klsf",
|
||||||
|
}
|
||||||
|
_, err := session.Get("donkey")
|
||||||
|
if err == nil {
|
||||||
|
t.Error("There shouldn't be a donkey!")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestSessionToMap(t *testing.T) {
|
||||||
|
session := Session{
|
||||||
|
Timezone: "klsf",
|
||||||
|
}
|
||||||
|
m := session.ToMap()
|
||||||
|
sample := map[string]string{
|
||||||
|
"timezone": "klsf",
|
||||||
|
}
|
||||||
|
if !reflect.DeepEqual(m, sample) {
|
||||||
|
t.Errorf("Map does not match the sample: %v", m)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestSessionSet(t *testing.T) {
|
||||||
|
session := Session{}
|
||||||
|
tz, err := session.Set("timezone", "zaz")
|
||||||
|
if err != nil {
|
||||||
|
t.Error(err)
|
||||||
|
}
|
||||||
|
if tz != "zaz" {
|
||||||
|
t.Errorf("Wrong set result: %s", tz)
|
||||||
|
}
|
||||||
|
if session.Timezone != "zaz" {
|
||||||
|
t.Errorf("Wrong actual value in the session: %s", session.Timezone)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestSessionSetAbsent(t *testing.T) {
|
||||||
|
session := Session{}
|
||||||
|
_, err := session.Set("donkey", "zaz")
|
||||||
|
if err == nil {
|
||||||
|
t.Error("There shouldn't come a donkey!")
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue