Improving gSession Code Coverage

This commit is contained in:
huangqian
2022-03-01 22:12:59 +08:00
parent 992a986d12
commit cb69fbcbd6
2 changed files with 277 additions and 5 deletions

View File

@ -0,0 +1,265 @@
package gsession_test
import (
"fmt"
"github.com/gogf/gf/v2/database/gredis"
"github.com/gogf/gf/v2/os/gctx"
"github.com/gogf/gf/v2/os/gsession"
"time"
)
func ExampleNew() {
manager := gsession.New(time.Second)
fmt.Println(manager.TTL())
// Output:
// 1s
}
func ExampleManager_SetStorage() {
manager := gsession.New(time.Second)
manager.SetStorage(gsession.NewStorageMemory())
fmt.Println(manager.TTL())
// Output:
// 1s
}
func ExampleManager_GetStorage() {
manager := gsession.New(time.Second, gsession.NewStorageMemory())
size, _ := manager.GetStorage().GetSize(gctx.New(), "id")
fmt.Println(size)
// Output:
// -1
}
func ExampleManager_SetTTL() {
manager := gsession.New(time.Second)
manager.SetTTL(time.Minute)
fmt.Println(manager.TTL())
// Output:
// 1m0s
}
func ExampleSession_Set() {
manager := gsession.New(time.Second, gsession.NewStorageFile())
s := manager.New(gctx.New())
fmt.Println(s.Set("key", "val") == nil)
// Output:
// true
}
func ExampleSession_SetMap() {
manager := gsession.New(time.Second, gsession.NewStorageFile())
s := manager.New(gctx.New())
fmt.Println(s.SetMap(map[string]interface{}{}) == nil)
// Output:
// true
}
func ExampleSession_Remove() {
manager := gsession.New(time.Second, gsession.NewStorageFile())
s1 := manager.New(gctx.New())
fmt.Println(s1.Remove("key"))
s2 := manager.New(gctx.New(), "Remove")
fmt.Println(s2.Remove("key"))
// Output:
// <nil>
// <nil>
}
func ExampleSession_RemoveAll() {
manager := gsession.New(time.Second, gsession.NewStorageFile())
s1 := manager.New(gctx.New())
fmt.Println(s1.RemoveAll())
s2 := manager.New(gctx.New(), "Remove")
fmt.Println(s2.RemoveAll())
// Output:
// <nil>
// <nil>
}
func ExampleSession_Id() {
manager := gsession.New(time.Second, gsession.NewStorageFile())
s := manager.New(gctx.New(), "Id")
id, _ := s.Id()
fmt.Println(id)
// Output:
// Id
}
func ExampleSession_SetId() {
nilSession := &gsession.Session{}
fmt.Println(nilSession.SetId("id"))
manager := gsession.New(time.Second, gsession.NewStorageFile())
s := manager.New(gctx.New())
s.Id()
fmt.Println(s.SetId("id"))
// Output:
// <nil>
// session already started
}
func ExampleSession_SetIdFunc() {
nilSession := &gsession.Session{}
fmt.Println(nilSession.SetIdFunc(func(ttl time.Duration) string {
return "id"
}))
manager := gsession.New(time.Second, gsession.NewStorageFile())
s := manager.New(gctx.New())
s.Id()
fmt.Println(s.SetIdFunc(func(ttl time.Duration) string {
return "id"
}))
// Output:
// <nil>
// session already started
}
func ExampleSession_Data() {
manager := gsession.New(time.Second, gsession.NewStorageFile())
s1 := manager.New(gctx.New())
data1, _ := s1.Data()
fmt.Println(data1)
s2 := manager.New(gctx.New(), "id_data")
data2, _ := s2.Data()
fmt.Println(data2)
// Output:
// map[]
// map[]
}
func ExampleSession_Size() {
manager := gsession.New(time.Second, gsession.NewStorageFile())
s1 := manager.New(gctx.New())
size1, _ := s1.Size()
fmt.Println(size1)
s2 := manager.New(gctx.New(), "Size")
size2, _ := s2.Size()
fmt.Println(size2)
// Output:
// 0
// 0
}
func ExampleSession_Contains() {
manager := gsession.New(time.Second, gsession.NewStorageFile())
s1 := manager.New(gctx.New())
notContains, _ := s1.Contains("Contains")
fmt.Println(notContains)
s2 := manager.New(gctx.New(), "Contains")
contains, _ := s2.Contains("Contains")
fmt.Println(contains)
// Output:
// false
// false
}
func ExampleStorageFile_SetCryptoKey() {
storage := gsession.NewStorageFile()
storage.SetCryptoKey([]byte("key"))
size, _ := storage.GetSize(gctx.New(), "id")
fmt.Println(size)
// Output:
// -1
}
func ExampleStorageFile_SetCryptoEnabled() {
storage := gsession.NewStorageFile()
storage.SetCryptoEnabled(true)
size, _ := storage.GetSize(gctx.New(), "id")
fmt.Println(size)
// Output:
// -1
}
func ExampleStorageFile_UpdateTTL() {
var (
ctx = gctx.New()
)
storage := gsession.NewStorageFile()
fmt.Println(storage.UpdateTTL(ctx, "id", time.Minute))
// Output:
// <nil>
}
func ExampleStorageRedis_Get() {
storage := gsession.NewStorageRedis(&gredis.Redis{})
val, _ := storage.Get(gctx.New(), "id", "key")
fmt.Println(val)
// Output:
// <nil>
}
func ExampleStorageRedis_Data() {
storage := gsession.NewStorageRedis(&gredis.Redis{})
val, _ := storage.Data(gctx.New(), "id")
fmt.Println(val)
// Output:
// map[]
}
func ExampleStorageRedis_GetSize() {
storage := gsession.NewStorageRedis(&gredis.Redis{})
val, _ := storage.GetSize(gctx.New(), "id")
fmt.Println(val)
// Output:
// -1
}
func ExampleStorageRedis_Remove() {
storage := gsession.NewStorageRedis(&gredis.Redis{})
err := storage.Remove(gctx.New(), "id", "key")
fmt.Println(err != nil)
// Output:
// true
}
func ExampleStorageRedis_RemoveAll() {
storage := gsession.NewStorageRedis(&gredis.Redis{})
err := storage.RemoveAll(gctx.New(), "id")
fmt.Println(err != nil)
// Output:
// true
}
func ExampleStorageRedis_UpdateTTL() {
storage := gsession.NewStorageRedis(&gredis.Redis{})
err := storage.UpdateTTL(gctx.New(), "id", time.Minute)
fmt.Println(err)
// Output:
// <nil>
}

