You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by gi...@apache.org on 2021/07/09 10:40:03 UTC

[superset] branch dependabot/npm_and_yarn/superset-frontend/d3-scale-4.0.0 updated (9393db1 -> 5714df1)

This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a change to branch dependabot/npm_and_yarn/superset-frontend/d3-scale-4.0.0
in repository https://gitbox.apache.org/repos/asf/superset.git.


 discard 9393db1  build(deps): bump d3-scale from 2.1.2 to 4.0.0 in /superset-frontend
     add accee50  chore: Add Druid SQL timegrains for parity with Druid NoSQL (#15320)
     add 819118b  fix: Enlarged select filter value (#15373)
     add 9330c6e  initial commit (#15380)
     add 95b9e2e  refactor: icon to icons for favestar component (#15371)
     add a7e1037  chore: Improves the Select component UI/UX - iteration 3 (#15363)
     add 1e8fb8b  chore: Migrates ControlHeader icons (#15265)
     add bdb9b0a  chore: Rewrites dashboard IconButton component (#14174)
     add f3f0184  initial commit (#15392)
     add 22d23fc  Add possibility to specify Service Account name for the Deployment in the Helm chart (#15340)
     add 09c44d0  feat(native-filters): Hide non-numeric columns in numeric range filter (#15385)
     add 73e2c09  fix(regression): removed flask_app property can break derived class (#15407)
     add a3d91ae  Fix bootstrapScript in values.yaml of the helm chart (#15297)
     add b9b903f  feat: Adding a show all button to the column/metrics list in the explore view (Allow more than 50 columns to be shown) (#15153)
     add a4ce952  docs: release documentation for 1.2 (#14572)
     add e62cb2f  chore: Add Slovenian (sl_SI) translation (#14908)
     add 2ebc0a0  chore: upgrade Flask-Caching>=1.10.0
     add f53b2c6  docs: Update SIP template (#14278)
     add 8205ea5  chore: add DASHBOARD_FILTERS_EXPERIMENTAL ff to BE default value (#15417)
     add ddcf461  fix(native-filters): show human readable time grain label in indicator (#15411)
     add d8a1acf  chore(refactor): load configuration and merge recursively  (#15405)
     add 486b8d9  refactor(feature_flags configurations): remove redundant additional configuration for default vales (#15425)
     add 93447d1  Update Header.jsx (#13467)
     add 1c4cb28  fix: double click slq lab table cell (#15400)
     add ac18c90  fix: Cascading filter popover widens automatically (#15390)
     add 18f3089  Update CONTRIBUTING.md (#14880)
     add 0b7e524  fix: Select item when allowNewOptions is true and the Enter is pressed (#15429)
     add f52b671  fix: downgrade selenium log level on timeout (#15328)
     add e713912  chore: Uses mixed case for native filters headers (#15433)
     add 21d1fb5  feat: more error messages (#15409)
     add ed6d10e  Remove pydash merge (#15435)
     add a0179ac  refactor: icon to icons for inderteminatecheckbox icon (#15397)
     add 076f774  refactor: icon to icons for lastupdated component (#15401)
     add faae27b  Open in _self (#14778)
     add 1797805  Fix wrong filename mentioned in INSTALL.md (#14630)
     add fe77558  add missing logging import (#14994)
     add b8f4e7d  fix: add dashboard markdown id (#15418)
     add fa6b25d  fix(explore): switch to correct scheme registry for custom sequential color schemes (#15314)
     add 2af9287  chore(docs): Manage access to Dashboards (#15413)
     add f33a0e1  fix: import superset_config (#15444)
     add f109da4  perf(dashboard): Improve perf of highlighting charts in scope of active filter (#15424)
     add 727847d  fix: remove unnecessary app context on celery (#15422)
     add dd40733  fix(native-filters): filter type check when using experimental flag (#15446)
     add ab7f31f  Revert "refactor(feature_flags configurations): remove redundant additional configuration for default vales (#15425)" (#15448)
     add 4630abb  feat(native-filters): add support for preselect filters (#15427)
     add 4a394cd  fix(dashboard): native filters highlight with multiple tabs jumps to first tab (#15455)
     add 743d9cc  feat: Better Errors in SQL Lab (#15432)
     add 149c5fd  feat: add more SIP-40 errors to SQL Lab (#15436)
     add 8b3d08a  feat: add env vars from multiple secrets in Helm chart (#15426)
     add 5181a74  chore: simplify errors and issue codes (#15437)
     add a2d69ea  feat(trino): add support for query cost estimate #15166 (#15177)
     add ebb3efc  initial commit (#15466)
     add 292bce5  fix: raise unexpected error when orderby is empty (#15353)
     add 61e6b70  fix: nvd3 bar chart sortby metric (#15318)
     add 5f96e63  fix(native-filters): Fix clear all button (#15438)
     add 7ad8fd5  feat(add Netezza database): Add IBM Netezza support (#15450)
     add 6c16f9b  fix: bump Redis minor version (#15430)
     add cad5ba8  documentation changes for netezza (#15475)
     add ffa5175  refactor: Moving get_user_datasources to security manager (#15467)
     add e606477  feat: more SIP-40 errors (#15482)
     add e5d4765  feat(dashboard-groupby): group by - add ability to exclude columns (#15454)
     add f286647  chore(native-filters): remove instant filtering option (#15365)
     add 285c1b5  fix: skip set and log when NullCache (#15493)
     add a3a3477  Update ingress api version to v1 (#15273)
     add baf42bc  docs: improve docs on running tests locally (#14102)
     add 0ff3253  fix(native-filters): chartsInScope were not recalculated in some cases (#15498)
     add 665459f  feat(native-filters): add null option to value filter (#15419)
     add 55d0371  fix: GSheets supports JOINs (#15487)
     add b5119b8  refactor(tests): decouple unittests from integration tests (#15473)
     add 7889564  refactor: icon to icons for infotooltip component (#15398)
     add 246368e  fix(sqllab): add new tab when add sql query (#15492)
     add 7f2f51b  refactor: icon to icons for listviewcomponent (#15408)
     add d4480f5  feat: Database Connection UI  (#14881)
     add cbc4aa8  feat: extra table metadata for Google Sheets (#14775)
     add 81633e9  refactor(dashboard): [chart-maximize-mode]put chart full-size state in redux (#15384)
     add 99fe9c5  fix: Utilizing dashboard native filter feature flag (#15519)
     add ee2ee48  feat(cross-filters): add option to clear set cross filters (#15500)
     add ea2a98f  refactor: icon to icons for popovercomponent (#15451)
     add e5ab9a4  chors(docs): update DASHBOARD_RBAC (#15514)
     add 68704a5  fix: Database connection R6 fixes (#15486)
     add 80b8df0  quote column name if db requires (#15465)
     add 8f92618  fix: show all dbs in available endpoint (#15534)
     add f62cea3  chore(release-docs): svn update after svn commit (#15523)
     add dd16468  fix: base requirements missing deprecation pkg (#15527)
     add 2cb13e6  fix(native-filters): Fix native filters config modal (#15506)
     add b20293d  fix: click card view link to 404 page when card rendering(#15526)
     add fb322b5  refactor: migrate to icons for searchinput icons (#15533)
     add 83d50dd  chore: add metadata for filter box plugin (#15521)
     add 07852c3  refactor: icon to icons for popoversection (#15461)
     add 624b413  fix: variable context (#15511)
     add 15796ea  refactor: type hints should not be load in runtime (#15540)
     add bee386e  feat: supporting jinja templating in saved metrics  (#15502)
     add 08bda27  fix: indentation in Helm chart (#15547)
     add 0af5a3d  fix: examples remove app context at the module level (#15546)
     add 314d49c  Enhance Select (#15550)
     add 83be06d  Revert #15405 #15435 #15444 (#15558)
     add 29dd084  refactor: icon to icons for headeractionsdropdown (#15560)
     add cd4f979  initial commit (#15551)
     add c732d2d  updated dremio connection string (#15575)
     add 58cda8f  refactor: icon to icons for nativeFilter components (#15528)
     add ae160f7  chore: add changed_on_delta_humanized field on dashboard schema (#15542)
     add abd999b  refactor: icon to icons for filterbadge components (#15557)
     add 86a59a2  initial fix (#15581)
     add 4f5f928  feat: validate_parameters for GSheets (#15578)
     add 301b94f  fix: available endpoint showing specs without drivers (#15587)
     add 77800f9  chore: results of npm audit fix on superset-websocket (#15591)
     add e539d08  fix: DBC UI tooltip aligment (#15595)
     add ad85e7b  added isEditMode (#15594)
     add 4685d86  fix: Revert "chore: Bump @svgr/webpack to 5.5.0" (#15589)
     add 4ab565c  refactor: icon to icons for sliceheader component (#15567)
     add 026eefd  Revert "Open in _self (#14778)" (#15588)
     add 2be52c0  refactor: icon to icons for controls (#15568)
     add 1d572ca  fix(dashboard-list): change name of dashboard is not reflected instantly (#15186)
     add 7e9674a  refactor(annotation): improve annotation modal (#15359)
     add 367d47b  chore: bumping superset-ui 0.17.64 (#15615)
     add 5714df1  build(deps): bump d3-scale from 2.1.2 to 4.0.0 in /superset-frontend

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (9393db1)
            \
             N -- N -- N   refs/heads/dependabot/npm_and_yarn/superset-frontend/d3-scale-4.0.0 (5714df1)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .github/ISSUE_TEMPLATE/sip.md                      |     4 +-
 .github/workflows/bashlib.sh                       |     2 +-
 .github/workflows/superset-e2e.yml                 |     2 +-
 .github/workflows/superset-python-presto-hive.yml  |     4 +-
 .github/workflows/superset-python-unittest.yml     |     6 +-
 CHANGELOG.md                                       |   505 +
 CONTRIBUTING.md                                    |    20 +-
 INSTALL.md                                         |     2 +-
 README.md                                          |     1 +
 RELEASING/README.md                                |     6 +-
 RELEASING/release-notes-1-2/README.md              |   122 +
 .../release-notes-1-2/media/dashboard_rbac.png     |   Bin 0 -> 554983 bytes
 .../release-notes-1-2/media/native_filters.png     |   Bin 0 -> 392227 bytes
 .../media/native_filters_temporal.png              |   Bin 0 -> 120672 bytes
 .../release-notes-1-2/media/pivot_table_v2.png     |   Bin 0 -> 590341 bytes
 RELEASING/release-notes-1-2/media/radar_chart.png  |   Bin 0 -> 222199 bytes
 .../media/time_series_multichart.png               |   Bin 0 -> 38078 bytes
 RESOURCES/FEATURE_FLAGS.md                         |     2 +-
 docker/docker-bootstrap.sh                         |     2 +-
 docs/installation.rst                              |     1 +
 docs/src/images/databases/netezza.png              |   Bin 0 -> 54596 bytes
 .../pages/docs/Connecting to Databases/dremio.mdx  |     2 +-
 .../pages/docs/Connecting to Databases/index.mdx   |     1 +
 .../pages/docs/Connecting to Databases/netezza.mdx |    18 +
 .../docs/Creating Charts and Dashboards/index.mdx  |    16 +
 docs/src/pages/docs/Miscellaneous/issue_codes.mdx  |    72 +
 docs/src/pages/docs/installation/configuring.mdx   |     1 +
 docs/src/resources/data.js                         |     5 +
 docs/static/images/tutorial_dashboard_access.png   |   Bin 0 -> 46743 bytes
 helm/superset/Chart.yaml                           |     4 +-
 helm/superset/templates/deployment-beat.yaml       |     6 +-
 helm/superset/templates/deployment-worker.yaml     |     9 +-
 helm/superset/templates/deployment.yaml            |     9 +-
 helm/superset/templates/ingress.yaml               |    12 +-
 helm/superset/templates/init-job.yaml              |     6 +-
 helm/superset/values.yaml                          |    26 +-
 requirements/base.txt                              |    64 +-
 requirements/development.txt                       |     4 +-
 requirements/integration.txt                       |     8 -
 requirements/testing.in                            |     1 +
 requirements/testing.txt                           |    17 +-
 scripts/python_tests.sh                            |     2 +-
 scripts/tests/run.sh                               |     2 +-
 setup.cfg                                          |     2 +-
 setup.py                                           |     9 +-
 .../integration/chart_list/card_view.test.ts       |    18 +-
 .../cypress/integration/chart_list/filter.test.ts  |     4 +-
 .../integration/chart_list/list_view.test.ts       |     8 +-
 .../cypress/integration/dashboard/controls.test.ts |     4 +-
 .../cypress/integration/dashboard/fav_star.test.js |    22 +-
 .../cypress/integration/dashboard/filter.test.ts   |     4 +-
 .../cypress/integration/dashboard/markdown.test.ts |     4 +-
 .../cypress/integration/dashboard/save.test.js     |     2 +-
 .../integration/dashboard_list/card_view.test.ts   |    18 +-
 .../integration/dashboard_list/filter.test.ts      |     4 +-
 .../integration/dashboard_list/list_view.test.ts   |     8 +-
 .../cypress/integration/database/modal.test.ts     |    91 +-
 .../images/icons/default_db_image.svg              |    21 +
 superset-frontend/images/netezza.png               |   Bin 0 -> 54596 bytes
 superset-frontend/jest.config.js                   |     2 +-
 superset-frontend/package-lock.json                |  1216 +-
 superset-frontend/package.json                     |    60 +-
 .../spec/fixtures/mockNativeFilters.ts             |     3 -
 .../dashboard/components/FiltersBadge_spec.tsx     |    99 +-
 .../components/gridComponents/Divider_spec.jsx     |     2 +-
 .../components/gridComponents/Tabs_spec.jsx        |    13 +-
 .../dashboard/fixtures/mockNativeFilters.ts        |     1 -
 .../dashboard/util/getDashboardUrl_spec.js         |    45 +-
 .../src/SqlLab/components/TableElement.tsx         |    42 +-
 .../src/SqlLab/reducers/getInitialState.js         |     4 +
 .../src/components/AnchorLink/index.jsx            |     8 +-
 .../src/components/ErrorMessage/types.ts           |     8 +
 .../src/components/FaveStar/FaveStar.test.tsx      |    16 +-
 .../src/components/FaveStar/index.tsx              |     4 +-
 .../components/FilterableTable/FilterableTable.tsx |     4 +-
 .../Form/LabeledErrorBoundInput.stories.tsx        |     4 +
 .../Form/LabeledErrorBoundInput.test.jsx           |    19 +-
 .../src/components/Form/LabeledErrorBoundInput.tsx |    39 +-
 superset-frontend/src/components/Icon/index.tsx    |     3 +
 .../src/components/IconButton/index.tsx            |    65 +-
 .../components/IconTooltip/IconTooltip.stories.tsx |     4 +-
 superset-frontend/src/components/Icons/index.tsx   |     2 +
 .../src/components/ImportModal/index.tsx           |     5 -
 .../src/components/IndeterminateCheckbox/index.tsx |    22 +-
 .../src/components/InfoTooltip/index.tsx           |     7 +-
 .../components/LastUpdated/LastUpdated.test.tsx    |     2 +-
 .../src/components/LastUpdated/index.tsx           |     8 +-
 .../src/components/ListView/ListView.tsx           |     8 +-
 .../src/components/ListViewCard/index.tsx          |     2 +-
 .../src/components/PopoverDropdown/index.tsx       |     7 +-
 .../src/components/PopoverSection/index.tsx        |    12 +-
 .../src/components/RefreshLabel/index.tsx          |     9 +-
 .../components/SearchInput/SearchInput.test.jsx    |    15 +-
 .../src/components/SearchInput/index.tsx           |    13 +-
 .../src/components/Select/Select.stories.tsx       |   314 +-
 superset-frontend/src/components/Select/Select.tsx |   383 +-
 superset-frontend/src/components/Tabs/Tabs.tsx     |     9 +-
 superset-frontend/src/constants.ts                 |     8 +
 .../src/dashboard/actions/dashboardState.js        |     5 +
 superset-frontend/src/dashboard/actions/hydrate.js |     4 +-
 .../DashboardBuilder/DashboardBuilder.tsx          |    14 +-
 .../DashboardBuilder/DashboardContainer.tsx        |    33 +-
 .../dashboard/components/DashboardBuilder/state.ts |     7 +-
 .../dashboard/components/DashboardBuilder/utils.ts |     3 +-
 .../dashboard/components/DeleteComponentButton.jsx |     6 +-
 .../components/FiltersBadge/DetailsPanel/index.tsx |     6 +-
 .../FiltersBadge/FilterIndicator/index.tsx         |    26 +-
 .../dashboard/components/FiltersBadge/Styles.tsx   |    12 +-
 .../dashboard/components/FiltersBadge/index.tsx    |   163 +-
 .../dashboard/components/FiltersBadge/selectors.ts |    66 +-
 .../Header/HeaderActionsDropdown/index.jsx         |    36 +-
 .../src/dashboard/components/Header/index.jsx      |     5 +-
 .../src/dashboard/components/IconButton.jsx        |    63 -
 .../buttons.less => components/IconButton.tsx}     |    52 +-
 .../dashboard/components/PropertiesModal/index.jsx |     1 -
 .../components/SliceHeader/SliceHeader.test.tsx    |     2 +-
 .../src/dashboard/components/SliceHeader/index.tsx |    23 +-
 .../components/SliceHeaderControls/index.tsx       |    10 +-
 .../components/gridComponents/ChartHolder.jsx      |    58 +-
 .../components/gridComponents/ChartHolder.test.tsx |    14 +-
 .../dashboard/components/gridComponents/Column.jsx |    30 +-
 .../components/gridComponents/Markdown.jsx         |     1 +
 .../dashboard/components/gridComponents/Row.jsx    |    26 +-
 .../dashboard/components/gridComponents/Tabs.jsx   |    17 +-
 .../components/gridComponents/Tabs.test.tsx        |     2 +-
 .../dashboard/components/gridComponents/index.js   |     4 +-
 .../CascadeFilters/CascadeFilterControl/index.tsx  |    54 +-
 .../CascadeFilters/CascadePopover/index.tsx        |    50 +-
 .../nativeFilters/FilterBar/FilterBar.test.tsx     |    25 +-
 .../FilterBar/FilterControls/FilterControl.tsx     |    56 +-
 .../FilterBar/FilterControls/FilterValue.tsx       |    37 +-
 .../nativeFilters/FilterBar/Header/Header.test.tsx |     1 -
 .../nativeFilters/FilterBar/Header/index.tsx       |    20 +-
 .../components/nativeFilters/FilterBar/index.tsx   |    43 +-
 .../components/nativeFilters/FilterBar/state.ts    |    16 +-
 .../FiltersConfigModal/FilterTabs.tsx              |    11 +-
 .../FiltersConfigForm/ColumnSelect.tsx             |    57 +-
 .../FiltersConfigForm/FiltersConfigForm.tsx        |   146 +-
 .../FiltersConfigForm/getControlItemsMap.test.tsx  |     7 +-
 .../FiltersConfigForm/getControlItemsMap.tsx       |    92 +-
 .../FiltersConfigModal/FiltersConfigForm/state.ts  |     3 +-
 .../FiltersConfigModal/FiltersConfigForm/utils.ts  |    29 +
 .../FiltersConfigModal/FiltersConfigModal.test.tsx |     6 -
 .../nativeFilters/FiltersConfigModal/types.ts      |     1 -
 .../nativeFilters/FiltersConfigModal/utils.ts      |    14 -
 .../dashboard/components/nativeFilters/state.ts    |    11 +
 .../dashboard/components/nativeFilters/types.ts    |     1 -
 .../dashboard/containers/DashboardComponent.jsx    |    36 +-
 .../src/dashboard/containers/DashboardHeader.jsx   |     4 +
 .../src/dashboard/containers/FiltersBadge.tsx      |   115 -
 .../src/dashboard/reducers/dashboardState.js       |     7 +
 .../src/dashboard/stylesheets/index.less           |     1 -
 superset-frontend/src/dashboard/types.ts           |     7 +-
 .../src/dashboard/util/activeDashboardFilters.js   |     4 +-
 .../src/dashboard/util/getDashboardUrl.ts          |    36 +-
 superset-frontend/src/dataMask/actions.ts          |    16 +-
 superset-frontend/src/dataMask/reducer.ts          |     7 +-
 .../src/explore/components/ControlHeader.jsx       |    25 +-
 .../explore/components/DatasourcePanel/index.tsx   |    43 +-
 .../controls/CollectionControl/index.jsx           |    10 +-
 .../controls/DatasourceControl/index.jsx           |    12 +-
 .../controls/DateFilterControl/DateFilterLabel.tsx |    15 +-
 .../components/GroupBy/GroupByFilterPlugin.tsx     |    21 +-
 .../src/filters/components/GroupBy/controlPanel.ts |    18 +
 .../filters/components/Range/RangeFilterPlugin.tsx |     7 +-
 .../src/filters/components/Range/controlPanel.ts   |     3 +-
 .../components/Select/SelectFilterPlugin.tsx       |    15 +-
 .../filters/components/Select/buildQuery.test.ts   |     2 +-
 .../src/filters/components/Select/buildQuery.ts    |    47 +-
 .../src/filters/components/Select/controlPanel.ts  |    14 +-
 .../src/filters/components/Time/controlPanel.ts    |    17 +
 .../TimeColumn/TimeColumnFilterPlugin.tsx          |     7 +-
 .../components/TimeGrain/TimeGrainFilterPlugin.tsx |    22 +-
 superset-frontend/src/filters/components/common.ts |     9 +-
 superset-frontend/src/setup/setupColors.ts         |     5 +-
 superset-frontend/src/setup/setupErrorMessages.ts  |    28 +
 .../src/types/react-lines-ellipsis.d.ts            |    47 +
 superset-frontend/src/utils/urlUtils.ts            |    13 +-
 .../src/views/CRUD/annotation/AnnotationList.tsx   |     1 +
 .../views/CRUD/annotation/AnnotationModal.test.jsx |     1 +
 .../src/views/CRUD/annotation/AnnotationModal.tsx  |    27 +-
 .../src/views/CRUD/chart/ChartCard.tsx             |     2 +-
 .../src/views/CRUD/chart/ChartList.test.jsx        |     2 +-
 .../views/CRUD/dashboard/DashboardList.test.jsx    |     2 +-
 .../src/views/CRUD/dashboard/DashboardList.tsx     |    22 +-
 .../DatabaseModal/DatabaseConnectionForm.tsx       |   288 +-
 .../data/database/DatabaseModal/ExtraOptions.tsx   |   260 +-
 .../data/database/DatabaseModal/ModalHeader.tsx    |   159 +
 .../data/database/DatabaseModal/SqlAlchemyForm.tsx |     2 +
 .../data/database/DatabaseModal/index.test.jsx     |  1137 +-
 .../CRUD/data/database/DatabaseModal/index.tsx     |   908 +-
 .../CRUD/data/database/DatabaseModal/styles.ts     |   233 +-
 .../src/views/CRUD/data/database/types.ts          |    35 +-
 superset-frontend/src/views/CRUD/hooks.ts          |    83 +-
 .../src/views/CRUD/welcome/EmptyState.tsx          |     2 +-
 .../src/views/CRUD/welcome/SavedQueries.tsx        |     2 +-
 .../FilterBox/FilterBoxChartPlugin.js              |     6 +-
 superset-websocket/package-lock.json               |    99 +-
 superset/charts/schemas.py                         |    14 +-
 superset/common/query_context.py                   |     8 +-
 superset/config.py                                 |    10 +-
 superset/connectors/connector_registry.py          |    36 -
 superset/connectors/sqla/models.py                 |    21 +-
 superset/dashboards/schemas.py                     |     1 +
 superset/databases/api.py                          |     8 +
 superset/databases/commands/exceptions.py          |     2 +-
 superset/databases/commands/validate.py            |    11 +-
 superset/databases/schemas.py                      |    25 +-
 superset/datasets/api.py                           |    18 +-
 superset/db_engine_specs/__init__.py               |    29 +-
 superset/db_engine_specs/athena.py                 |    21 +-
 superset/db_engine_specs/base.py                   |    35 +-
 superset/db_engine_specs/bigquery.py               |    88 +-
 superset/db_engine_specs/drill.py                  |     1 +
 superset/db_engine_specs/druid.py                  |     9 +
 superset/db_engine_specs/elasticsearch.py          |     4 +-
 superset/db_engine_specs/gsheets.py                |    92 +-
 superset/db_engine_specs/hive.py                   |     5 +
 superset/db_engine_specs/mssql.py                  |     8 +-
 superset/db_engine_specs/mysql.py                  |    13 +
 .../db_engine_specs/{gsheets.py => netezza.py}     |    36 +-
 superset/db_engine_specs/postgres.py               |    10 +
 superset/db_engine_specs/snowflake.py              |    31 +-
 superset/db_engine_specs/trino.py                  |    83 +-
 superset/errors.py                                 |   332 +-
 superset/examples/bart_lines.py                    |     7 +-
 superset/examples/birth_names.py                   |    33 +-
 superset/examples/country_map.py                   |     7 +-
 superset/examples/deck.py                          |    23 +-
 superset/examples/energy.py                        |    12 +-
 superset/examples/flights.py                       |     7 +-
 superset/examples/helpers.py                       |    12 +-
 superset/examples/long_lat.py                      |     7 +-
 superset/examples/multiformat_time_series.py       |    12 +-
 superset/examples/paris.py                         |     7 +-
 superset/examples/random_time_series.py            |    16 +-
 superset/examples/sf_population_polygons.py        |     7 +-
 superset/examples/world_bank.py                    |    18 +-
 superset/exceptions.py                             |    28 +-
 superset/initialization/__init__.py                |     6 +
 superset/security/manager.py                       |    51 +-
 superset/tasks/async_queries.py                    |   149 +-
 superset/tasks/thumbnails.py                       |    60 +-
 superset/translations/sl/LC_MESSAGES/messages.json |  4501 ++++++
 superset/translations/sl/LC_MESSAGES/messages.po   | 13575 +++++++++++++++++++
 superset/utils/cache.py                            |    12 +-
 superset/utils/decorators.py                       |     8 +-
 superset/utils/log.py                              |    17 +-
 superset/utils/webdriver.py                        |     4 +-
 superset/views/chart/views.py                      |     5 +-
 superset/views/core.py                             |   163 +-
 superset/viz.py                                    |     8 +-
 tests/db_engine_specs/snowflake_tests.py           |    45 -
 tests/{tasks => integration_tests}/__init__.py     |     0
 tests/{ => integration_tests}/access_tests.py      |    93 +-
 tests/{ => integration_tests}/alerts_tests.py      |     6 +-
 .../annotation_layers}/__init__.py                 |     0
 .../annotation_layers/api_tests.py                 |     6 +-
 .../annotation_layers/fixtures.py                  |     2 +-
 .../async_events}/__init__.py                      |     0
 .../async_events/api_tests.py                      |     4 +-
 tests/{ => integration_tests}/base_api_tests.py    |     6 +-
 tests/{ => integration_tests}/base_tests.py        |     2 +-
 tests/{ => integration_tests}/cache_tests.py       |     4 +-
 .../cachekeys}/__init__.py                         |     0
 .../{ => integration_tests}/cachekeys/api_tests.py |     4 +-
 tests/{ => integration_tests}/celery_tests.py      |    10 +-
 .../charts}/__init__.py                            |     0
 tests/{ => integration_tests}/charts/api_tests.py  |    41 +-
 .../charts/commands_tests.py                       |     8 +-
 .../{ => integration_tests}/charts/schema_tests.py |     6 +-
 tests/{ => integration_tests}/cli_tests.py         |     4 +-
 tests/{ => integration_tests}/commands_test.py     |     2 +-
 tests/{ => integration_tests}/config_tests.py      |     4 +-
 tests/{ => integration_tests}/conftest.py          |     6 +-
 tests/{ => integration_tests}/core_tests.py        |    83 +-
 .../css_templates}/__init__.py                     |     0
 .../css_templates/api_tests.py                     |     4 +-
 tests/{ => integration_tests}/csv_upload_tests.py  |     8 +-
 tests/{ => integration_tests}/dashboard_tests.py   |    20 +-
 tests/{ => integration_tests}/dashboard_utils.py   |     0
 .../dashboards}/__init__.py                        |     0
 .../dashboards/api_tests.py                        |    21 +-
 .../dashboards/base_case.py                        |    12 +-
 .../dashboards/commands_tests.py                   |     8 +-
 tests/{ => integration_tests}/dashboards/consts.py |     0
 .../dashboards/dao_tests.py                        |     8 +-
 .../dashboards/dashboard_test_utils.py             |     2 +-
 .../dashboards/security}/__init__.py               |     0
 .../dashboards/security/base_case.py               |     2 +-
 .../dashboards/security/security_dataset_tests.py  |    12 +-
 .../dashboards/security/security_rbac_tests.py     |    16 +-
 .../dashboards/superset_factory_util.py            |     6 +-
 .../databases}/__init__.py                         |     0
 .../{ => integration_tests}/databases/api_tests.py |   195 +-
 .../databases/commands_tests.py                    |    12 +-
 .../databases/schema_tests.py                      |     0
 tests/{ => integration_tests}/dataframe_test.py    |     2 +-
 .../datasets}/__init__.py                          |     0
 .../{ => integration_tests}/datasets/api_tests.py  |    17 +-
 .../datasets/commands_tests.py                     |    12 +-
 tests/{ => integration_tests}/datasource_tests.py  |     4 +-
 .../db_engine_specs}/__init__.py                   |     0
 .../db_engine_specs/ascend_tests.py                |     2 +-
 .../db_engine_specs/athena_tests.py                |    26 +-
 .../db_engine_specs/base_engine_spec_tests.py      |     4 +-
 .../db_engine_specs/base_tests.py                  |     4 +-
 .../db_engine_specs/bigquery_tests.py              |    90 +-
 .../db_engine_specs/clickhouse_tests.py            |     2 +-
 .../db_engine_specs/crate_tests.py                 |     2 +-
 .../db_engine_specs/dremio_tests.py                |     2 +-
 .../db_engine_specs/drill_tests.py                 |     2 +-
 .../db_engine_specs/druid_tests.py                 |     6 +-
 .../db_engine_specs/elasticsearch_tests.py         |     2 +-
 .../db_engine_specs/firebird_tests.py              |     0
 .../db_engine_specs/gsheets_tests.py               |    44 +
 .../db_engine_specs/hana_tests.py                  |     2 +-
 .../db_engine_specs/hive_tests.py                  |     2 +-
 .../db_engine_specs/impala_tests.py                |     2 +-
 .../db_engine_specs/kylin_tests.py                 |     2 +-
 .../db_engine_specs/mssql_tests.py                 |    12 +-
 .../db_engine_specs/mysql_tests.py                 |    25 +-
 .../db_engine_specs/oracle_tests.py                |     2 +-
 .../db_engine_specs/pinot_tests.py                 |     2 +-
 .../db_engine_specs/postgres_tests.py              |    42 +-
 .../db_engine_specs/presto_tests.py                |     2 +-
 .../db_engine_specs/redshift_tests.py              |     2 +-
 .../db_engine_specs/snowflake_tests.py             |   101 +
 .../db_engine_specs/sqlite_tests.py                |     2 +-
 .../db_engine_specs/trino_tests.py                 |     2 +-
 .../dict_import_export_tests.py                    |     2 +-
 tests/{ => integration_tests}/druid_func_tests.py  |     2 +-
 .../druid_func_tests_sip38.py                      |     2 +-
 tests/{ => integration_tests}/druid_tests.py       |     2 +-
 .../dynamic_plugins_tests.py                       |     0
 tests/{ => integration_tests}/email_tests.py       |     2 +-
 .../{ => integration_tests}/event_logger_tests.py  |     2 +-
 .../{ => integration_tests}/feature_flag_tests.py  |     2 +-
 .../fixtures}/__init__.py                          |    26 +-
 .../fixtures/birth_names_dashboard.py              |     4 +-
 .../fixtures/certificates.py                       |     0
 tests/{ => integration_tests}/fixtures/database.py |     0
 .../{ => integration_tests}/fixtures/dataframes.py |     0
 .../{ => integration_tests}/fixtures/datasource.py |     0
 .../fixtures/deck_geojson_form_data.json           |     0
 .../fixtures/deck_path_form_data.json              |     0
 .../fixtures/energy_dashboard.py                   |     7 +-
 .../fixtures/importexport.py                       |     0
 .../fixtures/public_role.py                        |     2 +-
 .../{ => integration_tests}/fixtures/pyodbcRow.py  |     0
 .../fixtures/query_context.py                      |     4 +-
 tests/{ => integration_tests}/fixtures/sample.png  |   Bin
 tests/{ => integration_tests}/fixtures/trends.csv  |     0
 .../fixtures/unicode_dashboard.py                  |     4 +-
 .../fixtures/world_bank_dashboard.py               |     7 +-
 tests/{ => integration_tests}/form_tests.py        |     2 +-
 .../{ => integration_tests}/import_export_tests.py |    14 +-
 .../importexport/commands_tests.py                 |     2 +-
 .../{ => integration_tests}/insert_chart_mixin.py  |     0
 .../{ => integration_tests}/jinja_context_tests.py |     8 +-
 tests/{ => integration_tests}/log_api_tests.py     |     0
 .../log_model_view_tests.py                        |     0
 .../logging_configurator_tests.py                  |     0
 tests/{ => integration_tests}/migration_tests.py   |     0
 .../migrations}/__init__.py                        |     0
 .../migrations/f1410ed7ec95_tests.py               |     0
 .../migrations/fc3a3a8ff221_tests.py               |     0
 tests/{ => integration_tests}/model_tests.py       |     6 +-
 .../pandas_postprocessing_tests.py                 |     0
 .../queries}/__init__.py                           |     0
 tests/{ => integration_tests}/queries/api_tests.py |     4 +-
 .../queries/saved_queries}/__init__.py             |     0
 .../queries/saved_queries/api_tests.py             |     6 +-
 .../queries/saved_queries/commands_tests.py        |     4 +-
 .../{ => integration_tests}/query_context_tests.py |     8 +-
 .../reports}/__init__.py                           |     0
 tests/{ => integration_tests}/reports/api_tests.py |    10 +-
 .../reports/commands_tests.py                      |    12 +-
 .../reports/scheduler_tests.py                     |     4 +-
 tests/{ => integration_tests}/reports/utils.py     |     0
 tests/{ => integration_tests}/result_set_tests.py  |     2 +-
 tests/{ => integration_tests}/schedules_test.py    |    10 +-
 .../security}/__init__.py                          |     0
 .../security/analytics_db_safety_tests.py          |     2 +-
 .../{ => integration_tests}/security/api_tests.py  |     2 +-
 .../security/migrate_roles_tests.py                |     2 +-
 tests/{ => integration_tests}/security_tests.py    |   106 +-
 tests/{ => integration_tests}/sql_parse_tests.py   |     0
 .../{ => integration_tests}/sql_validator_tests.py |     0
 tests/{ => integration_tests}/sqla_models_tests.py |     4 +-
 tests/{ => integration_tests}/sqla_views_tests.py  |     4 +-
 tests/{ => integration_tests}/sqllab_tests.py      |     4 +-
 .../{ => integration_tests}/stats_logger_tests.py  |     0
 tests/{ => integration_tests}/strategy_tests.py    |     4 +-
 .../superset_test_config.py                        |    10 +-
 .../superset_test_config_sqllab_backend_persist.py |     0
 .../superset_test_config_thumbnails.py             |     4 +-
 .../superset_test_custom_template_processors.py    |     0
 tests/{ => integration_tests}/tagging_tests.py     |     4 +-
 .../tasks}/__init__.py                             |     0
 .../tasks/async_queries_tests.py                   |    10 +-
 tests/{ => integration_tests}/test_app.py          |     2 +-
 tests/{ => integration_tests}/thumbnails_tests.py  |     4 +-
 tests/{ => integration_tests}/utils/__init__.py    |     2 +-
 tests/{ => integration_tests}/utils/core_tests.py  |     0
 tests/{ => integration_tests}/utils/csv_tests.py   |     0
 .../utils/date_parser_tests.py                     |     2 +-
 .../utils/decorators_tests.py                      |     2 +-
 .../{ => integration_tests}/utils/encrypt_tests.py |     2 +-
 .../utils/get_dashboards.py                        |     0
 .../{ => integration_tests}/utils/hashing_tests.py |     0
 .../utils/machine_auth_tests.py                    |     2 +-
 .../utils/public_interfaces_test.py                |     2 +-
 tests/{ => integration_tests}/utils_tests.py       |    12 +-
 tests/{ => integration_tests}/viz_tests.py         |     7 +-
 tests/{tasks => unit_tests}/__init__.py            |     0
 .../conftest.py}                                   |    18 +-
 tests/unit_tests/db_engine_specs/test_gsheets.py   |   177 +
 tox.ini                                            |    14 +-
 419 files changed, 26549 insertions(+), 3725 deletions(-)
 create mode 100644 RELEASING/release-notes-1-2/README.md
 create mode 100644 RELEASING/release-notes-1-2/media/dashboard_rbac.png
 create mode 100644 RELEASING/release-notes-1-2/media/native_filters.png
 create mode 100644 RELEASING/release-notes-1-2/media/native_filters_temporal.png
 create mode 100644 RELEASING/release-notes-1-2/media/pivot_table_v2.png
 create mode 100644 RELEASING/release-notes-1-2/media/radar_chart.png
 create mode 100644 RELEASING/release-notes-1-2/media/time_series_multichart.png
 create mode 100644 docs/src/images/databases/netezza.png
 create mode 100644 docs/src/pages/docs/Connecting to Databases/netezza.mdx
 create mode 100644 docs/static/images/tutorial_dashboard_access.png
 create mode 100644 superset-frontend/images/icons/default_db_image.svg
 create mode 100644 superset-frontend/images/netezza.png
 delete mode 100644 superset-frontend/src/dashboard/components/IconButton.jsx
 rename superset-frontend/src/dashboard/{stylesheets/buttons.less => components/IconButton.tsx} (53%)
 delete mode 100644 superset-frontend/src/dashboard/containers/FiltersBadge.tsx
 create mode 100644 superset-frontend/src/types/react-lines-ellipsis.d.ts
 create mode 100644 superset-frontend/src/views/CRUD/data/database/DatabaseModal/ModalHeader.tsx
 copy superset/db_engine_specs/{gsheets.py => netezza.py} (51%)
 create mode 100644 superset/translations/sl/LC_MESSAGES/messages.json
 create mode 100644 superset/translations/sl/LC_MESSAGES/messages.po
 delete mode 100644 tests/db_engine_specs/snowflake_tests.py
 copy tests/{tasks => integration_tests}/__init__.py (100%)
 rename tests/{ => integration_tests}/access_tests.py (87%)
 rename tests/{ => integration_tests}/alerts_tests.py (98%)
 rename tests/{security => integration_tests/annotation_layers}/__init__.py (100%)
 rename tests/{ => integration_tests}/annotation_layers/api_tests.py (99%)
 rename tests/{ => integration_tests}/annotation_layers/fixtures.py (98%)
 rename tests/{reports => integration_tests/async_events}/__init__.py (100%)
 rename tests/{ => integration_tests}/async_events/api_tests.py (97%)
 rename tests/{ => integration_tests}/base_api_tests.py (98%)
 rename tests/{ => integration_tests}/base_tests.py (99%)
 rename tests/{ => integration_tests}/cache_tests.py (97%)
 rename tests/{queries/saved_queries => integration_tests/cachekeys}/__init__.py (100%)
 rename tests/{ => integration_tests}/cachekeys/api_tests.py (98%)
 rename tests/{ => integration_tests}/celery_tests.py (98%)
 rename tests/{queries => integration_tests/charts}/__init__.py (100%)
 rename tests/{ => integration_tests}/charts/api_tests.py (98%)
 rename tests/{ => integration_tests}/charts/commands_tests.py (97%)
 rename tests/{ => integration_tests}/charts/schema_tests.py (95%)
 rename tests/{ => integration_tests}/cli_tests.py (98%)
 rename tests/{ => integration_tests}/commands_test.py (95%)
 rename tests/{ => integration_tests}/config_tests.py (98%)
 rename tests/{ => integration_tests}/conftest.py (95%)
 rename tests/{ => integration_tests}/core_tests.py (95%)
 rename tests/{migrations => integration_tests/css_templates}/__init__.py (100%)
 rename tests/{ => integration_tests}/css_templates/api_tests.py (99%)
 rename tests/{ => integration_tests}/csv_upload_tests.py (97%)
 rename tests/{ => integration_tests}/dashboard_tests.py (97%)
 rename tests/{ => integration_tests}/dashboard_utils.py (100%)
 rename tests/{fixtures => integration_tests/dashboards}/__init__.py (100%)
 rename tests/{ => integration_tests}/dashboards/api_tests.py (98%)
 rename tests/{ => integration_tests}/dashboards/base_case.py (93%)
 rename tests/{ => integration_tests}/dashboards/commands_tests.py (99%)
 rename tests/{ => integration_tests}/dashboards/consts.py (100%)
 rename tests/{ => integration_tests}/dashboards/dao_tests.py (94%)
 rename tests/{ => integration_tests}/dashboards/dashboard_test_utils.py (97%)
 rename tests/{db_engine_specs => integration_tests/dashboards/security}/__init__.py (100%)
 rename tests/{ => integration_tests}/dashboards/security/base_case.py (97%)
 rename tests/{ => integration_tests}/dashboards/security/security_dataset_tests.py (95%)
 rename tests/{ => integration_tests}/dashboards/security/security_rbac_tests.py (96%)
 rename tests/{ => integration_tests}/dashboards/superset_factory_util.py (98%)
 rename tests/{datasets => integration_tests/databases}/__init__.py (100%)
 rename tests/{ => integration_tests}/databases/api_tests.py (92%)
 rename tests/{ => integration_tests}/databases/commands_tests.py (98%)
 rename tests/{ => integration_tests}/databases/schema_tests.py (100%)
 rename tests/{ => integration_tests}/dataframe_test.py (98%)
 rename tests/{databases => integration_tests/datasets}/__init__.py (100%)
 rename tests/{ => integration_tests}/datasets/api_tests.py (99%)
 rename tests/{ => integration_tests}/datasets/commands_tests.py (98%)
 rename tests/{ => integration_tests}/datasource_tests.py (98%)
 rename tests/{dashboards/security => integration_tests/db_engine_specs}/__init__.py (100%)
 rename tests/{ => integration_tests}/db_engine_specs/ascend_tests.py (93%)
 rename tests/{ => integration_tests}/db_engine_specs/athena_tests.py (55%)
 rename tests/{ => integration_tests}/db_engine_specs/base_engine_spec_tests.py (99%)
 rename tests/{ => integration_tests}/db_engine_specs/base_tests.py (94%)
 rename tests/{ => integration_tests}/db_engine_specs/bigquery_tests.py (70%)
 rename tests/{ => integration_tests}/db_engine_specs/clickhouse_tests.py (95%)
 rename tests/{ => integration_tests}/db_engine_specs/crate_tests.py (96%)
 rename tests/{ => integration_tests}/db_engine_specs/dremio_tests.py (94%)
 rename tests/{ => integration_tests}/db_engine_specs/drill_tests.py (94%)
 rename tests/{ => integration_tests}/db_engine_specs/druid_tests.py (92%)
 rename tests/{ => integration_tests}/db_engine_specs/elasticsearch_tests.py (96%)
 rename tests/{ => integration_tests}/db_engine_specs/firebird_tests.py (100%)
 create mode 100644 tests/integration_tests/db_engine_specs/gsheets_tests.py
 rename tests/{ => integration_tests}/db_engine_specs/hana_tests.py (94%)
 rename tests/{ => integration_tests}/db_engine_specs/hive_tests.py (99%)
 rename tests/{ => integration_tests}/db_engine_specs/impala_tests.py (93%)
 rename tests/{ => integration_tests}/db_engine_specs/kylin_tests.py (93%)
 rename tests/{ => integration_tests}/db_engine_specs/mssql_tests.py (97%)
 rename tests/{ => integration_tests}/db_engine_specs/mysql_tests.py (90%)
 rename tests/{ => integration_tests}/db_engine_specs/oracle_tests.py (97%)
 rename tests/{ => integration_tests}/db_engine_specs/pinot_tests.py (97%)
 rename tests/{ => integration_tests}/db_engine_specs/postgres_tests.py (94%)
 rename tests/{ => integration_tests}/db_engine_specs/presto_tests.py (99%)
 rename tests/{ => integration_tests}/db_engine_specs/redshift_tests.py (98%)
 create mode 100644 tests/integration_tests/db_engine_specs/snowflake_tests.py
 rename tests/{ => integration_tests}/db_engine_specs/sqlite_tests.py (97%)
 rename tests/{ => integration_tests}/db_engine_specs/trino_tests.py (96%)
 rename tests/{ => integration_tests}/dict_import_export_tests.py (99%)
 rename tests/{ => integration_tests}/druid_func_tests.py (99%)
 rename tests/{ => integration_tests}/druid_func_tests_sip38.py (99%)
 rename tests/{ => integration_tests}/druid_tests.py (99%)
 rename tests/{ => integration_tests}/dynamic_plugins_tests.py (100%)
 rename tests/{ => integration_tests}/email_tests.py (99%)
 rename tests/{ => integration_tests}/event_logger_tests.py (99%)
 rename tests/{ => integration_tests}/feature_flag_tests.py (95%)
 copy tests/{utils => integration_tests/fixtures}/__init__.py (59%)
 rename tests/{ => integration_tests}/fixtures/birth_names_dashboard.py (97%)
 rename tests/{ => integration_tests}/fixtures/certificates.py (100%)
 rename tests/{ => integration_tests}/fixtures/database.py (100%)
 rename tests/{ => integration_tests}/fixtures/dataframes.py (100%)
 rename tests/{ => integration_tests}/fixtures/datasource.py (100%)
 rename tests/{ => integration_tests}/fixtures/deck_geojson_form_data.json (100%)
 rename tests/{ => integration_tests}/fixtures/deck_path_form_data.json (100%)
 rename tests/{ => integration_tests}/fixtures/energy_dashboard.py (97%)
 rename tests/{ => integration_tests}/fixtures/importexport.py (100%)
 rename tests/{ => integration_tests}/fixtures/public_role.py (96%)
 rename tests/{ => integration_tests}/fixtures/pyodbcRow.py (100%)
 rename tests/{ => integration_tests}/fixtures/query_context.py (98%)
 rename tests/{ => integration_tests}/fixtures/sample.png (100%)
 rename tests/{ => integration_tests}/fixtures/trends.csv (100%)
 rename tests/{ => integration_tests}/fixtures/unicode_dashboard.py (97%)
 rename tests/{ => integration_tests}/fixtures/world_bank_dashboard.py (99%)
 rename tests/{ => integration_tests}/form_tests.py (96%)
 rename tests/{ => integration_tests}/import_export_tests.py (98%)
 rename tests/{ => integration_tests}/importexport/commands_tests.py (96%)
 rename tests/{ => integration_tests}/insert_chart_mixin.py (100%)
 rename tests/{ => integration_tests}/jinja_context_tests.py (98%)
 rename tests/{ => integration_tests}/log_api_tests.py (100%)
 rename tests/{ => integration_tests}/log_model_view_tests.py (100%)
 rename tests/{ => integration_tests}/logging_configurator_tests.py (100%)
 rename tests/{ => integration_tests}/migration_tests.py (100%)
 rename tests/{dashboards => integration_tests/migrations}/__init__.py (100%)
 rename tests/{ => integration_tests}/migrations/f1410ed7ec95_tests.py (100%)
 rename tests/{ => integration_tests}/migrations/fc3a3a8ff221_tests.py (100%)
 rename tests/{ => integration_tests}/model_tests.py (99%)
 rename tests/{ => integration_tests}/pandas_postprocessing_tests.py (100%)
 rename tests/{css_templates => integration_tests/queries}/__init__.py (100%)
 rename tests/{ => integration_tests}/queries/api_tests.py (99%)
 rename tests/{charts => integration_tests/queries/saved_queries}/__init__.py (100%)
 rename tests/{ => integration_tests}/queries/saved_queries/api_tests.py (99%)
 rename tests/{ => integration_tests}/queries/saved_queries/commands_tests.py (98%)
 rename tests/{ => integration_tests}/query_context_tests.py (98%)
 rename tests/{cachekeys => integration_tests/reports}/__init__.py (100%)
 rename tests/{ => integration_tests}/reports/api_tests.py (99%)
 rename tests/{ => integration_tests}/reports/commands_tests.py (99%)
 rename tests/{ => integration_tests}/reports/scheduler_tests.py (96%)
 rename tests/{ => integration_tests}/reports/utils.py (100%)
 rename tests/{ => integration_tests}/result_set_tests.py (99%)
 rename tests/{ => integration_tests}/schedules_test.py (98%)
 rename tests/{async_events => integration_tests/security}/__init__.py (100%)
 rename tests/{ => integration_tests}/security/analytics_db_safety_tests.py (96%)
 rename tests/{ => integration_tests}/security/api_tests.py (96%)
 rename tests/{ => integration_tests}/security/migrate_roles_tests.py (99%)
 rename tests/{ => integration_tests}/security_tests.py (91%)
 rename tests/{ => integration_tests}/sql_parse_tests.py (100%)
 rename tests/{ => integration_tests}/sql_validator_tests.py (100%)
 rename tests/{ => integration_tests}/sqla_models_tests.py (99%)
 rename tests/{ => integration_tests}/sqla_views_tests.py (92%)
 rename tests/{ => integration_tests}/sqllab_tests.py (99%)
 rename tests/{ => integration_tests}/stats_logger_tests.py (100%)
 rename tests/{ => integration_tests}/strategy_tests.py (98%)
 rename tests/{ => integration_tests}/superset_test_config.py (93%)
 copy tests/{ => integration_tests}/superset_test_config_sqllab_backend_persist.py (100%)
 rename tests/{ => integration_tests}/superset_test_config_thumbnails.py (96%)
 rename tests/{ => integration_tests}/superset_test_custom_template_processors.py (100%)
 rename tests/{ => integration_tests}/tagging_tests.py (90%)
 rename tests/{annotation_layers => integration_tests/tasks}/__init__.py (100%)
 rename tests/{ => integration_tests}/tasks/async_queries_tests.py (96%)
 rename tests/{ => integration_tests}/test_app.py (96%)
 rename tests/{ => integration_tests}/thumbnails_tests.py (98%)
 rename tests/{ => integration_tests}/utils/__init__.py (95%)
 rename tests/{ => integration_tests}/utils/core_tests.py (100%)
 rename tests/{ => integration_tests}/utils/csv_tests.py (100%)
 rename tests/{ => integration_tests}/utils/date_parser_tests.py (99%)
 rename tests/{ => integration_tests}/utils/decorators_tests.py (96%)
 rename tests/{ => integration_tests}/utils/encrypt_tests.py (97%)
 rename tests/{ => integration_tests}/utils/get_dashboards.py (100%)
 rename tests/{ => integration_tests}/utils/hashing_tests.py (100%)
 rename tests/{ => integration_tests}/utils/machine_auth_tests.py (97%)
 rename tests/{ => integration_tests}/utils/public_interfaces_test.py (98%)
 rename tests/{ => integration_tests}/utils_tests.py (99%)
 rename tests/{ => integration_tests}/viz_tests.py (99%)
 rename tests/{tasks => unit_tests}/__init__.py (100%)
 rename tests/{superset_test_config_sqllab_backend_persist.py => unit_tests/conftest.py} (77%)
 create mode 100644 tests/unit_tests/db_engine_specs/test_gsheets.py