diff options
Diffstat (limited to 'src/tests/keywords/substring')
-rw-r--r-- | src/tests/keywords/substring | 418 |
1 files changed, 418 insertions, 0 deletions
diff --git a/src/tests/keywords/substring b/src/tests/keywords/substring new file mode 100644 index 0000000..0ce4e9d --- /dev/null +++ b/src/tests/keywords/substring @@ -0,0 +1,418 @@ +# +# PRE: update +# +# Check substring xlat works correctly +# +update { + control:Cleartext-Password := 'hello' + reply:Filter-Id := 'filter' +} + +update request { + Tmp-String-0 := 'foo bar' + Tmp-Integer-0 := 54786512 + Tmp-IP-Address-0 := 192.168.56.34 + Tmp-Cast-Ethernet := 01:23:45:67:89:ab +} + +update request { + Tmp-String-1 := "%{substring:&Tmp-String-0 2 3}" + Tmp-String-2 := "%{substring:&Tmp-String-0 -3 2}" + Tmp-String-3 := "%{substring:&Tmp-String-0 1 -3}" + Tmp-String-4 := "%{substring:&Tmp-String-0 -4 -1}" + Tmp-String-5 := "%{substring:&Tmp-String-0 8 5}" + Tmp-String-6 := "%{substring:&Tmp-String-0 4 -10}" + Tmp-String-7 := "%{substring:&Tmp-String-0 0 7}" + Tmp-String-8 := "%{substring:&Tmp-String-0 3 0}" + Tmp-String-9 := "%{substring:&Tmp-String-0 4 8}" +} + +if (Tmp-String-1 != 'o b') { + update reply { + Filter-Id += 'fail 0.1' + } +} + +if (Tmp-String-2 != 'ba') { + update reply { + Filter-Id += 'fail 0.2' + } +} + +if (Tmp-String-3 != 'oo ') { + update reply { + Filter-Id += 'fail 0.3' + } +} + +if (Tmp-String-4 != ' ba') { + update reply { + Filter-Id += 'fail 0.4' + } +} + +if (Tmp-String-5 != '') { + update reply { + Filter-Id += 'fail 0.5' + } +} + +if (Tmp-String-6 != '') { + update reply { + Filter-Id += 'fail 0.6' + } +} + +if (Tmp-String-7 != 'foo bar') { + update reply { + Filter-Id += 'fail 0.7' + } +} + +if (Tmp-String-8 != '') { + update reply { + Filter-Id += 'fail 0.8' + } +} + +if (Tmp-String-9 != 'bar') { + update reply { + Filter-Id += 'fail 0.9' + } +} + +update request { + Tmp-String-0 := ' foo bar ' +} + +update request { + Tmp-String-1 := "%{substring: &Tmp-String-0 2 3}" + Tmp-String-2 := "%{substring:&Tmp-String-0 -3 2}" + Tmp-String-3 := "%{substring:&Tmp-String-0 1 -3}" + Tmp-String-4 := "%{substring:&Tmp-String-0 -4 -1}" + Tmp-String-5 := "%{substring:&Tmp-String-0 10 5}" + Tmp-String-6 := "%{substring:&Tmp-String-0 4 -10}" + Tmp-String-7 := "%{substring:&Tmp-String-0 0 9}" + Tmp-String-8 := "%{substring:&Tmp-String-0 3 0}" + Tmp-String-9 := "%{substring:&Tmp-String-0 4 10}" +} + +if (Tmp-String-1 != 'oo ') { + update reply { + Filter-Id += 'fail 1.1' + } +} + +if (Tmp-String-2 != 'ar') { + update reply { + Filter-Id += 'fail 1.2' + } +} + +if (Tmp-String-3 != 'foo b') { + update reply { + Filter-Id += 'fail 1.3' + } +} + +if (Tmp-String-4 != 'bar') { + update reply { + Filter-Id += 'fail 1.4' + } +} + +if (Tmp-String-5 != '') { + update reply { + Filter-Id += 'fail 1.5' + } +} + +if (Tmp-String-6 != '') { + update reply { + Filter-Id += 'fail 1.6' + } +} + +if (Tmp-String-7 != ' foo bar ') { + update reply { + Filter-Id += 'fail 1.7' + } +} + +if (Tmp-String-8 != '') { + update reply { + Filter-Id += 'fail 1.8' + } +} + +if (Tmp-String-9 != ' bar ') { + update reply { + Filter-Id += 'fail 1.9' + } +} + +update request { + Tmp-String-1 := "%{substring:&Tmp-Integer-0 2 3}" + Tmp-String-2 := "%{substring:&Tmp-Integer-0 -3 2}" + Tmp-String-3 := "%{substring:&Tmp-Integer-0 1 -3}" + Tmp-String-4 := "%{substring:&Tmp-Integer-0 -4 -1}" + Tmp-String-5 := "%{substring:&Tmp-Integer-0 8 5}" + Tmp-String-6 := "%{substring:&Tmp-Integer-0 4 -10}" + Tmp-String-7 := "%{substring:&Tmp-Integer-0 0 8}" + Tmp-String-8 := "%{substring:&Tmp-Integer-0 5 0}" + Tmp-String-9 := "%{substring:&Tmp-Integer-0 4 10}" +} + +if (Tmp-String-1 != '786') { + update reply { + Filter-Id += 'fail 2.1' + } +} + +if (Tmp-String-2 != '51') { + update reply { + Filter-Id += 'fail 2.2' + } +} + +if (Tmp-String-3 != '4786') { + update reply { + Filter-Id += 'fail 2.3' + } +} + +if (Tmp-String-4 != '651') { + update reply { + Filter-Id += 'fail 2.4' + } +} + +if (Tmp-String-5 != '') { + update reply { + Filter-Id += 'fail 2.5' + } +} + +if (Tmp-String-6 != '') { + update reply { + Filter-Id += 'fail 2.6' + } +} + +if (Tmp-String-7 != '54786512') { + update reply { + Filter-Id += 'fail 2.7' + } +} + +if (Tmp-String-8 != '') { + update reply { + Filter-Id += 'fail 2.8' + } +} + +if (Tmp-String-9 != '6512') { + update reply { + Filter-Id += 'fail 2.9' + } +} + +update request { + Tmp-String-1 := "%{substring:&Tmp-IP-Address-0 2 3}" + Tmp-String-2 := "%{substring:&Tmp-IP-Address-0 -3 2}" + Tmp-String-3 := "%{substring:&Tmp-IP-Address-0 1 -3}" + Tmp-String-4 := "%{substring:&Tmp-IP-Address-0 -4 -1}" + Tmp-String-5 := "%{substring:&Tmp-IP-Address-0 15 5}" + Tmp-String-6 := "%{substring:&Tmp-IP-Address-0 4 -20}" + Tmp-String-7 := "%{substring:&Tmp-IP-Address-0 0 13}" + Tmp-String-8 := "%{substring:&Tmp-IP-Address-0 6 0}" + Tmp-String-9 := "%{substring:&Tmp-IP-Address-0 8 12}" +} + +if (Tmp-String-1 != '2.1') { + update reply { + Filter-Id += 'fail 3.1' + } +} + +if (Tmp-String-2 != '.3') { + update reply { + Filter-Id += 'fail 3.2' + } +} + +if (Tmp-String-3 != '92.168.56') { + update reply { + Filter-Id += 'fail 3.3' + } +} + +if (Tmp-String-4 != '6.3') { + update reply { + Filter-Id += 'fail 3.4' + } +} + +if (Tmp-String-5 != '') { + update reply { + Filter-Id += 'fail 3.5' + } +} + +if (Tmp-String-6 != '') { + update reply { + Filter-Id += 'fail 3.6' + } +} + +if (Tmp-String-7 != '192.168.56.34') { + update reply { + Filter-Id += 'fail 3.7' + } +} + +if (Tmp-String-8 != '') { + update reply { + Filter-Id += 'fail 3.8' + } +} + +if (Tmp-String-9 != '56.34') { + update reply { + Filter-Id += 'fail 3.9' + } +} + +update request { + Tmp-String-1 := "%{substring:&Tmp-Cast-Ethernet 2 3}" + Tmp-String-2 := "%{substring:&Tmp-Cast-Ethernet -3 2}" + Tmp-String-3 := "%{substring:&Tmp-Cast-Ethernet 1 -3}" + Tmp-String-4 := "%{substring:&Tmp-Cast-Ethernet -4 -1}" + Tmp-String-5 := "%{substring:&Tmp-Cast-Ethernet 20 5}" + Tmp-String-6 := "%{substring:&Tmp-Cast-Ethernet 4 -20}" + Tmp-String-7 := "%{substring:&Tmp-Cast-Ethernet 0 17}" + Tmp-String-8 := "%{substring:&Tmp-Cast-Ethernet 8 0}" + Tmp-String-9 := "%{substring:&Tmp-Cast-Ethernet 9 12}" +} + +if (Tmp-String-1 != ':23') { + update reply { + Filter-Id += 'fail 4.1' + } +} + +if (Tmp-String-2 != ':a') { + update reply { + Filter-Id += 'fail 4.2' + } +} + +if (Tmp-String-3 != '1:23:45:67:89') { + update reply { + Filter-Id += 'fail 4.3' + } +} + +if (Tmp-String-4 != '9:a') { + update reply { + Filter-Id += 'fail 4.4' + } +} + +if (Tmp-String-5 != '') { + update reply { + Filter-Id += 'fail 4.5' + } +} + +if (Tmp-String-6 != '') { + update reply { + Filter-Id += 'fail 4.6' + } +} + +if (Tmp-String-7 != '01:23:45:67:89:ab') { + update reply { + Filter-Id += 'fail 4.7' + } +} + +if (Tmp-String-8 != '') { + update reply { + Filter-Id += 'fail 4.8' + } +} + +if (Tmp-String-9 != '67:89:ab') { + update reply { + Filter-Id += 'fail 4.9' + } +} + +update request { + Tmp-String-1 := "%{substring:foo bar 2 3}" + Tmp-String-2 := "%{substring:foo bar -3 2}" + Tmp-String-3 := "%{substring:foo bar 1 -3}" + Tmp-String-4 := "%{substring:foo bar -4 -1}" + Tmp-String-5 := "%{substring:foo bar 8 5}" + Tmp-String-6 := "%{substring:foo bar 4 -10}" + Tmp-String-7 := "%{substring: foo bar 0 9}" + Tmp-String-8 := "%{substring: foo bar 5 0}" + Tmp-String-9 := "%{substring: foo bar 4 10}" +} + +debug_request + +if (Tmp-String-1 != 'o b') { + update reply { + Filter-Id += 'fail 5.1' + } +} + +if (Tmp-String-2 != 'ba') { + update reply { + Filter-Id += 'fail 5.2' + } +} + +if (Tmp-String-3 != 'oo ') { + update reply { + Filter-Id += 'fail 5.3' + } +} + +if (Tmp-String-4 != ' ba') { + update reply { + Filter-Id += 'fail 5.4' + } +} + +if (Tmp-String-5 != '') { + update reply { + Filter-Id += 'fail 5.5' + } +} + +if (Tmp-String-6 != '') { + update reply { + Filter-Id += 'fail 5.6' + } +} + +if (Tmp-String-7 != ' foo bar ') { + update reply { + Filter-Id += 'fail 5.7' + } +} + +if (Tmp-String-8 != '') { + update reply { + Filter-Id += 'fail 5.8' + } +} + +if (Tmp-String-9 != ' bar ') { + update reply { + Filter-Id += 'fail 5.9' + } +} |