Skip to content

Commit aabdc6e

Browse files
committed
IO: Refactor and clean up test cases
1 parent 326da16 commit aabdc6e

File tree

10 files changed

+57
-56
lines changed

10 files changed

+57
-56
lines changed

examples/cdc/aws/kinesis_put.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from yarl import URL
22

33
from cratedb_toolkit.io.kinesis.adapter import KinesisStreamAdapter
4-
from tests.io.test_processor import DYNAMODB_CDC_INSERT_NESTED, DYNAMODB_CDC_MODIFY_NESTED, wrap_kinesis
4+
from tests.io.test_awslambda import DYNAMODB_CDC_INSERT_NESTED, DYNAMODB_CDC_MODIFY_NESTED, wrap_kinesis
55

66

77
def main():
Lines changed: 2 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -6,64 +6,14 @@
66
from cratedb_toolkit import ManagedCluster
77

88

9-
@pytest.fixture
10-
def dummy_csv(tmp_path):
11-
"""
12-
Provide a dummy CSV file to the test cases.
13-
"""
14-
csvfile = tmp_path / "dummy.csv"
15-
csvfile.write_text("name,value\ntemperature,42.42\nhumidity,84.84")
16-
return csvfile
17-
18-
19-
def test_import_standalone_csv_pandas(cratedb, dummy_csv):
20-
"""
21-
Invoke convenience function `import_csv_pandas`, and verify database content.
22-
"""
23-
result = cratedb.database.import_csv_pandas(filepath=dummy_csv, tablename="foobar")
24-
assert result is None
25-
26-
cratedb.database.run_sql("REFRESH TABLE foobar;")
27-
result = cratedb.database.run_sql("SELECT COUNT(*) FROM foobar;")
28-
assert result == [(2,)]
29-
30-
31-
def test_import_standalone_csv_dask(cratedb, dummy_csv, needs_sqlalchemy2):
32-
"""
33-
Invoke convenience function `import_csv_dask`, and verify database content.
34-
"""
35-
pytest.importorskip("dask")
36-
result = cratedb.database.import_csv_dask(filepath=dummy_csv, tablename="foobar")
37-
assert result is None
38-
39-
cratedb.database.run_sql("REFRESH TABLE foobar;")
40-
result = cratedb.database.run_sql("SELECT COUNT(*) FROM foobar;")
41-
assert result == [(2,)]
42-
43-
44-
def test_import_standalone_csv_dask_with_progressbar(cratedb, dummy_csv, needs_sqlalchemy2):
45-
"""
46-
Invoke convenience function `import_csv_dask`, and verify database content.
47-
This time, use `progress=True` to make Dask display a progress bar.
48-
However, the code does not verify it.
49-
"""
50-
pytest.importorskip("dask")
51-
result = cratedb.database.import_csv_dask(filepath=dummy_csv, tablename="foobar", progress=True)
52-
assert result is None
53-
54-
cratedb.database.run_sql("REFRESH TABLE foobar;")
55-
result = cratedb.database.run_sql("SELECT COUNT(*) FROM foobar;")
56-
assert result == [(2,)]
57-
58-
599
@pytest.mark.skipif(
6010
os.getenv("FORCE", "no") != "yes",
6111
reason="Only works when invoked exclusively, using "
6212
"`FORCE=yes pytest --no-cov tests/io/test_import.py -k managed_csv_local`. "
6313
"Otherwise croaks per `AssertionError: ERROR: The following arguments are required: --url`. "
6414
"We don't know why.",
6515
)
66-
def test_import_managed_csv_local(cloud_environment, dummy_csv, caplog):
16+
def test_csv_import_local(cloud_environment, dummy_csv, caplog):
6717
"""
6818
CLI test: Invoke `ctk load table ...` for a CrateDB Cloud Import, from a local file.
6919
"""
@@ -90,7 +40,7 @@ def test_import_managed_csv_local(cloud_environment, dummy_csv, caplog):
9040
assert results[0]["count"] >= 2
9141

9242

