ssdb_test.go 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. package ssdb
  2. import (
  3. "strconv"
  4. "testing"
  5. "time"
  6. "github.com/astaxie/beego/cache"
  7. )
  8. func TestSsdbcacheCache(t *testing.T) {
  9. ssdb, err := cache.NewCache("ssdb", `{"conn": "127.0.0.1:8888"}`)
  10. if err != nil {
  11. t.Error("init err")
  12. }
  13. // test put and exist
  14. if ssdb.IsExist("ssdb") {
  15. t.Error("check err")
  16. }
  17. timeoutDuration := 10 * time.Second
  18. //timeoutDuration := -10*time.Second if timeoutDuration is negtive,it means permanent
  19. if err = ssdb.Put("ssdb", "ssdb", timeoutDuration); err != nil {
  20. t.Error("set Error", err)
  21. }
  22. if !ssdb.IsExist("ssdb") {
  23. t.Error("check err")
  24. }
  25. // Get test done
  26. if err = ssdb.Put("ssdb", "ssdb", timeoutDuration); err != nil {
  27. t.Error("set Error", err)
  28. }
  29. if v := ssdb.Get("ssdb"); v != "ssdb" {
  30. t.Error("get Error")
  31. }
  32. //inc/dec test done
  33. if err = ssdb.Put("ssdb", "2", timeoutDuration); err != nil {
  34. t.Error("set Error", err)
  35. }
  36. if err = ssdb.Incr("ssdb"); err != nil {
  37. t.Error("incr Error", err)
  38. }
  39. if v, err := strconv.Atoi(ssdb.Get("ssdb").(string)); err != nil || v != 3 {
  40. t.Error("get err")
  41. }
  42. if err = ssdb.Decr("ssdb"); err != nil {
  43. t.Error("decr error")
  44. }
  45. // test del
  46. if err = ssdb.Put("ssdb", "3", timeoutDuration); err != nil {
  47. t.Error("set Error", err)
  48. }
  49. if v, err := strconv.Atoi(ssdb.Get("ssdb").(string)); err != nil || v != 3 {
  50. t.Error("get err")
  51. }
  52. if err := ssdb.Delete("ssdb"); err == nil {
  53. if ssdb.IsExist("ssdb") {
  54. t.Error("delete err")
  55. }
  56. }
  57. //test string
  58. if err = ssdb.Put("ssdb", "ssdb", -10*time.Second); err != nil {
  59. t.Error("set Error", err)
  60. }
  61. if !ssdb.IsExist("ssdb") {
  62. t.Error("check err")
  63. }
  64. if v := ssdb.Get("ssdb").(string); v != "ssdb" {
  65. t.Error("get err")
  66. }
  67. //test GetMulti done
  68. if err = ssdb.Put("ssdb1", "ssdb1", -10*time.Second); err != nil {
  69. t.Error("set Error", err)
  70. }
  71. if !ssdb.IsExist("ssdb1") {
  72. t.Error("check err")
  73. }
  74. vv := ssdb.GetMulti([]string{"ssdb", "ssdb1"})
  75. if len(vv) != 2 {
  76. t.Error("getmulti error")
  77. }
  78. if vv[0].(string) != "ssdb" {
  79. t.Error("getmulti error")
  80. }
  81. if vv[1].(string) != "ssdb1" {
  82. t.Error("getmulti error")
  83. }
  84. // test clear all done
  85. if err = ssdb.ClearAll(); err != nil {
  86. t.Error("clear all err")
  87. }
  88. if ssdb.IsExist("ssdb") || ssdb.IsExist("ssdb1") {
  89. t.Error("check err")
  90. }
  91. }