From 54937b1a1f09043bacb3b58fd3586267551f0e13 Mon Sep 17 00:00:00 2001 From: Andreas Motl Date: Mon, 2 Sep 2024 21:26:17 +0200 Subject: [PATCH] MongoDB: Improve test case about different types of timestamp fields --- tests/io/mongodb/test_cli.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/tests/io/mongodb/test_cli.py b/tests/io/mongodb/test_cli.py index 0df73e21..1cb87d0e 100644 --- a/tests/io/mongodb/test_cli.py +++ b/tests/io/mongodb/test_cli.py @@ -39,6 +39,7 @@ def test_version(): "name": "foobar", "active": True, "created": dateutil.parser.parse("2020-06-19T15:03:53.727Z"), + "timestamp": bson.datetime_ms.DatetimeMS(1455141600000), }, } DOCUMENT_OUT = { @@ -48,6 +49,7 @@ def test_version(): "name": "foobar", "active": True, "created": 1592579033000, + "timestamp": 1455141600000, }, } @@ -106,10 +108,27 @@ def test_mongodb_load_table_real(caplog, cratedb, mongodb): ) assert result.exit_code == 0 - # Verify data in target database. + # Verify metadata in target database. assert cratedb.database.table_exists("testdrive.demo") is True assert cratedb.database.refresh_table("testdrive.demo") is True assert cratedb.database.count_records("testdrive.demo") == 1 + # Verify content in target database. results = cratedb.database.run_sql("SELECT * FROM testdrive.demo", records=True) assert results[0] == DOCUMENT_OUT + + # Verify schema in target database. + results = cratedb.database.run_sql("SHOW CREATE TABLE testdrive.demo") + assert ( + """ +CREATE TABLE IF NOT EXISTS "testdrive"."demo" ( + "__id" TEXT, + "id" TEXT, + "value" OBJECT(DYNAMIC) AS ( + "name" TEXT, + "active" BOOLEAN, + "created" TIMESTAMP WITH TIME ZONE, + "timestamp" TIMESTAMP WITH TIME ZONE + ) +)""".lstrip() + ) in results[0][0]