def create_video_metadata(name: str) -> DataFrameMetadata: """Create video metadata object. We have predefined columns for such a object id: the frame id data: the frame data Arguments: name (str): name of the metadata to be added to the catalog Returns: DataFrameMetadata: corresponding metadata for the input table info """ catalog = CatalogManager() columns = [ColumnDefinition('id', ColumnType.INTEGER, None, [], ColConstraintInfo(unique=True))] # the ndarray dimensions are set as None. We need to fix this as we # cannot assume. Either ask the user to provide this with load or # we infer this from the provided video. columns.append( ColumnDefinition( 'data', ColumnType.NDARRAY, NdArrayType.UINT8, [None, None, None] ) ) col_metadata = create_column_metadata(columns) uri = str(generate_file_path(name)) metadata = catalog.create_metadata( name, uri, col_metadata, identifier_column='id') return metadata
def test_dataset_by_name_should_return_name_of_model( self, dcs_mock, ds_mock, initdb_mock): #tests for dataset_by_name in df_service.py catalog = CatalogManager() file_url = "file1" set_name = "test_name" columns = [(DataFrameColumn("column", ColumnType.INTEGER))] catalog.create_metadata(set_name, file_url, columns) for column in columns: column.metadata_id = \ ds_mock.return_value.create_dataset.return_value.id real = catalog._dataset_service.dataset_by_name(set_name) ds_mock.return_value.dataset_by_name.assert_called_with(set_name) test = ds_mock.return_value.dataset_by_name.return_value self.assertEqual(test, real)
def test_create_metadata_should_create_dataset_and_columns( self, dcs_mock, ds_mock, initdb_mock): catalog = CatalogManager() file_url = "file1" dataset_name = "name" columns = [(DataFrameColumn("c1", ColumnType.INTEGER))] actual = catalog.create_metadata(dataset_name, file_url, columns) ds_mock.return_value.create_dataset.assert_called_with( dataset_name, file_url, identifier_id='id') for column in columns: column.metadata_id = \ ds_mock.return_value.create_dataset.return_value.id dcs_mock.return_value.create_column.assert_called_with(columns) expected = ds_mock.return_value.create_dataset.return_value expected.schema = \ dcs_mock.return_value.create_column.return_value self.assertEqual(actual, expected)