Skip to content

Commit 8ef0015

Browse files
committed
test: verify new data can be committed to table
1 parent b6011f2 commit 8ef0015

File tree

1 file changed

+27
-4
lines changed

1 file changed

+27
-4
lines changed

tests/catalog/test_s3tables.py

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
import uuid
2-
3-
import boto3
41
import pytest
52

63
from pyiceberg.catalog.s3tables import S3TableCatalog
@@ -125,7 +122,9 @@ def test_drop_table(catalog: S3TableCatalog, database_name: str, table_name: str
125122
catalog.load_table(identifier=identifier)
126123

127124

128-
def test_commit_table(catalog: S3TableCatalog, database_name: str, table_name: str, table_schema_nested: Schema) -> None:
125+
def test_commit_new_column_to_table(
126+
catalog: S3TableCatalog, database_name: str, table_name: str, table_schema_nested: Schema
127+
) -> None:
129128
identifier = (database_name, table_name)
130129

131130
catalog.create_namespace(namespace=database_name)
@@ -148,3 +147,27 @@ def test_commit_table(catalog: S3TableCatalog, database_name: str, table_name: s
148147
assert updated_table_metadata.metadata_log[0].metadata_file == original_table_metadata_location
149148
assert updated_table_metadata.metadata_log[0].timestamp_ms == original_table_last_updated_ms
150149
assert table.schema().columns[-1].name == "b"
150+
151+
152+
def test_commit_new_data_to_table(
153+
catalog: S3TableCatalog, database_name: str, table_name: str, table_schema_nested: Schema
154+
) -> None:
155+
identifier = (database_name, table_name)
156+
157+
catalog.create_namespace(namespace=database_name)
158+
table = catalog.create_table(identifier=identifier, schema=table_schema_nested)
159+
160+
row_count = table.scan().to_arrow().num_rows
161+
last_updated_ms = table.metadata.last_updated_ms
162+
original_table_metadata_location = table.metadata_location
163+
original_table_last_updated_ms = table.metadata.last_updated_ms
164+
165+
transaction = table.transaction()
166+
transaction.append(table.scan().to_arrow())
167+
transaction.commit_transaction()
168+
169+
updated_table_metadata = table.metadata
170+
assert updated_table_metadata.last_updated_ms > last_updated_ms
171+
assert updated_table_metadata.metadata_log[0].metadata_file == original_table_metadata_location
172+
assert updated_table_metadata.metadata_log[0].timestamp_ms == original_table_last_updated_ms
173+
assert table.scan().to_arrow().num_rows == 2 * row_count

0 commit comments

Comments
 (0)