View File

@ -25,9 +25,15 @@ func Test_StorageFile(t *testing.T) {
defer s.Close()
s.Set("k1", "v1")
s.Set("k2", "v2")
s.MustSet("k3", "v3")
s.MustSet("k4", "v4")
s.SetMap(g.Map{
"k3": "v3",
"k4": "v4",
"kmap1": "kval1",
"kmap2": "kval2",
})
s.MustSetMap(g.Map{
"kmap3": "kval3",
"kmap4": "kval4",
})
t.Assert(s.IsDirty(), true)
sessionId = s.MustId()
@ -40,16 +46,17 @@ func Test_StorageFile(t *testing.T) {
t.Assert(s.MustGet("k2"), "v2")
t.Assert(s.MustGet("k3"), "v3")
t.Assert(s.MustGet("k4"), "v4")
t.Assert(len(s.MustData()), 4)
t.Assert(len(s.MustData()), 8)
t.Assert(s.MustData()["k1"], "v1")
t.Assert(s.MustData()["k4"], "v4")
t.Assert(s.MustId(), sessionId)
t.Assert(s.MustSize(), 4)
t.Assert(s.MustSize(), 8)
t.Assert(s.MustContains("k1"), true)
t.Assert(s.MustContains("k3"), true)
t.Assert(s.MustContains("k5"), false)
s.Remove("k4")
t.Assert(s.MustSize(), 3)
s.MustRemove("k4")
t.Assert(s.MustSize(), 7)
t.Assert(s.MustContains("k3"), true)
t.Assert(s.MustContains("k4"), false)
s.RemoveAll()