Skip to content

Commit 8d89bda

Browse files
authored
Merge pull request #106 from singer-io/fix/standard-metadata
Allow empty lists in get_standard_metadata
2 parents 9b99c6e + 0720f5c commit 8d89bda

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

singer/metadata.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,11 @@ def get_standard_metadata(schema=None, schema_name=None, key_properties=None,
2626
valid_replication_keys=None, replication_method=None):
2727
mdata = {}
2828

29-
if key_properties:
29+
if key_properties is not None:
3030
mdata = write(mdata, (), 'table-key-properties', key_properties)
3131
if replication_method:
3232
mdata = write(mdata, (), 'forced-replication-method', replication_method)
33-
if valid_replication_keys:
33+
if valid_replication_keys is not None:
3434
mdata = write(mdata, (), 'valid-replication-keys', valid_replication_keys)
3535
if schema:
3636
mdata = write(mdata, (), 'inclusion', 'available')

tests/test_metadata.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -325,3 +325,11 @@ def test_standard_metadata(self):
325325
for obj in expected_metadata:
326326
if obj in test_value:
327327
self.assertIn(obj, test_value)
328+
329+
def test_empty_key_properties_are_written(self):
330+
mdata = get_standard_metadata(key_properties=[])
331+
self.assertEqual(mdata, [{'breadcrumb': (), 'metadata': {'table-key-properties': []}}])
332+
333+
def test_empty_valid_replication_keys_are_written(self):
334+
mdata = get_standard_metadata(valid_replication_keys=[])
335+
self.assertEqual(mdata, [{'breadcrumb': (), 'metadata': {'valid-replication-keys': []}}])

0 commit comments

Comments
 (0)