From 9dabaa26c7fa9bd79805b0dbd626c5386f805afb Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Wed, 2 May 2018 23:29:45 +0300 Subject: Add some basic Session tests --- config/session_test.go | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) (limited to 'config') diff --git a/config/session_test.go b/config/session_test.go index 780ac6b..ca283d9 100644 --- a/config/session_test.go +++ b/config/session_test.go @@ -15,3 +15,73 @@ // along with this program. If not, see . package config_test + +import ( + "testing" + "maunium.net/go/gomuks/config" + "github.com/stretchr/testify/assert" + "os" +) + +func TestConfig_NewSession(t *testing.T) { + defer os.RemoveAll("/tmp/gomuks-test-7") + + cfg := config.NewConfig("/tmp/gomuks-test-7", "/tmp/gomuks-test-7") + cfg.Load() + session := cfg.NewSession("@tulir:maunium.net") + assert.Equal(t, session.GetUserID(), "@tulir:maunium.net") + assert.Empty(t, session.Rooms) + + _, err1 := os.Stat("/tmp/gomuks-test-7/@tulir:maunium.net.session") + assert.True(t, os.IsNotExist(err1)) + assert.Nil(t, session.Save()) + _, err2 := os.Stat("/tmp/gomuks-test-7/@tulir:maunium.net.session") + assert.Nil(t, err2) +} + +func TestSession_Load(t *testing.T) { + defer os.RemoveAll("/tmp/gomuks-test-8") + + cfg := config.NewConfig("/tmp/gomuks-test-8", "/tmp/gomuks-test-8") + cfg.Load() + session := cfg.NewSession("@tulir:maunium.net") + session.NextBatch = "foobar" + session.FilterID = "1234" + + assert.Nil(t, session.Save()) + + cfg = config.NewConfig("/tmp/gomuks-test-8", "/tmp/gomuks-test-8") + cfg.LoadSession("@tulir:maunium.net") + assert.NotNil(t, cfg.Session) + assert.Equal(t, "foobar", cfg.Session.LoadNextBatch("@tulir:maunium.net")) + assert.Equal(t, "1234", cfg.Session.LoadFilterID("@tulir:maunium.net")) +} + +func TestSession_Clear(t *testing.T) { + defer os.RemoveAll("/tmp/gomuks-test-9") + + cfg := config.NewConfig("/tmp/gomuks-test-9", "/tmp/gomuks-test-9") + cfg.Load() + session := cfg.NewSession("@tulir:maunium.net") + session.NextBatch = "foobar" + session.FilterID = "1234" + + assert.Nil(t, session.Save()) + + cfg = config.NewConfig("/tmp/gomuks-test-9", "/tmp/gomuks-test-9") + cfg.LoadSession("@tulir:maunium.net") + assert.NotNil(t, cfg.Session) + assert.Equal(t, "foobar", cfg.Session.LoadNextBatch("@tulir:maunium.net")) + assert.Equal(t, "1234", cfg.Session.LoadFilterID("@tulir:maunium.net")) + + cfg.Session.Clear() + assert.Empty(t, cfg.Session.FilterID) + assert.Empty(t, cfg.Session.NextBatch) + assert.Empty(t, cfg.Session.Rooms) + + cfg = config.NewConfig("/tmp/gomuks-test-9", "/tmp/gomuks-test-9") + cfg.LoadSession("@tulir:maunium.net") + assert.Empty(t, cfg.Session.FilterID) + assert.Empty(t, cfg.Session.NextBatch) + assert.Empty(t, cfg.Session.Rooms) +} -- cgit v1.2.3