From 43a3a3996726b83f8e3b8b6e2e178311eb956cb8 Mon Sep 17 00:00:00 2001 From: Astha Mohta Date: Mon, 26 Dec 2022 22:46:40 +0530 Subject: [PATCH 1/5] tests: jsonb array testing --- tests/_fixtures.py | 10 ++++++++++ tests/system/test_session_api.py | 29 ++++++++++++++++++++++++----- 2 files changed, 34 insertions(+), 5 deletions(-) diff --git a/tests/_fixtures.py b/tests/_fixtures.py index 7bf55ee232..0bd8fe163a 100644 --- a/tests/_fixtures.py +++ b/tests/_fixtures.py @@ -130,13 +130,23 @@ CREATE TABLE all_types ( pkey BIGINT NOT NULL, int_value INT, + int_array INT[], bool_value BOOL, + bool_array BOOL[], bytes_value BYTEA, + bytes_array BYTEA[], float_value DOUBLE PRECISION, + float_array DOUBLE PRECISION[], string_value VARCHAR(16), + string_array VARCHAR(16)[], + date_value DATE, + date_array DATE[], timestamp_value TIMESTAMPTZ, + timestamp_array TIMESTAMPTZ[], numeric_value NUMERIC, + numeric_array NUMERIC[], jsonb_value JSONB, + jsonb_array JSONB[], PRIMARY KEY (pkey) ); CREATE TABLE counters ( name VARCHAR(1024), diff --git a/tests/system/test_session_api.py b/tests/system/test_session_api.py index c9c5c8a959..9e91bea535 100644 --- a/tests/system/test_session_api.py +++ b/tests/system/test_session_api.py @@ -85,11 +85,9 @@ EMULATOR_ALL_TYPES_COLUMNS = LIVE_ALL_TYPES_COLUMNS[:-4] # ToDo: Clean up generation of POSTGRES_ALL_TYPES_COLUMNS -POSTGRES_ALL_TYPES_COLUMNS = ( - LIVE_ALL_TYPES_COLUMNS[:1] - + LIVE_ALL_TYPES_COLUMNS[1:7:2] - + LIVE_ALL_TYPES_COLUMNS[9:17:2] - + ("jsonb_value",) +POSTGRES_ALL_TYPES_COLUMNS = LIVE_ALL_TYPES_COLUMNS[:17] + ( + "jsonb_value", + "jsonb_array", ) AllTypesRowData = collections.namedtuple("AllTypesRowData", LIVE_ALL_TYPES_COLUMNS) @@ -180,12 +178,33 @@ PostGresAllTypesRowData(pkey=101, int_value=123), PostGresAllTypesRowData(pkey=102, bool_value=False), PostGresAllTypesRowData(pkey=103, bytes_value=BYTES_1), + PostGresAllTypesRowData(pkey=104, date_value=SOME_DATE), PostGresAllTypesRowData(pkey=105, float_value=1.4142136), PostGresAllTypesRowData(pkey=106, string_value="VALUE"), PostGresAllTypesRowData(pkey=107, timestamp_value=SOME_TIME), PostGresAllTypesRowData(pkey=108, timestamp_value=NANO_TIME), PostGresAllTypesRowData(pkey=109, numeric_value=NUMERIC_1), PostGresAllTypesRowData(pkey=110, jsonb_value=JSON_1), + # empty array values + PostGresAllTypesRowData(pkey=201, int_array=[]), + PostGresAllTypesRowData(pkey=202, bool_array=[]), + PostGresAllTypesRowData(pkey=203, bytes_array=[]), + PostGresAllTypesRowData(pkey=204, date_array=[]), + PostGresAllTypesRowData(pkey=205, float_array=[]), + PostGresAllTypesRowData(pkey=206, string_array=[]), + PostGresAllTypesRowData(pkey=207, timestamp_array=[]), + PostGresAllTypesRowData(pkey=208, numeric_array=[]), + PostGresAllTypesRowData(pkey=209, jsonb_array=[]), + # non-empty array values, including nulls + PostGresAllTypesRowData(pkey=301, int_array=[123, 456, None]), + PostGresAllTypesRowData(pkey=302, bool_array=[True, False, None]), + PostGresAllTypesRowData(pkey=303, bytes_array=[BYTES_1, BYTES_2, None]), + PostGresAllTypesRowData(pkey=304, date_array=[SOME_DATE, None]), + PostGresAllTypesRowData(pkey=305, float_array=[3.1415926, 2.71828, None]), + PostGresAllTypesRowData(pkey=306, string_array=["One", "Two", None]), + PostGresAllTypesRowData(pkey=307, timestamp_array=[SOME_TIME, NANO_TIME, None]), + PostGresAllTypesRowData(pkey=308, numeric_array=[NUMERIC_1, NUMERIC_2, None]), + PostGresAllTypesRowData(pkey=309, jsonb_array=[JSON_1, JSON_2, None]), ) if _helpers.USE_EMULATOR: From 85a9b9dabb2e16d94f4b6578bfe11213d2b79031 Mon Sep 17 00:00:00 2001 From: Astha Mohta <35952883+asthamohta@users.noreply.github.com> Date: Tue, 27 Dec 2022 10:30:54 +0530 Subject: [PATCH 2/5] Update tests/system/test_session_api.py Co-authored-by: Rajat Bhatta <93644539+rajatbhatta@users.noreply.github.com> --- tests/system/test_session_api.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/system/test_session_api.py b/tests/system/test_session_api.py index 9e91bea535..2ec4cf8a6e 100644 --- a/tests/system/test_session_api.py +++ b/tests/system/test_session_api.py @@ -199,7 +199,7 @@ PostGresAllTypesRowData(pkey=301, int_array=[123, 456, None]), PostGresAllTypesRowData(pkey=302, bool_array=[True, False, None]), PostGresAllTypesRowData(pkey=303, bytes_array=[BYTES_1, BYTES_2, None]), - PostGresAllTypesRowData(pkey=304, date_array=[SOME_DATE, None]), + PostGresAllTypesRowData(pkey=304, date_array=[SOME_DATE, SOME_DATE, None]), PostGresAllTypesRowData(pkey=305, float_array=[3.1415926, 2.71828, None]), PostGresAllTypesRowData(pkey=306, string_array=["One", "Two", None]), PostGresAllTypesRowData(pkey=307, timestamp_array=[SOME_TIME, NANO_TIME, None]), From 6215c41aa061aec88160c0c9c097690240022235 Mon Sep 17 00:00:00 2001 From: Astha Mohta <35952883+asthamohta@users.noreply.github.com> Date: Tue, 27 Dec 2022 10:32:23 +0530 Subject: [PATCH 3/5] Update test_session_api.py --- tests/system/test_session_api.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/system/test_session_api.py b/tests/system/test_session_api.py index 2ec4cf8a6e..a955aef6fe 100644 --- a/tests/system/test_session_api.py +++ b/tests/system/test_session_api.py @@ -200,7 +200,7 @@ PostGresAllTypesRowData(pkey=302, bool_array=[True, False, None]), PostGresAllTypesRowData(pkey=303, bytes_array=[BYTES_1, BYTES_2, None]), PostGresAllTypesRowData(pkey=304, date_array=[SOME_DATE, SOME_DATE, None]), - PostGresAllTypesRowData(pkey=305, float_array=[3.1415926, 2.71828, None]), + PostGresAllTypesRowData(pkey=305, float_array=[3.1415926, -2.71828, None]), PostGresAllTypesRowData(pkey=306, string_array=["One", "Two", None]), PostGresAllTypesRowData(pkey=307, timestamp_array=[SOME_TIME, NANO_TIME, None]), PostGresAllTypesRowData(pkey=308, numeric_array=[NUMERIC_1, NUMERIC_2, None]), From 6b4f403afab669e6f13cbaf91ab43f5a0b9ec36e Mon Sep 17 00:00:00 2001 From: Astha Mohta Date: Tue, 27 Dec 2022 10:48:14 +0530 Subject: [PATCH 4/5] testing for infitinty --- tests/system/test_session_api.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/system/test_session_api.py b/tests/system/test_session_api.py index 9e91bea535..008fdf71d1 100644 --- a/tests/system/test_session_api.py +++ b/tests/system/test_session_api.py @@ -135,7 +135,7 @@ AllTypesRowData(pkey=302, bool_array=[True, False, None]), AllTypesRowData(pkey=303, bytes_array=[BYTES_1, BYTES_2, None]), AllTypesRowData(pkey=304, date_array=[SOME_DATE, None]), - AllTypesRowData(pkey=305, float_array=[3.1415926, 2.71828, None]), + AllTypesRowData(pkey=305, float_array=[3.1415926, 2.71828, math.inf, -math.inf, None]), AllTypesRowData(pkey=306, string_array=["One", "Two", None]), AllTypesRowData(pkey=307, timestamp_array=[SOME_TIME, NANO_TIME, None]), AllTypesRowData(pkey=308, numeric_array=[NUMERIC_1, NUMERIC_2, None]), @@ -166,7 +166,7 @@ EmulatorAllTypesRowData(pkey=302, bool_array=[True, False, None]), EmulatorAllTypesRowData(pkey=303, bytes_array=[BYTES_1, BYTES_2, None]), EmulatorAllTypesRowData(pkey=304, date_array=[SOME_DATE, None]), - EmulatorAllTypesRowData(pkey=305, float_array=[3.1415926, 2.71828, None]), + EmulatorAllTypesRowData(pkey=305, float_array=[3.1415926, -2.71828, None]), EmulatorAllTypesRowData(pkey=306, string_array=["One", "Two", None]), EmulatorAllTypesRowData(pkey=307, timestamp_array=[SOME_TIME, NANO_TIME, None]), ) @@ -200,7 +200,7 @@ PostGresAllTypesRowData(pkey=302, bool_array=[True, False, None]), PostGresAllTypesRowData(pkey=303, bytes_array=[BYTES_1, BYTES_2, None]), PostGresAllTypesRowData(pkey=304, date_array=[SOME_DATE, None]), - PostGresAllTypesRowData(pkey=305, float_array=[3.1415926, 2.71828, None]), + PostGresAllTypesRowData(pkey=305, float_array=[3.1415926, -2.71828, math.inf, -math.inf, None]), PostGresAllTypesRowData(pkey=306, string_array=["One", "Two", None]), PostGresAllTypesRowData(pkey=307, timestamp_array=[SOME_TIME, NANO_TIME, None]), PostGresAllTypesRowData(pkey=308, numeric_array=[NUMERIC_1, NUMERIC_2, None]), From eda0aed5b3ac900755641e1c7b7e12cccd42af7c Mon Sep 17 00:00:00 2001 From: Astha Mohta Date: Tue, 27 Dec 2022 11:03:03 +0530 Subject: [PATCH 5/5] linting --- tests/system/test_session_api.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tests/system/test_session_api.py b/tests/system/test_session_api.py index d2ebc1d5d2..6b7afbe525 100644 --- a/tests/system/test_session_api.py +++ b/tests/system/test_session_api.py @@ -135,7 +135,9 @@ AllTypesRowData(pkey=302, bool_array=[True, False, None]), AllTypesRowData(pkey=303, bytes_array=[BYTES_1, BYTES_2, None]), AllTypesRowData(pkey=304, date_array=[SOME_DATE, None]), - AllTypesRowData(pkey=305, float_array=[3.1415926, 2.71828, math.inf, -math.inf, None]), + AllTypesRowData( + pkey=305, float_array=[3.1415926, 2.71828, math.inf, -math.inf, None] + ), AllTypesRowData(pkey=306, string_array=["One", "Two", None]), AllTypesRowData(pkey=307, timestamp_array=[SOME_TIME, NANO_TIME, None]), AllTypesRowData(pkey=308, numeric_array=[NUMERIC_1, NUMERIC_2, None]), @@ -200,7 +202,9 @@ PostGresAllTypesRowData(pkey=302, bool_array=[True, False, None]), PostGresAllTypesRowData(pkey=303, bytes_array=[BYTES_1, BYTES_2, None]), PostGresAllTypesRowData(pkey=304, date_array=[SOME_DATE, SOME_DATE, None]), - PostGresAllTypesRowData(pkey=305, float_array=[3.1415926, -2.71828, math.inf, -math.inf, None]), + PostGresAllTypesRowData( + pkey=305, float_array=[3.1415926, -2.71828, math.inf, -math.inf, None] + ), PostGresAllTypesRowData(pkey=306, string_array=["One", "Two", None]), PostGresAllTypesRowData(pkey=307, timestamp_array=[SOME_TIME, NANO_TIME, None]), PostGresAllTypesRowData(pkey=308, numeric_array=[NUMERIC_1, NUMERIC_2, None]),