mirror of
https://gitee.com/johng/gf
synced 2026-06-06 02:25:47 +08:00
Improving gSession Code Coverage
This commit is contained in:
265
os/gsession/gsession_z_example_test.go
Normal file
265
os/gsession/gsession_z_example_test.go
Normal 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>
|
||||
}
|
||||
@ -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()
|
||||
|
||||
Reference in New Issue
Block a user