def test_create_video_metadata(self, m_gfp, m_ccm, m_cci, m_cd, m_cm): catalog_ins = MagicMock() expected = 'video_metadata' name = 'eva' uri = 'tmp' m_gfp.return_value = uri m_ccm.return_value = 'col_metadata' m_cci.return_value = 'cci' m_cd.return_value = 1 m_cm.return_value = catalog_ins catalog_ins.create_metadata.return_value = expected calls = [ call('id', ColumnType.INTEGER, None, [], 'cci'), call('data', ColumnType.NDARRAY, NdArrayType.UINT8, [None, None, None]) ] actual = create_video_metadata(name) m_gfp.assert_called_once_with(name) m_ccm.assert_called_once_with([1, 1]) m_cci.assert_called_once_with(unique=True) m_cd.assert_has_calls(calls) catalog_ins.create_metadata.assert_called_with(name, uri, 'col_metadata', identifier_column='id') self.assertEqual(actual, expected)
def visit_load_data(self, statement: LoadDataStatement): """Convertor for parsed load data statement If the input table already exists we return its metadata. Else we will create a new metadata object for this table name. Arguments: statement(LoadDataStatement): [Load data statement] """ table = statement.table table_metainfo = bind_dataset(table.table_info) if table_metainfo is None: # Create a new metadata object table_metainfo = create_video_metadata(table.table_info.table_name) load_data_opr = LogicalLoadData(table_metainfo, statement.path) self._plan = load_data_opr