mirror of
https://github.com/apache/superset.git
synced 2026-04-19 16:14:52 +00:00
feat: add Firebolt DB engine spec (#16903)
* New branch from superset for integration with firebolt sqlalchemy adapter * Added db_engine_spec file for Firebolt * Removed firebolt code from superset repo * Deleted virtual env commit * Adding time grain changes to firebolt.py * Updated README.md Added steps to install and run Superset with Firebolt SQLAlchemy Adapter * Update README.md Reduced installation steps. Using PyPi installation for adapter now * Revert "Update README.md" This reverts commit5ed17c7a45. * Revert "Updated README.md" This reverts commit45c5072649. * added epoch methods, added test cases for firebolt db engine spec and edited setup.py * Added license to files * Added documentation for Firebolt-SQLAlchemy * Removed trailing whitespace Co-authored-by: raghavsharma <raghavs@sigmoidanalytics.com> Co-authored-by: raghavSharmaSigmoid <88667094+raghavSharmaSigmoid@users.noreply.github.com>
This commit is contained in:
39
tests/integration_tests/db_engine_specs/firebolt_tests.py
Normal file
39
tests/integration_tests/db_engine_specs/firebolt_tests.py
Normal file
@@ -0,0 +1,39 @@
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
from superset.db_engine_specs.firebolt import FireboltEngineSpec
|
||||
from tests.integration_tests.db_engine_specs.base_tests import TestDbEngineSpec
|
||||
|
||||
|
||||
class TestFireboltDbEngineSpec(TestDbEngineSpec):
|
||||
def test_convert_dttm(self):
|
||||
dttm = self.get_dttm()
|
||||
test_cases = {
|
||||
"DATE": "CAST('2019-01-02' AS DATE)",
|
||||
"DATETIME": "CAST('2019-01-02T03:04:05' AS DATETIME)",
|
||||
"TIMESTAMP": "CAST('2019-01-02T03:04:05' AS TIMESTAMP)",
|
||||
"UNKNOWNTYPE": None,
|
||||
}
|
||||
|
||||
for target_type, expected in test_cases.items():
|
||||
actual = FireboltEngineSpec.convert_dttm(target_type, dttm)
|
||||
self.assertEqual(actual, expected)
|
||||
|
||||
def test_epoch_to_dttm(self):
|
||||
assert (
|
||||
FireboltEngineSpec.epoch_to_dttm().format(col="timestamp_column")
|
||||
== "from_unixtime(timestamp_column)"
|
||||
)
|
||||
Reference in New Issue
Block a user