Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

61 rinda
1.5KB

  1. package main
  2. import (
  3. "log"
  4. "testing"
  5. "time"
  6. )
  7. func TestSession(t *testing.T) {
  8. id := "testopenid"
  9. procedure := "test procedure"
  10. s := openIDSessionData{}
  11. s.OpenID = id
  12. s.Procedure = procedure
  13. //delete any existing
  14. s.Delete()
  15. path := getSessionPath(id)
  16. AssertEqual(t, isFileExist(path), false, "Session file should not exist")
  17. //create new
  18. original := createEmptySession(id, 100)
  19. original.Procedure = procedure
  20. original.Save()
  21. //wait 1 sec
  22. log.Print("wait for 1 sec for testing timestamp ......")
  23. time.Sleep(1 * time.Second)
  24. log.Print("......waiting done")
  25. //read back , check state
  26. s.Load(id)
  27. AssertEqual(t, s.OpenID, id, "")
  28. AssertEqual(t, s.Procedure, procedure, "")
  29. now := int32(time.Now().Unix())
  30. //check timing
  31. AssertEqual(t, s.Expire > now, true, "Expire should be in future")
  32. AssertEqual(t, s.UpdateAt < now, true, "Update should be in pass")
  33. AssertEqual(t, s.CreateAt == s.UpdateAt, true, "Update should be equal to create")
  34. AssertEqual(t, isExpired(now), false, "current time should not be expired")
  35. //update existing session
  36. s.setKvPair("key", "value")
  37. s.setKvPair("key1", "value1")
  38. //timeing should be exactly 1s diff
  39. AssertEqual(t, s.CreateAt+1 == s.UpdateAt, true, "second Update should be bigger create")
  40. s.Save()
  41. n := openIDSessionData{}
  42. n.Load(id)
  43. AssertEqual(t, n.KvPair["key"], "value", "key = value ")
  44. AssertEqual(t, n.KvPair["key1"], "value1", "key1 = value1")
  45. //delete session, for clean up
  46. n.Delete()
  47. path = getSessionPath(id)
  48. AssertEqual(t, isFileExist(path), false, "Session file should not exist")
  49. }