&request -= &Packet-Type[*]
# 0. Check basic xlat parsing
-&control.Tmp-String-1 := "%{json_encode:&request[*]}"
-&control.Tmp-String-2 := "%{json_encode:&request[*] }"
-&control.Tmp-String-3 := "%{json_encode: &request[*]}"
-&control.Tmp-String-4 := "%{json_encode: &request[*] }"
-&control.Tmp-String-5 := "%{json_encode: &request[*] !&Filter-Id }"
-&control.Tmp-String-6 := "%{json_encode:&request[*] ! }"
+&control.Tmp-String-1 := "%{json_encode:&request.[*]}"
+&control.Tmp-String-2 := "%{json_encode:&request.[*] }"
+&control.Tmp-String-3 := "%{json_encode: &request.[*]}"
+&control.Tmp-String-4 := "%{json_encode: &request.[*] }"
+&control.Tmp-String-5 := "%{json_encode: &request.[*] !&Filter-Id }"
+&control.Tmp-String-6 := "%{json_encode:&request.[*] ! }"
# Check defaults are the same as output_mode "object":
-&control.Tmp-String-7 := "%{json_object_encode:&request[*]}"
-&control.Tmp-String-8 := "%{json_object_no_encode:&request[*]}"
+&control.Tmp-String-7 := "%{json_object_encode:&request.[*]}"
+&control.Tmp-String-8 := "%{json_object_no_encode:&request.[*]}"
if (&control.Tmp-String-1 != '{"User-Name":{"type":"string","value":"john"},"Filter-Id":{"type":"string","value":["f1","f2"]},"NAS-Port":{"type":"uint32","value":999},"Service-Type":{"type":"uint32","value":"Login-User"}}') {
test_fail
# These are unsorted dictionaries. Hopefully json-c doesn't suddenly
# decide that it's going to use a different ordering of the keys...
-&control.Tmp-String-1 := "%{json_object_encode:&request[*]}"
-&control.Tmp-String-2 := "%{json_object_ex_encode:&request[*]}"
+&control.Tmp-String-1 := "%{json_object_encode:&request.[*]}"
+&control.Tmp-String-2 := "%{json_object_ex_encode:&request.[*]}"
if (&control.Tmp-String-1 != '{"User-Name":{"type":"string","value":"john"},"Filter-Id":{"type":"string","value":["f1","f2"]},"NAS-Port":{"type":"uint32","value":999},"Service-Type":{"type":"uint32","value":"Login-User"}}') {
test_fail
}
# 1b. "object" empty inputs
-&control.Tmp-String-1 := "%{json_object_encode:!&request[*]}"
+&control.Tmp-String-1 := "%{json_object_encode:!&request.[*]}"
if (&control.Tmp-String-1 != '{}') {
test_fail
}
# 2a. Output mode "object_simple" tests
-&control.Tmp-String-1 := "%{json_object_simple_encode:&request[*]}"
-&control.Tmp-String-2 := "%{json_object_simple_ex_encode:&request[*]}"
+&control.Tmp-String-1 := "%{json_object_simple_encode:&request.[*]}"
+&control.Tmp-String-2 := "%{json_object_simple_ex_encode:&request.[*]}"
if (&control.Tmp-String-1 != '{"User-Name":"john","Filter-Id":["f1","f2"],"NAS-Port":999,"Service-Type":"Login-User"}') {
test_fail
}
# 2b. "object_simple" empty inputs
-&control.Tmp-String-1 := "%{json_object_simple_encode:!&request[*]}"
+&control.Tmp-String-1 := "%{json_object_simple_encode:!&request.[*]}"
if (&control.Tmp-String-1 != '{}') {
test_fail
}
# 3a. Output mode "array" tests
-&control.Tmp-String-1 := "%{json_array_encode:&request[*]}"
-&control.Tmp-String-2 := "%{json_array_ex_encode:&request[*]}"
+&control.Tmp-String-1 := "%{json_array_encode:&request.[*]}"
+&control.Tmp-String-2 := "%{json_array_ex_encode:&request.[*]}"
if (&control.Tmp-String-1 != '[{"name":"User-Name","type":"string","value":"john"},{"name":"Filter-Id","type":"string","value":"f1"},{"name":"Filter-Id","type":"string","value":"f2"},{"name":"NAS-Port","type":"uint32","value":999},{"name":"Service-Type","type":"uint32","value":"Login-User"}]') {
test_fail
}
# 3b. "array" empty inputs
-&control.Tmp-String-1 := "%{json_array_encode:!&request[*]}"
+&control.Tmp-String-1 := "%{json_array_encode:!&request.[*]}"
if (&control.Tmp-String-1 != '[]') {
test_fail
}
# 4a. Output mode "array_of_names" tests
-&control.Tmp-String-1 := "%{json_array_names_encode:&request[*]}"
-&control.Tmp-String-2 := "%{json_array_names_ex_encode:&request[*]}"
+&control.Tmp-String-1 := "%{json_array_names_encode:&request.[*]}"
+&control.Tmp-String-2 := "%{json_array_names_ex_encode:&request.[*]}"
if (&control.Tmp-String-1 != '["User-Name","Filter-Id","Filter-Id","NAS-Port","Service-Type"]') {
test_fail
}
# 4b. "array_of_names" empty inputs
-&control.Tmp-String-1 := "%{json_array_names_encode:!&request[*]}"
+&control.Tmp-String-1 := "%{json_array_names_encode:!&request.[*]}"
if (&control.Tmp-String-1 != '[]') {
test_fail
}
# 5a. Output mode "array_of_values" tests
-&control.Tmp-String-1 := "%{json_array_values_encode:&request[*]}"
-&control.Tmp-String-2 := "%{json_array_values_ex_encode:&request[*]}"
+&control.Tmp-String-1 := "%{json_array_values_encode:&request.[*]}"
+&control.Tmp-String-2 := "%{json_array_values_ex_encode:&request.[*]}"
if (&control.Tmp-String-1 != '["john","f1","f2",999,"Login-User"]') {
test_fail
}
# 5b. "array_of_values" empty inputs
-&control.Tmp-String-1 := "%{json_array_values_encode:!&request[*]}"
+&control.Tmp-String-1 := "%{json_array_values_encode:!&request.[*]}"
if (&control.Tmp-String-1 != '[]') {
test_fail