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 }