Skip to content
Snippets Groups Projects
Select Git revision
  • fd8b9b2062a8d904462093ad4331915687e81eab
  • main default protected
  • v1.298.0
  • v1.297.0
  • v1.296.0
  • v1.295.0
  • v1.294.0
  • v1.293.0
  • v1.292.0
  • v1.291.0
  • v1.290.0
  • v1.289.0
  • v1.288.0
  • v1.287.0
  • v1.286.0
  • v1.285.0
  • v1.284.0
  • v1.283.0
  • v1.282.0
  • v1.281.0
  • v1.280.0
  • v1.279.0
22 results

redis_test.go

Blame
  • redis_test.go 3.24 KiB
    package redis_test
    
    import (
    	"context"
    	"fmt"
    	"os"
    	"reflect"
    	"testing"
    	"time"
    
    	"gitlab.com/uafrica/go-utils/redis"
    )
    
    func TestString(t *testing.T) {
    	os.Setenv("REDIS_HOST", "localhost")
    	os.Setenv("REDIS_PORT", "6380")
    	ctx := context.Background()
    	r, err := redis.New(ctx)
    	if err != nil {
    		t.Fatalf("failed to create redis: %+v", err)
    	}
    	id := fmt.Sprintf("%s_%v", t.Name(), time.Now().Unix())
    	defer func() {
    		r.Del(id)
    	}()
    
    	value := "abc123"
    	if err := r.SetString(id, value); err != nil {
    		t.Fatalf("failed to set: (%T) %+v", err, err)
    	}
    
    	//get after set must return same value
    	if v, ok := r.GetString(id); !ok {
    		t.Fatalf("failed to get(%s)", id)
    	} else {
    		if v != value {
    			t.Fatalf("%s=%s != %s", id, v, value)
    		}
    	}
    
    	//must be able to delete
    	if err := r.Del(id); err != nil {
    		t.Fatalf("failed to del(%s): %+v", id, err)
    	}
    
    	//delete non-existing must also succeed
    	if err := r.Del(id); err != nil {
    		t.Fatalf("failed to del(%s) again: %+v", id, err)
    	}
    
    	//get after delete must indicate not exist
    	if _, ok := r.GetString(id); ok {
    		t.Fatalf("got(%s) after delete", id)
    	}
    }
    
    func TestJSON(t *testing.T) {
    	os.Setenv("REDIS_HOST", "localhost")
    	os.Setenv("REDIS_PORT", "6380")
    	ctx := context.Background()
    	r, err := redis.New(ctx)
    	if err != nil {
    		t.Fatalf("failed to create redis: %+v", err)
    	}
    	id := fmt.Sprintf("%s_%v", t.Name(), time.Now().Unix())
    	defer func() {
    		r.Del(id)
    	}()
    
    	type Person struct {