From cb8e7f4fef060e0b8c942ca8a4dbe92ff61a0a02 Mon Sep 17 00:00:00 2001 From: bodqhrohro Date: Thu, 5 Dec 2019 23:21:07 +0200 Subject: [PATCH] Add tests for sessions --- Makefile | 2 +- persistence/sessions_test.go | 79 ++++++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 persistence/sessions_test.go diff --git a/Makefile b/Makefile index 662ce26..6ea87f9 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ all: go build -o telegabber test: - go test -v ./config ./ ./telegram ./xmpp/gateway + go test -v ./config ./ ./telegram ./xmpp/gateway ./persistence lint: $(GOPATH)/bin/golint ./... diff --git a/persistence/sessions_test.go b/persistence/sessions_test.go new file mode 100644 index 0000000..0968b53 --- /dev/null +++ b/persistence/sessions_test.go @@ -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!") + } +}