93-
def test_import_managed_parquet_remote(cloud_environment, tmp_path, caplog):
43+
def test_parquet_import_remote(cloud_environment, tmp_path, caplog):
9444
"""
9545
CLI test: Invoke `ctk load table ...` for a CrateDB Cloud Import, from a URL.
9646
"""

tests/iac/__init__.py

Whitespace-only changes.

tests/io/dynamodb/test_relay.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from commons_codec.transform.dynamodb_model import PrimaryKeySchema
66

77
from cratedb_toolkit.io.kinesis.relay import KinesisRelay
8-
from tests.io.test_processor import DYNAMODB_CDC_INSERT_NESTED, DYNAMODB_CDC_MODIFY_NESTED, wrap_kinesis
8+
from tests.io.test_awslambda import DYNAMODB_CDC_INSERT_NESTED, DYNAMODB_CDC_MODIFY_NESTED, wrap_kinesis
99

1010
pytestmark = pytest.mark.kinesis
1111

tests/io/kinesis/manager.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from yarl import URL
55

66
from cratedb_toolkit.io.kinesis.adapter import KinesisAdapterBase
7-
from tests.io.test_processor import wrap_kinesis
7+
from tests.io.test_awslambda import wrap_kinesis
88

99
logger = logging.getLogger(__name__)
1010

tests/io/kinesis/test_relay.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from cratedb_toolkit.io.kinesis.model import RecipeDefinition
66
from cratedb_toolkit.io.kinesis.relay import KinesisRelay
77
from tests.io.kinesis.data import DMS_CDC_CREATE_TABLE, DMS_CDC_INSERT_BASIC
8-
from tests.io.test_processor import wrap_kinesis
8+
from tests.io.test_awslambda import wrap_kinesis
99

1010
pytestmark = pytest.mark.kinesis
1111

tests/io/test_file.py

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
import pytest
2+
3+
4+
@pytest.fixture
5+
def dummy_csv(tmp_path):
6+
"""
7+
Provide a dummy CSV file to the test cases.
8+
"""
9+
csvfile = tmp_path / "dummy.csv"
10+
csvfile.write_text("name,value\ntemperature,42.42\nhumidity,84.84")
11+
return csvfile
12+
13+
14+
def test_csv_import_pandas(cratedb, dummy_csv):
15+
"""
16+
Invoke convenience function `import_csv_pandas`, and verify database content.
17+
"""
18+
result = cratedb.database.import_csv_pandas(filepath=dummy_csv, tablename="foobar")
19+
assert result is None
20+
21+
cratedb.database.run_sql("REFRESH TABLE foobar;")
22+
result = cratedb.database.run_sql("SELECT COUNT(*) FROM foobar;")
23+
assert result == [(2,)]
24+
25+
26+
def test_csv_import_dask(cratedb, dummy_csv, needs_sqlalchemy2):
27+
"""
28+
Invoke convenience function `import_csv_dask`, and verify database content.
29+
"""
30+
pytest.importorskip("dask")
31+
result = cratedb.database.import_csv_dask(filepath=dummy_csv, tablename="foobar")
32+
assert result is None
33+
34+
cratedb.database.run_sql("REFRESH TABLE foobar;")
35+
result = cratedb.database.run_sql("SELECT COUNT(*) FROM foobar;")
36+
assert result == [(2,)]
37+
38+
39+
def test_csv_import_dask_with_progressbar(cratedb, dummy_csv, needs_sqlalchemy2):
40+
"""
41+
Invoke convenience function `import_csv_dask`, and verify database content.
42+
This time, use `progress=True` to make Dask display a progress bar.
43+
However, the code does not verify it.
44+
"""
45+
pytest.importorskip("dask")
46+
result = cratedb.database.import_csv_dask(filepath=dummy_csv, tablename="foobar", progress=True)
47+
assert result is None
48+
49+
cratedb.database.run_sql("REFRESH TABLE foobar;")
50+
result = cratedb.database.run_sql("SELECT COUNT(*) FROM foobar;")
51+
assert result == [(2,)]

0 commit comments

Comments
 (0)