def METHOD_NAME(self) -> None:
    """
    Test Extraction using model class
    """
    config_dict = {
        f'extractor.csv.{CsvExtractor.FILE_LOCATION}': 'example/sample_data/sample_table.csv',
        'extractor.csv.model_class': 'databuilder.models.table_metadata.TableMetadata',
    }
    self.conf = ConfigFactory.from_dict(config_dict)
    extractor = CsvExtractor()
    extractor.init(Scoped.get_scoped_conf(conf=self.conf,
                                          scope=extractor.get_scope()))
    result = extractor.extract()
    self.assertEqual(result.name, 'test_table1')
    self.assertEqual(result.description.text, '1st test table')
    self.assertEqual(result.database, 'hive')
    self.assertEqual(result.cluster, 'gold')
    self.assertEqual(result.schema, 'test_schema')
    self.assertEqual(result.tags, ['tag1', 'tag2'])
    self.assertEqual(result.is_view, 'false')
    result2 = extractor.extract()
    self.assertEqual(result2.name, 'test_table2')
    self.assertEqual(result2.is_view, 'false')
    result3 = extractor.extract()
    self.assertEqual(result3.name, 'test_view1')
    self.assertEqual(result3.is_view, 'true')