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

50 行
1.5KB

  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.Save = map[string]string{
  13. "txt": "What is your date of birth?",
  14. "icon": "/mnt/data/abc.jpg",
  15. }
  16. s.response = "somexml less than 2018bytes"
  17. //save
  18. n, err := setCurrentState(openID, procedure, s)
  19. AssertEqual(t, err, nil, "save state should be successful")
  20. //read out
  21. m, _ := getCurrentState(openID, procedure)
  22. //compare
  23. AssertEqual(t, m.Name, n.Name, "Name should be equal")
  24. AssertEqual(t, m.Expire, n.Expire, "Expire should be equal")
  25. AssertEqual(t, m.Save["txt"], s.Save["txt"], "Message[txt] should be equal")
  26. AssertEqual(t, m.Save["icon"], s.Save["icon"], "Message[icon] should be equal")
  27. AssertEqual(t, m.OpenID, openID, "openID should be "+openID)
  28. AssertEqual(t, m.response, "", "response should be empty")
  29. AssertEqual(t, m.Procedure, procedure, "procedure should be "+procedure)
  30. AssertEqual(t, m.Save["txt"], n.Save["txt"], "Message[txt] should be equal")
  31. AssertEqual(t, m.Save["icon"], n.Save["icon"], "Message[icon] should be equal")
  32. err = deleteChatState(openID, procedure)
  33. AssertEqual(t, err, nil, "delete chatState should be good")
  34. }
  35. func TestStartProcedure(t *testing.T) {
  36. openID := "id"
  37. s := startProcedure(openID, "TestDummy")
  38. AssertEqual(t, s != nil, true, "TestDummy should return error")
  39. s = startProcedure(openID, "TestEcho")
  40. AssertEqual(t, s, nil, "TestEqual should return success")
  41. }