Match viz dataframe column case to form_data fields for Snowflake, Oracle and Redshift (#5487)

* Add function to fix dataframe column case

* Fix broken handle_nulls method

* Add case sensitivity option to dedup

* Refactor function definition and call location

* Remove added blank line

* Move df column rename logit to db_engine_spec

* Remove redundant variable

* Update comments in db_engine_specs

* Tie df adjustment to db_engine_spec class attribute

* Fix dedup error

* Linting

* Check for db_engine_spec attribute prior to adjustment

* Rename case sensitivity flag

* Linting

* Remove function that was moved to db_engine_specs

* Get metrics names from utils

* Remove double import and rename dedup variable
This commit is contained in:
Ville Brofeldt
2018-08-03 19:53:56 +03:00
committed by Maxime Beauchemin
parent aa9b30cf55
commit e1f4db8e24
4 changed files with 91 additions and 16 deletions

View File

@@ -16,12 +16,16 @@ class SupersetDataFrameTestCase(SupersetTestCase):
['foo', 'bar'],
)
self.assertEquals(
dedup(['foo', 'bar', 'foo', 'bar']),
['foo', 'bar', 'foo__1', 'bar__1'],
dedup(['foo', 'bar', 'foo', 'bar', 'Foo']),
['foo', 'bar', 'foo__1', 'bar__1', 'Foo'],
)
self.assertEquals(
dedup(['foo', 'bar', 'bar', 'bar']),
['foo', 'bar', 'bar__1', 'bar__2'],
dedup(['foo', 'bar', 'bar', 'bar', 'Bar']),
['foo', 'bar', 'bar__1', 'bar__2', 'Bar'],
)
self.assertEquals(
dedup(['foo', 'bar', 'bar', 'bar', 'Bar'], case_sensitive=False),
['foo', 'bar', 'bar__1', 'bar__2', 'Bar__3'],
)
def test_get_columns_basic(self):