From: Nick Porter Date: Wed, 12 Nov 2025 14:07:49 +0000 (+0000) Subject: Add tests of compound keys in rlm_cache X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=12206ed6bc2114679a2c88ead602ccb96efc0fe2;p=thirdparty%2Ffreeradius-server.git Add tests of compound keys in rlm_cache --- diff --git a/src/tests/modules/cache_htrie/cache-compound.attrs b/src/tests/modules/cache_htrie/cache-compound.attrs new file mode 120000 index 00000000000..c56044f2f5f --- /dev/null +++ b/src/tests/modules/cache_htrie/cache-compound.attrs @@ -0,0 +1 @@ +../cache_rbtree/cache-compound.attrs \ No newline at end of file diff --git a/src/tests/modules/cache_htrie/cache-compound.unlang b/src/tests/modules/cache_htrie/cache-compound.unlang new file mode 120000 index 00000000000..be5090c3a71 --- /dev/null +++ b/src/tests/modules/cache_htrie/cache-compound.unlang @@ -0,0 +1 @@ +../cache_rbtree/cache-compound.unlang \ No newline at end of file diff --git a/src/tests/modules/cache_htrie/module.conf b/src/tests/modules/cache_htrie/module.conf index 646349afb1b..2ba274ab37e 100644 --- a/src/tests/modules/cache_htrie/module.conf +++ b/src/tests/modules/cache_htrie/module.conf @@ -116,3 +116,13 @@ cache static_key { Callback-Id := Callback-Id[0] } } + +cache compound_key { + driver = "htrie" + key = "%{Framed-IP-Address} %{User-Name}" + ttl = 5 + + update { + Callback-Id := control.Callback-Id[0] + } +} diff --git a/src/tests/modules/cache_memcached/cache-compound.attrs b/src/tests/modules/cache_memcached/cache-compound.attrs new file mode 120000 index 00000000000..c56044f2f5f --- /dev/null +++ b/src/tests/modules/cache_memcached/cache-compound.attrs @@ -0,0 +1 @@ +../cache_rbtree/cache-compound.attrs \ No newline at end of file diff --git a/src/tests/modules/cache_memcached/cache-compound.unlang b/src/tests/modules/cache_memcached/cache-compound.unlang new file mode 120000 index 00000000000..be5090c3a71 --- /dev/null +++ b/src/tests/modules/cache_memcached/cache-compound.unlang @@ -0,0 +1 @@ +../cache_rbtree/cache-compound.unlang \ No newline at end of file diff --git a/src/tests/modules/cache_memcached/module.conf b/src/tests/modules/cache_memcached/module.conf index c910ae972c3..8a03d39c8bd 100644 --- a/src/tests/modules/cache_memcached/module.conf +++ b/src/tests/modules/cache_memcached/module.conf @@ -120,3 +120,13 @@ cache static_key { Callback-Id := Callback-Id[0] } } + +cache compound_key { + driver = "memcached" + key = "%{Framed-IP-Address}%{User-Name}" + ttl = 5 + + update { + Callback-Id := control.Callback-Id[0] + } +} diff --git a/src/tests/modules/cache_rbtree/cache-compound.attrs b/src/tests/modules/cache_rbtree/cache-compound.attrs new file mode 100644 index 00000000000..2c3f3ac57f0 --- /dev/null +++ b/src/tests/modules/cache_rbtree/cache-compound.attrs @@ -0,0 +1,11 @@ +# +# Input packet +# +Packet-Type = Access-Request +User-Name = "bob" +User-Password = "olobobob" + +# +# Expected answer +# +Packet-Type == Access-Accept diff --git a/src/tests/modules/cache_rbtree/cache-compound.unlang b/src/tests/modules/cache_rbtree/cache-compound.unlang new file mode 100644 index 00000000000..b7c86261d18 --- /dev/null +++ b/src/tests/modules/cache_rbtree/cache-compound.unlang @@ -0,0 +1,33 @@ +# +# PRE: cache-logic +# + +# +# Basic update and retrieve +# +control.Callback-Id := 'cache me' +Framed-IP-Address := 1.2.3.4 + +compound_key.store +if (!updated) { + test_fail +} + +# Merge +compound_key.load +if (!updated) { + test_fail +} + +if (Callback-Id != 'cache me') { + test_fail +} + +Framed-IP-Address := 2.3.4.5 + +compound_key.load +if (!notfound) { + test_fail +} + +test_pass diff --git a/src/tests/modules/cache_rbtree/module.conf b/src/tests/modules/cache_rbtree/module.conf index 32242edbf55..1b0974710c6 100644 --- a/src/tests/modules/cache_rbtree/module.conf +++ b/src/tests/modules/cache_rbtree/module.conf @@ -106,3 +106,13 @@ cache static_key { Callback-Id := Callback-Id[0] } } + +cache compound_key { + driver = "rbtree" + key = "%{Framed-IP-Address} %{User-Name}" + ttl = 5 + + update { + Callback-Id := control.Callback-Id[0] + } +} diff --git a/src/tests/modules/cache_redis/cache-compound.attrs b/src/tests/modules/cache_redis/cache-compound.attrs new file mode 120000 index 00000000000..c56044f2f5f --- /dev/null +++ b/src/tests/modules/cache_redis/cache-compound.attrs @@ -0,0 +1 @@ +../cache_rbtree/cache-compound.attrs \ No newline at end of file diff --git a/src/tests/modules/cache_redis/cache-compound.unlang b/src/tests/modules/cache_redis/cache-compound.unlang new file mode 120000 index 00000000000..be5090c3a71 --- /dev/null +++ b/src/tests/modules/cache_redis/cache-compound.unlang @@ -0,0 +1 @@ +../cache_rbtree/cache-compound.unlang \ No newline at end of file diff --git a/src/tests/modules/cache_redis/module.conf b/src/tests/modules/cache_redis/module.conf index 7e1c58dc58b..aac76f820d9 100644 --- a/src/tests/modules/cache_redis/module.conf +++ b/src/tests/modules/cache_redis/module.conf @@ -149,3 +149,23 @@ cache static_key { Callback-Id := Callback-Id[0] } } + +cache compound_key { + driver = "redis" + + redis { + server = $ENV{CACHE_REDIS_TEST_SERVER}:30001 + server = $ENV{CACHE_REDIS_TEST_SERVER}:30002 + server = $ENV{CACHE_REDIS_TEST_SERVER}:30003 + server = $ENV{CACHE_REDIS_TEST_SERVER}:30004 + server = $ENV{CACHE_REDIS_TEST_SERVER}:30005 + server = $ENV{CACHE_REDIS_TEST_SERVER}:30006 + } + + key = "%{Framed-IP-Address} %{User-Name}" + ttl = 5 + + update { + Callback-Id := control.Callback-Id[0] + } +}