github.com/influx6/npkg@v0.8.8/nstorage/nredis/integration_test.go (about)

     1  package nredis
     2  
     3  import (
     4  	"context"
     5  	"testing"
     6  
     7  	redis "github.com/go-redis/redis/v8"
     8  	"github.com/influx6/npkg/nstorage/internal/tharness"
     9  	"github.com/stretchr/testify/require"
    10  )
    11  
    12  func TestIntegrationRedisStoreRemoveKeys(t *testing.T) {
    13  	var ops redis.Options
    14  	require.NotNil(t, &ops)
    15  
    16  	var redisClient = redis.NewClient(&ops)
    17  	require.NotNil(t, redisClient)
    18  
    19  	if err := redisClient.Ping(context.Background()).Err(); err != nil {
    20  		t.SkipNow()
    21  		return
    22  	}
    23  
    24  	var store, err = FromRedisStore(context.Background(), "testing_mb", redisClient)
    25  	require.NoError(t, err)
    26  	require.NotNil(t, store)
    27  
    28  	tharness.TestByteStoreRemoveKeys(t, store)
    29  }
    30  
    31  func TestIntegrationRedisStoreScanMatch(t *testing.T) {
    32  	var ops redis.Options
    33  	require.NotNil(t, &ops)
    34  
    35  	var redisClient = redis.NewClient(&ops)
    36  	require.NotNil(t, redisClient)
    37  
    38  	if err := redisClient.Ping(context.Background()).Err(); err != nil {
    39  		t.SkipNow()
    40  		return
    41  	}
    42  
    43  	var store, err = FromRedisStore(context.Background(), "testing_mb", redisClient)
    44  	require.NoError(t, err)
    45  	require.NotNil(t, store)
    46  
    47  	tharness.TestByteStoreScanMatch(t, store)
    48  }
    49  
    50  func TestIntegrationRedisStoreGetAnyKeys(t *testing.T) {
    51  	var ops redis.Options
    52  	require.NotNil(t, &ops)
    53  
    54  	var redisClient = redis.NewClient(&ops)
    55  	require.NotNil(t, redisClient)
    56  
    57  	if err := redisClient.Ping(context.Background()).Err(); err != nil {
    58  		t.SkipNow()
    59  		return
    60  	}
    61  
    62  	var store, err = FromRedisStore(context.Background(), "testing_mb", redisClient)
    63  	require.NoError(t, err)
    64  	require.NotNil(t, store)
    65  
    66  	tharness.TestByteStoreGetAnykeys(t, store)
    67  }
    68  
    69  func TestIntegrationRedisStoreTTL(t *testing.T) {
    70  	var ops redis.Options
    71  	require.NotNil(t, &ops)
    72  
    73  	var redisClient = redis.NewClient(&ops)
    74  	require.NotNil(t, redisClient)
    75  
    76  	if err := redisClient.Ping(context.Background()).Err(); err != nil {
    77  		t.SkipNow()
    78  		return
    79  	}
    80  
    81  	var store, err = FromRedisStore(context.Background(), "testing_mb", redisClient)
    82  	require.NoError(t, err)
    83  	require.NotNil(t, store)
    84  
    85  	tharness.TestExpiryReset(t, store)
    86  }
    87  
    88  func TestIntegrationRedisStoreExpirableStore(t *testing.T) {
    89  	var ops redis.Options
    90  	require.NotNil(t, &ops)
    91  
    92  	var redisClient = redis.NewClient(&ops)
    93  	require.NotNil(t, redisClient)
    94  
    95  	if err := redisClient.Ping(context.Background()).Err(); err != nil {
    96  		t.SkipNow()
    97  		return
    98  	}
    99  
   100  	var store, err = FromRedisStore(context.Background(), "testing_mb", redisClient)
   101  	require.NoError(t, err)
   102  	require.NotNil(t, store)
   103  
   104  	tharness.TestExpirableStore(t, store)
   105  }
   106  
   107  func TestIntegrationRedisStoreGetAllKeys(t *testing.T) {
   108  	var ops redis.Options
   109  	require.NotNil(t, &ops)
   110  
   111  	var redisClient = redis.NewClient(&ops)
   112  	require.NotNil(t, redisClient)
   113  
   114  	if err := redisClient.Ping(context.Background()).Err(); err != nil {
   115  		t.SkipNow()
   116  		return
   117  	}
   118  
   119  	var store, err = FromRedisStore(context.Background(), "testing_mb", redisClient)
   120  	require.NoError(t, err)
   121  	require.NotNil(t, store)
   122  
   123  	tharness.TestByteStoreGetAllkeys(t, store)
   124  }
   125  
   126  func TestIntegrationRedisStoreFindEach(t *testing.T) {
   127  	var ops redis.Options
   128  	require.NotNil(t, &ops)
   129  
   130  	var redisClient = redis.NewClient(&ops)
   131  	require.NotNil(t, redisClient)
   132  
   133  	if err := redisClient.Ping(context.Background()).Err(); err != nil {
   134  		t.SkipNow()
   135  		return
   136  	}
   137  
   138  	var store, err = FromRedisStore(context.Background(), "testing_mb", redisClient)
   139  	require.NoError(t, err)
   140  	require.NotNil(t, store)
   141  
   142  	tharness.TestByteStoreFindEach(t, store)
   143  }
   144  
   145  func TestIntegrationRedisStoreEachPrefixKey(t *testing.T) {
   146  	var ops redis.Options
   147  	require.NotNil(t, &ops)
   148  
   149  	var redisClient = redis.NewClient(&ops)
   150  	require.NotNil(t, redisClient)
   151  
   152  	if err := redisClient.Ping(context.Background()).Err(); err != nil {
   153  		t.SkipNow()
   154  		return
   155  	}
   156  
   157  	var store, err = FromRedisStore(context.Background(), "testing_mb", redisClient)
   158  	require.NoError(t, err)
   159  	require.NotNil(t, store)
   160  
   161  	tharness.TestByteStoreFindPrefix(t, store)
   162  }
   163  
   164  func TestIntegrationRedisStoreFindAll(t *testing.T) {
   165  	var ops redis.Options
   166  	require.NotNil(t, &ops)
   167  
   168  	var redisClient = redis.NewClient(&ops)
   169  	require.NotNil(t, redisClient)
   170  
   171  	if err := redisClient.Ping(context.Background()).Err(); err != nil {
   172  		t.SkipNow()
   173  		return
   174  	}
   175  
   176  	var store, err = FromRedisStore(context.Background(), "testing_mb", redisClient)
   177  	require.NoError(t, err)
   178  	require.NotNil(t, store)
   179  
   180  	tharness.TestByteStoreFindAll(t, store)
   181  }
   182  
   183  func TestIntegrationRedisStore(t *testing.T) {
   184  	var ops redis.Options
   185  	require.NotNil(t, &ops)
   186  
   187  	var redisClient = redis.NewClient(&ops)
   188  	require.NotNil(t, redisClient)
   189  
   190  	if err := redisClient.Ping(context.Background()).Err(); err != nil {
   191  		t.SkipNow()
   192  		return
   193  	}
   194  
   195  	var store, err = FromRedisStore(context.Background(), "testing_mb", redisClient)
   196  	require.NoError(t, err)
   197  	require.NotNil(t, store)
   198  
   199  	tharness.TestByteStore(t, store)
   200  }
   201  
   202  func TestIntegrationRedisStoreExpirables(t *testing.T) {
   203  	var ops redis.Options
   204  	require.NotNil(t, &ops)
   205  
   206  	var redisClient = redis.NewClient(&ops)
   207  	require.NotNil(t, redisClient)
   208  
   209  	if err := redisClient.Ping(context.Background()).Err(); err != nil {
   210  		t.SkipNow()
   211  		return
   212  	}
   213  
   214  	var store, err = FromRedisStore(context.Background(), "testing_mb", redisClient)
   215  	require.NoError(t, err)
   216  	require.NotNil(t, store)
   217  
   218  	tharness.TestExpirableStore(t, store)
   219  }