mirror of
https://github.com/lukaszraczylo/graphql-monitoring-proxy.git
synced 2026-10-20 06:28:13 +00:00
improvements mid may 2025 (#24)
* General improvements and bug fixes. * Improve tests coverage. * fixup! Improve tests coverage. * Update README.md with latest changes. * Fix the uint32 * Resolve issue with race condition for logging. * fixup! Merge remote-tracking branch 'origin/main' into improvements-mid-apr-2025 * Fix the test of the rate limiter * Add default ratelimit.json file * Update dependencies. * Significant refactor. * fixup! Significant refactor. * fixup! Merge remote-tracking branch 'origin/main' into improvements-mid-apr-2025 * fixup! fixup! Merge remote-tracking branch 'origin/main' into improvements-mid-apr-2025 * fixup! fixup! fixup! Merge remote-tracking branch 'origin/main' into improvements-mid-apr-2025 * fixup! fixup! fixup! fixup! fixup! Merge remote-tracking branch 'origin/main' into improvements-mid-apr-2025 * fixup! fixup! fixup! fixup! fixup! fixup! Merge remote-tracking branch 'origin/main' into improvements-mid-apr-2025 * fixup! fixup! fixup! fixup! fixup! fixup! fixup! Merge remote-tracking branch 'origin/main' into improvements-mid-apr-2025 * fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! Merge remote-tracking branch 'origin/main' into improvements-mid-apr-2025 * fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! Merge remote-tracking branch 'origin/main' into improvements-mid-apr-2025 * fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! Merge remote-tracking branch 'origin/main' into improvements-mid-apr-2025
This commit is contained in:
Vendored
+52
-24
@@ -17,11 +17,13 @@ type RedisConfigSuite struct {
|
||||
|
||||
func (suite *RedisConfigSuite) SetupTest() {
|
||||
suite.redis_server, _ = miniredis.Run()
|
||||
suite.redisConfig = New(&RedisClientConfig{
|
||||
var err error
|
||||
suite.redisConfig, err = New(&RedisClientConfig{
|
||||
RedisServer: suite.redis_server.Addr(),
|
||||
RedisPassword: "",
|
||||
RedisDB: 0,
|
||||
})
|
||||
assert.NoError(suite.T(), err)
|
||||
suite.redisConfig.Delete("testkey")
|
||||
}
|
||||
|
||||
@@ -35,15 +37,19 @@ func (suite *RedisConfigSuite) TestSet() {
|
||||
suite.redisConfig.Delete(key) // Ensure the key is deleted before the test
|
||||
|
||||
// Test writing a new key-value pair
|
||||
suite.redisConfig.Set(key, value, 0)
|
||||
storedValue, found := suite.redisConfig.Get(key)
|
||||
err := suite.redisConfig.Set(key, value, 0)
|
||||
assert.NoError(suite.T(), err)
|
||||
storedValue, found, err := suite.redisConfig.Get(key)
|
||||
assert.NoError(suite.T(), err)
|
||||
assert.True(suite.T(), found)
|
||||
assert.Equal(suite.T(), value, storedValue)
|
||||
|
||||
// Test overwriting an existing key-value pair
|
||||
newValue := []byte("newvalue")
|
||||
suite.redisConfig.Set(key, newValue, 0)
|
||||
storedValue, found = suite.redisConfig.Get(key)
|
||||
err = suite.redisConfig.Set(key, newValue, 0)
|
||||
assert.NoError(suite.T(), err)
|
||||
storedValue, found, err = suite.redisConfig.Get(key)
|
||||
assert.NoError(suite.T(), err)
|
||||
assert.True(suite.T(), found)
|
||||
assert.Equal(suite.T(), newValue, storedValue)
|
||||
|
||||
@@ -57,16 +63,20 @@ func (suite *RedisConfigSuite) TestSetWithExpiry() {
|
||||
suite.redisConfig.Delete(key) // Ensure the key is deleted before the test
|
||||
|
||||
// Test writing a new key-value pair
|
||||
suite.redisConfig.Set(key, value, expiry)
|
||||
storedValue, found := suite.redisConfig.Get(key)
|
||||
err := suite.redisConfig.Set(key, value, expiry)
|
||||
assert.NoError(suite.T(), err)
|
||||
storedValue, found, err := suite.redisConfig.Get(key)
|
||||
assert.NoError(suite.T(), err)
|
||||
assert.True(suite.T(), found)
|
||||
assert.Equal(suite.T(), value, storedValue)
|
||||
_, found = suite.redisConfig.Get(key)
|
||||
_, found, err = suite.redisConfig.Get(key)
|
||||
assert.NoError(suite.T(), err)
|
||||
assert.True(suite.T(), found, "Key should exist")
|
||||
|
||||
// Test that key expires after the specified time
|
||||
suite.redis_server.FastForward(3 * time.Second)
|
||||
_, found = suite.redisConfig.Get(key)
|
||||
_, found, err = suite.redisConfig.Get(key)
|
||||
assert.NoError(suite.T(), err)
|
||||
assert.False(suite.T(), found, "Key should have expired after 2 seconds")
|
||||
|
||||
suite.redisConfig.Delete(key) // Clean up after the test
|
||||
@@ -75,8 +85,10 @@ func (suite *RedisConfigSuite) TestSetWithExpiry() {
|
||||
func (suite *RedisConfigSuite) TestGet() {
|
||||
key := "testkeyget"
|
||||
value := []byte("testvalue")
|
||||
suite.redisConfig.Set(key, value, 0) // Set the key-value pair
|
||||
storedValue, found := suite.redisConfig.Get(key)
|
||||
err := suite.redisConfig.Set(key, value, 0) // Set the key-value pair
|
||||
assert.NoError(suite.T(), err)
|
||||
storedValue, found, err := suite.redisConfig.Get(key)
|
||||
assert.NoError(suite.T(), err)
|
||||
assert.True(suite.T(), found)
|
||||
assert.Equal(suite.T(), value, storedValue)
|
||||
}
|
||||
@@ -84,9 +96,12 @@ func (suite *RedisConfigSuite) TestGet() {
|
||||
func (suite *RedisConfigSuite) TestDeleteKey() {
|
||||
key := "testkeydelete"
|
||||
value := []byte("testvalue")
|
||||
suite.redisConfig.Set(key, value, 0) // Set the key-value pair
|
||||
suite.redisConfig.Delete(key)
|
||||
_, found := suite.redisConfig.Get(key)
|
||||
err := suite.redisConfig.Set(key, value, 0) // Set the key-value pair
|
||||
assert.NoError(suite.T(), err)
|
||||
err = suite.redisConfig.Delete(key)
|
||||
assert.NoError(suite.T(), err)
|
||||
_, found, err := suite.redisConfig.Get(key)
|
||||
assert.NoError(suite.T(), err)
|
||||
assert.False(suite.T(), found)
|
||||
}
|
||||
|
||||
@@ -94,20 +109,27 @@ func (suite *RedisConfigSuite) TestCheckIfKeyExists() {
|
||||
ttl := time.Duration(10) * time.Second
|
||||
key := "testkeyifexists"
|
||||
value := []byte("testvalue")
|
||||
suite.redisConfig.Set(key, value, ttl) // Set the key-value pair
|
||||
_, found := suite.redisConfig.Get(key)
|
||||
err := suite.redisConfig.Set(key, value, ttl) // Set the key-value pair
|
||||
assert.NoError(suite.T(), err)
|
||||
_, found, err := suite.redisConfig.Get(key)
|
||||
assert.NoError(suite.T(), err)
|
||||
assert.True(suite.T(), found)
|
||||
|
||||
suite.redisConfig.Delete(key)
|
||||
_, found = suite.redisConfig.Get(key)
|
||||
err = suite.redisConfig.Delete(key)
|
||||
assert.NoError(suite.T(), err)
|
||||
_, found, err = suite.redisConfig.Get(key)
|
||||
assert.NoError(suite.T(), err)
|
||||
assert.False(suite.T(), found)
|
||||
}
|
||||
|
||||
func (suite *RedisConfigSuite) TestGetKeys() {
|
||||
ttl := time.Duration(10) * time.Second
|
||||
suite.redisConfig.Set("testkey1", []byte("testvalue1"), ttl)
|
||||
suite.redisConfig.Set("testkey2", []byte("testvalue2"), ttl)
|
||||
suite.redisConfig.Set("otherkey", []byte("othervalue"), ttl)
|
||||
err := suite.redisConfig.Set("testkey1", []byte("testvalue1"), ttl)
|
||||
assert.NoError(suite.T(), err)
|
||||
err = suite.redisConfig.Set("testkey2", []byte("testvalue2"), ttl)
|
||||
assert.NoError(suite.T(), err)
|
||||
err = suite.redisConfig.Set("otherkey", []byte("othervalue"), ttl)
|
||||
assert.NoError(suite.T(), err)
|
||||
|
||||
keys, _ := suite.redisConfig.client.Keys(suite.redisConfig.ctx, "testkey*").Result()
|
||||
expectedKeys := []string{"testkey1", "testkey2"}
|
||||
@@ -122,9 +144,15 @@ func (suite *RedisConfigSuite) TestGetKeysCount() {
|
||||
suite.redisConfig.Set("testkey2", []byte("testvalue2"), ttl)
|
||||
suite.redisConfig.Set("otherkey", []byte("othervalue"), ttl)
|
||||
|
||||
assert.Equal(suite.T(), 2, suite.redisConfig.CountQueriesWithPattern("testkey*"))
|
||||
assert.Equal(suite.T(), 1, suite.redisConfig.CountQueriesWithPattern("otherkey*"))
|
||||
assert.Equal(suite.T(), int64(3), suite.redisConfig.CountQueries())
|
||||
count1, err := suite.redisConfig.CountQueriesWithPattern("testkey*")
|
||||
assert.NoError(suite.T(), err)
|
||||
assert.Equal(suite.T(), 2, count1)
|
||||
count2, err := suite.redisConfig.CountQueriesWithPattern("otherkey*")
|
||||
assert.NoError(suite.T(), err)
|
||||
assert.Equal(suite.T(), 1, count2)
|
||||
count3, err := suite.redisConfig.CountQueries()
|
||||
assert.NoError(suite.T(), err)
|
||||
assert.Equal(suite.T(), int64(3), count3)
|
||||
|
||||
suite.redisConfig.client.Del(suite.redisConfig.ctx, "testkey1", "testkey2", "otherkey")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user