diff --git a/os/gsession/gsession_z_example_test.go b/os/gsession/gsession_z_example_test.go new file mode 100644 index 000000000..469da26a4 --- /dev/null +++ b/os/gsession/gsession_z_example_test.go @@ -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: + // + // +} + +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: + // + // +} + +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: + // + // 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: + // + // 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: + // +} + +func ExampleStorageRedis_Get() { + storage := gsession.NewStorageRedis(&gredis.Redis{}) + val, _ := storage.Get(gctx.New(), "id", "key") + fmt.Println(val) + + // Output: + // +} + +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: + // +} diff --git a/os/gsession/gsession_z_unit_storage_file_test.go b/os/gsession/gsession_z_unit_storage_file_test.go index 3f2b75db0..75e68a810 100644 --- a/os/gsession/gsession_z_unit_storage_file_test.go +++ b/os/gsession/gsession_z_unit_storage_file_test.go @@ -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()