選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

60 行
2.0KB

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