From 44742bc5f85ddb413828b91e6c0fe90746986ccc Mon Sep 17 00:00:00 2001 From: Jana Cupova Date: Sat, 22 Apr 2023 14:30:22 +0200 Subject: [PATCH] Drop default Null for renew_time in sql --- docs/schema-upgrade-1.32-1.33.sql | 2 +- docs/schema.sql | 2 +- kojihub/auth.py | 2 +- tests/test_hub/test_get_session_info.py | 8 ++++---- tests/test_lib/test_auth.py | 16 ++++++++++------ 5 files changed, 17 insertions(+), 13 deletions(-) diff --git a/docs/schema-upgrade-1.32-1.33.sql b/docs/schema-upgrade-1.32-1.33.sql index 3dd5db9f..1f9c3e8e 100644 --- a/docs/schema-upgrade-1.32-1.33.sql +++ b/docs/schema-upgrade-1.32-1.33.sql @@ -2,6 +2,6 @@ -- from version 1.32 to 1.33 BEGIN; - ALTER TABLE sessions ADD COLUMN renew_time TIMESTAMPTZ DEFAULT NULL; + ALTER TABLE sessions ADD COLUMN renew_time TIMESTAMPTZ; COMMIT; diff --git a/docs/schema.sql b/docs/schema.sql index 0ff74fdc..af4616d2 100644 --- a/docs/schema.sql +++ b/docs/schema.sql @@ -120,7 +120,7 @@ CREATE TABLE sessions ( update_time TIMESTAMPTZ NOT NULL DEFAULT NOW(), exclusive BOOLEAN CHECK (exclusive), closed BOOLEAN NOT NULL DEFAULT FALSE, - renew_time TIMESTAMPTZ DEFAULT NULL, + renew_time TIMESTAMPTZ, CONSTRAINT no_exclusive_subsessions CHECK ( master IS NULL OR "exclusive" IS NULL), CONSTRAINT no_closed_exclusive CHECK ( diff --git a/kojihub/auth.py b/kojihub/auth.py index 5b955575..a858db26 100644 --- a/kojihub/auth.py +++ b/kojihub/auth.py @@ -118,7 +118,7 @@ class Session(object): ('expired', 'expired'), ('master', 'master'), ('start_time', 'start_time'), ('update_time', 'update_time'), ("date_part('epoch', start_time)", 'start_ts'), ("date_part('epoch', update_time)", 'update_ts'), ('user_id', 'user_id'), - ("date_part('epoch', renew_time)", 'renew_ts')) + ('renew_time', 'renew_time'), ("date_part('epoch', renew_time)", 'renew_ts')) columns, aliases = zip(*fields) query = QueryProcessor(tables=['sessions'], columns=columns, aliases=aliases, diff --git a/tests/test_hub/test_get_session_info.py b/tests/test_hub/test_get_session_info.py index 97774211..fbb72e93 100644 --- a/tests/test_hub/test_get_session_info.py +++ b/tests/test_hub/test_get_session_info.py @@ -41,8 +41,8 @@ class TestGetSessionInfo(DBQueryTestCase): self.assertEqual(query.clauses, ['expired is FALSE', 'user_id = %(user_id)i']) self.assertEqual(query.joins, None) self.assertEqual(query.columns, ['authtype', 'callnum', 'exclusive', 'expired', 'master', - "date_part('epoch', start_time)", 'update_time', - 'user_id']) + "date_part('epoch', start_time)", + 'update_time', 'user_id']) self.assertEqual(query.aliases, ['authtype', 'callnum', 'exclusive', 'expired', 'master', 'start_time', 'update_time', 'user_id']) @@ -71,8 +71,8 @@ class TestGetSessionInfo(DBQueryTestCase): self.assertEqual(query.clauses, ['expired is FALSE', 'user_id = %(user_id)i']) self.assertEqual(query.joins, None) self.assertEqual(query.columns, ['authtype', 'callnum', 'exclusive', 'expired', 'master', - "date_part('epoch', start_time)", 'update_time', - 'user_id']) + "date_part('epoch', start_time)", + 'update_time', 'user_id']) self.assertEqual(query.aliases, ['authtype', 'callnum', 'exclusive', 'expired', 'master', 'start_time', 'update_time', 'user_id']) diff --git a/tests/test_lib/test_auth.py b/tests/test_lib/test_auth.py index 606101b2..6735664a 100644 --- a/tests/test_lib/test_auth.py +++ b/tests/test_lib/test_auth.py @@ -136,6 +136,7 @@ class TestAuthSession(unittest.TestCase): tzinfo=datetime.timezone.utc), 'update_time': datetime.datetime(2022, 10, 24, 8, 17, 6, 254308, tzinfo=datetime.timezone.utc), + 'renew_ts': None, 'user_id': 1}, {'name': 'kojiadmin', 'status': 0, 'usertype': 0}] with self.assertRaises(koji.GenericError) as cm: @@ -160,12 +161,13 @@ class TestAuthSession(unittest.TestCase): self.assertEqual(query.clauses, ['closed IS FALSE', 'hostip = %(hostip)s', 'id = %(id)i', 'key = %(key)s']) self.assertEqual(query.columns, ['authtype', 'callnum', 'exclusive', 'expired', 'master', + 'renew_time', "date_part('epoch', renew_time)", 'start_time', "date_part('epoch', start_time)", 'update_time', "date_part('epoch', update_time)", 'user_id']) self.assertEqual(query.aliases, ['authtype', 'callnum', 'exclusive', 'expired', 'master', - 'start_time', 'start_ts', 'update_time', 'update_ts', - 'user_id']) + 'renew_time', 'renew_ts', 'start_time', 'start_ts', + 'update_time', 'update_ts', 'user_id']) self.assertEqual(query.values, {'id': 123, 'key': 'xyz', 'hostip': 'remote-addr'}) def test_basic_instance(self): @@ -196,12 +198,13 @@ class TestAuthSession(unittest.TestCase): self.assertEqual(query.clauses, ['closed IS FALSE', 'hostip = %(hostip)s', 'id = %(id)i', 'key = %(key)s']) self.assertEqual(query.columns, ['authtype', 'callnum', 'exclusive', 'expired', 'master', + 'renew_time', "date_part('epoch', renew_time)", 'start_time', "date_part('epoch', start_time)", 'update_time', "date_part('epoch', update_time)", 'user_id']) self.assertEqual(query.aliases, ['authtype', 'callnum', 'exclusive', 'expired', 'master', - 'start_time', 'start_ts', 'update_time', 'update_ts', - 'user_id']) + 'renew_time', 'renew_ts', 'start_time', 'start_ts', + 'update_time', 'update_ts', 'user_id']) self.assertEqual(query.values, {'id': 123, 'key': 'xyz', 'hostip': 'remote-addr'}) query = self.queries[1] @@ -247,12 +250,13 @@ class TestAuthSession(unittest.TestCase): self.assertEqual(query.clauses, ['closed IS FALSE', 'hostip = %(hostip)s', 'id = %(id)i', 'key = %(key)s']) self.assertEqual(query.columns, ['authtype', 'callnum', 'exclusive', 'expired', 'master', + 'renew_time', "date_part('epoch', renew_time)", 'start_time', "date_part('epoch', start_time)", 'update_time', "date_part('epoch', update_time)", 'user_id']) self.assertEqual(query.aliases, ['authtype', 'callnum', 'exclusive', 'expired', 'master', - 'start_time', 'start_ts', 'update_time', 'update_ts', - 'user_id']) + 'renew_time', 'renew_ts', 'start_time', 'start_ts', + 'update_time', 'update_ts', 'user_id']) self.assertEqual(query.values, {'id': 123, 'key': 'xyz', 'hostip': 'remote-addr'}) query = self.queries[1]