def test_sync_view(self): """Test for assuring sync_view works as expected""" stream = { 'tap_stream_id': 'foo-bar', 'schema': {'properties': {'foo_desired': 'b'}}, 'stream': 'test', 'table_name': 'table_name_value', 'metadata': [{ 'metadata': {'sql-datatype': 'test', 'schema-name': 'schema_name_value'}, 'breadcrumb': ["properties", "foo_desired"], }] } state = {'bookmarks': {'foo-bar': {'foo': 'bar', 'lsn': 4}}} desired_columns = ['foo', 'bar'] md_map = {(): {'schema-name': 'pg_catalog', 'replication-key': 'oid'}, ('properties', 'foo'): {'sql-datatype': 'foo'}, ('properties', 'bar'): {'sql-datatype': 'foo'}} mocked_time_value = 1234 expected_output_without_version = { 'bookmarks': {'foo-bar': {'foo': 'bar', 'lsn': 4, 'version': mocked_time_value * 1000}} } with patch('time.time') as mocked_time: mocked_time.return_value = mocked_time_value actual_output = sync_view(self.conn_config, stream, state, desired_columns, md_map) self.assertEqual(expected_output_without_version, actual_output)
def do_sync_full_table(conn_config, stream, state, desired_columns, md_map): LOGGER.info("Stream %s is using full_table replication", stream['tap_stream_id']) sync_common.send_schema_message(stream, []) if md_map.get((), {}).get('is-view'): state = full_table.sync_view(conn_config, stream, state, desired_columns, md_map) else: state = full_table.sync_table(conn_config, stream, state, desired_columns, md_map) return state