Regression tests for LISTEN/NOTIFY/UNLISTEN/pg_notify.

Robins Tharakan, reviewed by Szymon Guz
This commit is contained in:
Robert Haas 2013-07-03 11:06:45 -04:00
parent ada3e776c2
commit 00a7767fcc
4 changed files with 55 additions and 1 deletions

View File

@ -0,0 +1,34 @@
--
-- ASYNC
--
--Should work. Send a valid message via a valid channel name
SELECT pg_notify('notify_async1','sample message1');
pg_notify
-----------
(1 row)
SELECT pg_notify('notify_async1','');
pg_notify
-----------
(1 row)
SELECT pg_notify('notify_async1',NULL);
pg_notify
-----------
(1 row)
-- Should fail. Send a valid message via an invalid channel name
SELECT pg_notify('','sample message1');
ERROR: channel name cannot be empty
SELECT pg_notify(NULL,'sample message1');
ERROR: channel name cannot be empty
SELECT pg_notify('notify_async_channel_name_too_long______________________________','sample_message1');
ERROR: channel name too long
--Should work. Valid NOTIFY/LISTEN/UNLISTEN commands
NOTIFY notify_async2;
LISTEN notify_async2;
UNLISTEN notify_async2;
UNLISTEN *;

View File

@ -88,7 +88,7 @@ test: privileges security_label collate matview
# ----------
# Another group of parallel tests
# ----------
test: alter_generic misc psql
test: alter_generic misc psql async
# rules cannot run concurrently with any test that creates a view
test: rules

View File

@ -99,6 +99,7 @@ test: matview
test: alter_generic
test: misc
test: psql
test: async
test: rules
test: event_trigger
test: select_views

View File

@ -0,0 +1,19 @@
--
-- ASYNC
--
--Should work. Send a valid message via a valid channel name
SELECT pg_notify('notify_async1','sample message1');
SELECT pg_notify('notify_async1','');
SELECT pg_notify('notify_async1',NULL);
-- Should fail. Send a valid message via an invalid channel name
SELECT pg_notify('','sample message1');
SELECT pg_notify(NULL,'sample message1');
SELECT pg_notify('notify_async_channel_name_too_long______________________________','sample_message1');
--Should work. Valid NOTIFY/LISTEN/UNLISTEN commands
NOTIFY notify_async2;
LISTEN notify_async2;
UNLISTEN notify_async2;
UNLISTEN *;