diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-13 14:11:00 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-13 14:11:00 +0000 |
commit | af754e596a8dbb05ed8580c342e7fe02e08b28e0 (patch) | |
tree | b2f334c2b55ede42081aa6710a72da784547d8ea /src/tests/keywords/xlat-explode | |
parent | Initial commit. (diff) | |
download | freeradius-af754e596a8dbb05ed8580c342e7fe02e08b28e0.tar.xz freeradius-af754e596a8dbb05ed8580c342e7fe02e08b28e0.zip |
Adding upstream version 3.2.3+dfsg.upstream/3.2.3+dfsg
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/tests/keywords/xlat-explode')
-rw-r--r-- | src/tests/keywords/xlat-explode | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/src/tests/keywords/xlat-explode b/src/tests/keywords/xlat-explode new file mode 100644 index 0000000..ea727d9 --- /dev/null +++ b/src/tests/keywords/xlat-explode @@ -0,0 +1,91 @@ +# +# PRE: update +# +# Check explode works correctly +# +update { + request:Class := '1=1|my_attr=2|my_attr=hello|' + request:Calling-Station-ID += '|' + control:User-Name += '|hello|goodbye' + control:User-Name += '|morning|night|1|' + control:Reply-Message := 'Can\'t touch this' + reply:Filter-Id = 'filter' +} + +if ("%{explode:&Class |}" != 3) { + update reply { + Filter-Id += 'Fail 0' + } +} + +if ("%{Class[#]}" != 3) { + update reply { + Filter-Id += 'Fail 1' + } +} + +if ((&Class[0] != '1=1') || (&Class[1] != 'my_attr=2') || (&Class[2] != 'my_attr=hello')) { + update reply { + Filter-Id += 'Fail 2' + } +} + +if (&Class[3]) { + update reply { + Filter-Id += 'Fail 3' + } +} + +if ("%{explode:&control:Calling-Station-Id |}" != 0) { + update reply { + filter-Id += 'Fail 4' + } +} + +if ("%{explode:&control:User-Name[*] |}" != 5) { + update reply { + Filter-Id += 'Fail 5' + } +} + +if ("%{control:User-Name[#]}" != 5) { + update reply { + Filter-Id += 'Fail 6' + } +} + +if ((&control:User-Name[0] != 'hello') || \ + (&control:User-Name[1] != 'goodbye') || \ + (&control:User-Name[2] != 'morning') || \ + (&control:User-Name[3] != 'night') || \ + (&control:User-Name[4] != '1')) { + update reply { + Filter-Id += 'Fail 7' + } +} + +if (&control:User-Name[5]) { + update reply { + Filter-Id += 'Fail 8' + } +} + +if ("%{explode:&control:Reply-Message |}" != 0) { + update reply { + Filter-Id += 'Fail 9' + } +} + +if ("%{control:Reply-Message[#]}" != 1) { + update reply { + Filter-Id += 'Fail 10' + } +} + +if (&control:Reply-Message != 'Can\'t touch this') { + update reply { + Filter-Id += 'Fail 11' + } +} + +debug_all |