From: Bill Erickson Date: Fri, 15 Apr 2016 20:54:48 +0000 (-0400) Subject: LP#1570909 User activity purge pgtap test X-Git-Tag: sprint4-merge-nov22~112 X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=fc5b3ec873215363be00ca4ff51ccd4a42403280;p=working%2FEvergreen.git LP#1570909 User activity purge pgtap test Signed-off-by: Bill Erickson Signed-off-by: Chris Sharp Signed-off-by: Mike Rylander --- 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; +