mirror of https://github.com/postgres/postgres
Add tests for regex replacement with \1 in pg_ident.conf to 0003_peer.pl
Regexp replacement with \1 in pg_ident.conf is tested in one check of the kerberos test suite, still it requires a dependency on --with-gssapi to be triggered. This commit adds to the test suite of peer authentication two tests to check the replacement of \1 in a pg-username, coupled with a system-username regexp: - With a subexpression in system-username, similarly to the kerberos test suite. - Without a subexpression in system-username, checking for a failure. This had no coverage until now, and the error pattern is checked in the server logs. Author: Jelte Fennema Discussion: https://postgr.es/m/CAGECzQRNow4MwkBjgPxywXdJU_K3a9+Pm78JB7De3yQwwkTDew@mail.gmail.com
This commit is contained in:
parent
58597edea1
commit
e753ae6397
|
@ -141,6 +141,30 @@ test_role(
|
|||
[qr/connection authenticated: identity="$system_user" method=peer/]);
|
||||
|
||||
|
||||
# Success as the regular expression matches and \1 is replaced in the given
|
||||
# subexpression.
|
||||
reset_pg_ident($node, 'mypeermap', qq{/^$system_user(.*)\$}, 'test\1mapuser');
|
||||
test_role(
|
||||
$node,
|
||||
qq{testmapuser},
|
||||
'peer',
|
||||
0,
|
||||
'with regular expression in user name map with \1 replaced',
|
||||
log_like =>
|
||||
[qr/connection authenticated: identity="$system_user" method=peer/]);
|
||||
|
||||
# Failure as the regular expression does not include a subexpression, but
|
||||
# the database user contains \1, requesting a replacement.
|
||||
reset_pg_ident($node, 'mypeermap', qq{/^$system_user\$}, '\1testmapuser');
|
||||
test_role(
|
||||
$node,
|
||||
qq{testmapuser},
|
||||
'peer', 2,
|
||||
'with regular expression in user name map with \1 not replaced',
|
||||
log_like => [
|
||||
qr/regular expression "\^$system_user\$" has no subexpressions as requested by backreference in "\\1testmapuser"/
|
||||
]);
|
||||
|
||||
# Concatenate system_user to system_user.
|
||||
$regex_test_string = $system_user . $system_user;
|
||||
|
||||
|
|
Loading…
Reference in New Issue