您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

54 行
1.8KB

  1. package main
  2. import (
  3. "testing"
  4. "time"
  5. )
  6. func TestChatState(t *testing.T) {
  7. procedure := "getUserBasicProfile"
  8. s := chatState{}
  9. s.Name = "waiting for username"
  10. s.Expire = int32(time.Now().Unix() + 200)
  11. s.Send.Message = map[string]string{
  12. "txt": "What is your date of birth?",
  13. "icon": "/mnt/data/abc.jpg"}
  14. s.Send.Type = "text"
  15. s.Send.Sent = false
  16. s.Receive.Hint = "hint"
  17. s.Receive.Received = false
  18. s.Receive.Validator = "validator email"
  19. s.Receive.Message = map[string]string{
  20. "rtxt": "should be 3 chars at least",
  21. "ricon": "icon path should be available"}
  22. //save
  23. n, err := setCurrentState("id", procedure, s)
  24. AssertEqual(t, err, nil, "save state should be successful")
  25. //read out
  26. m, _ := getCurrentState("id", procedure)
  27. //compare
  28. AssertEqual(t, m.Name, n.Name, "Name should be equal")
  29. AssertEqual(t, m.Expire, n.Expire, "Expire should be equal")
  30. AssertEqual(t, m.Send.Type, n.Send.Type, "Send.Type should be equal")
  31. AssertEqual(t, m.Receive.Received, false, "Receive.Received should be false")
  32. AssertEqual(t, m.Send.Sent, false, "Send.Sent should be false")
  33. AssertEqual(t, m.Send.Message["txt"], n.Send.Message["txt"], "Message[txt] should be equal")
  34. AssertEqual(t, m.Send.Message["icon"], n.Send.Message["icon"], "Message[icon] should be equal")
  35. AssertEqual(t, m.Receive.Message["rtxt"], n.Receive.Message["rtxt"], "Message[rtxt] should be equal")
  36. AssertEqual(t, m.Receive.Message["ricon"], n.Receive.Message["ricon"], "Message[ricon] should be equal")
  37. err = deleteChatState("id", procedure)
  38. AssertEqual(t, err, nil, "delete chatState should be good")
  39. }
  40. func TestStartProcedure(t *testing.T) {
  41. s := startProcedure("id", "TestDummy")
  42. AssertEqual(t, s != nil, true, "TestDummy should return error")
  43. s = startProcedure("id", "TestEcho")
  44. AssertEqual(t, s, nil, "TestEqual should return success")
  45. }