From fc5b3ec873215363be00ca4ff51ccd4a42403280 Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Fri, 15 Apr 2016 16:54:48 -0400 Subject: [PATCH] LP#1570909 User activity purge pgtap test Signed-off-by: Bill Erickson Signed-off-by: Chris Sharp Signed-off-by: Mike Rylander --- .../src/sql/Pg/live_t/purge-user-activity.pg | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 Open-ILS/src/sql/Pg/live_t/purge-user-activity.pg diff --git a/Open-ILS/src/sql/Pg/live_t/purge-user-activity.pg b/Open-ILS/src/sql/Pg/live_t/purge-user-activity.pg new file mode 100644 index 0000000000..bf3814625f --- /dev/null +++ b/Open-ILS/src/sql/Pg/live_t/purge-user-activity.pg @@ -0,0 +1,68 @@ +BEGIN; + +SELECT plan(6); + +\set usr_one 1 +\set usr_two 2 + +-- shuffle event_times for randomness. +INSERT INTO actor.usr_activity (usr, etype, event_time) VALUES + (:usr_one, 1, NOW() - '2 days'::INTERVAL), + (:usr_one, 1, NOW()), + (:usr_one, 1, NOW() - '1 days'::INTERVAL), + (:usr_one, 2, NOW() - '1 days'::INTERVAL), + (:usr_one, 2, NOW()), + (:usr_one, 2, NOW() - '2 days'::INTERVAL), + (:usr_two, 1, NOW() - '1 days'::INTERVAL), + (:usr_two, 1, NOW()), + (:usr_two, 1, NOW() - '2 days'::INTERVAL); + + +SELECT actor.purge_usr_activity_by_type(1); +SELECT actor.purge_usr_activity_by_type(2); + +SELECT is( + (SELECT COUNT(*) FROM actor.usr_activity + WHERE usr = :usr_one AND etype = 1), + 1::BIGINT, + 'Confirm only one event row exists' +); + +SELECT is( + (SELECT DATE(event_time) FROM actor.usr_activity + WHERE usr = :usr_one AND etype = 1), + DATE(NOW()), + 'Confirm most recent event is retained' +); + +SELECT is( + (SELECT COUNT(*) FROM actor.usr_activity + WHERE usr = :usr_one AND etype = 2), + 1::BIGINT, + 'Confirm only one event row exists' +); + +SELECT is( + (SELECT DATE(event_time) FROM actor.usr_activity + WHERE usr = :usr_one AND etype = 2), + DATE(NOW()), + 'Confirm most recent event is retained' +); + +SELECT is( + (SELECT COUNT(*) FROM actor.usr_activity + WHERE usr = :usr_two AND etype = 1), + 1::BIGINT, + 'Confirm only one event row exists' +); + +SELECT is( + (SELECT DATE(event_time) FROM actor.usr_activity + WHERE usr = :usr_two AND etype = 1), + DATE(NOW()), + 'Confirm most recent event is retained' +); + +SELECT * FROM finish(); +ROLLBACK; + -- 2.43.2