|
- package main
-
- import (
- "testing"
- "time"
- )
-
- func TestChatState(t *testing.T) {
- openID := "id"
- procedure := "getUserBasicProfile"
- s := chatState{}
- s.Name = "waiting for username"
- s.Expire = int32(time.Now().Unix() + 200)
- s.Send.Message = map[string]string{
- "txt": "What is your date of birth?",
- "icon": "/mnt/data/abc.jpg",
- }
- s.Send.Type = "text"
- s.Sent = false
- s.Received = false
- s.Receive.Hint = "hint"
- s.Receive.Validator = "validator email"
- s.Receive.Message = map[string]string{
- "rtxt": "should be 3 chars at least",
- "ricon": "icon path should be available",
- }
-
- //save
- n, err := setCurrentState("id", procedure, s)
- AssertEqual(t, err, nil, "save state should be successful")
-
- //read out
- m, _ := getCurrentState("id", procedure)
-
- //compare
- AssertEqual(t, m.Name, n.Name, "Name should be equal")
- AssertEqual(t, m.Expire, n.Expire, "Expire should be equal")
- AssertEqual(t, m.Send.Type, n.Send.Type, "Send.Type should be equal")
- AssertEqual(t, m.Received, false, "Receive.Received should be false")
- AssertEqual(t, m.Sent, false, "Send.Sent should be false")
- AssertEqual(t, m.OpenID, openID, "openID should be "+openID)
- AssertEqual(t, m.Procedure, procedure, "procedure should be "+procedure)
- AssertEqual(t, m.Send.Message["txt"], n.Send.Message["txt"], "Message[txt] should be equal")
- AssertEqual(t, m.Send.Message["icon"], n.Send.Message["icon"], "Message[icon] should be equal")
- AssertEqual(t, m.Receive.Message["rtxt"], n.Receive.Message["rtxt"], "Message[rtxt] should be equal")
- AssertEqual(t, m.Receive.Message["ricon"], n.Receive.Message["ricon"], "Message[ricon] should be equal")
-
- err = deleteChatState("id", procedure)
- AssertEqual(t, err, nil, "delete chatState should be good")
-
- }
-
- func TestStartProcedure(t *testing.T) {
- s := startProcedure("id", "TestDummy")
- AssertEqual(t, s != nil, true, "TestDummy should return error")
- s = startProcedure("id", "TestEcho")
- AssertEqual(t, s, nil, "TestEqual should return success")
- }
|