From: Nick Porter Date: Mon, 21 Oct 2024 14:05:03 +0000 (+0100) Subject: Add test of NULL SQL value handling X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=82e5bb97e95a8d7d6a5c099eb9fe74e9ced49dd9;p=thirdparty%2Ffreeradius-server.git Add test of NULL SQL value handling --- diff --git a/src/tests/modules/sql/map.unlang b/src/tests/modules/sql/map.unlang index 341256d15ec..ebc1517cc4b 100644 --- a/src/tests/modules/sql/map.unlang +++ b/src/tests/modules/sql/map.unlang @@ -295,4 +295,28 @@ if (!notfound) { test_fail } +# Clear the control list +&control -= &User-Name[*] +&control -= &Filter-Id[*] + +# Check behaviour of NULL vs empty string returns. +# radacct is used here as the default schema allows NULL in many columns +%sql("DELETE FROM radacct WHERE acctuniqueid = 'nullmap'") +%sql("INSERT INTO radacct (acctuniqueid, acctsessionid, nasipaddress, username) VALUES ('nullmap', 'nullmap', '10.11.12.13', '')") +map sql "SELECT username, connectinfo_start, nasipaddress FROM radacct WHERE acctuniqueid = 'nullmap'" { + &control.User-Name := 'username' + &control.Filter-Id := 'connectinfo_start' + &control.NAS-IP-Address := 'nasipaddress' +} + +if !(&control.User-Name == '') { + test_fail +} +if (&control.Filter-Id) { + test_fail +} +if !(&control.NAS-IP-Address == 10.11.12.13) { + test_fail +} + test_pass