* fix(query): properly select adhoc metrics in orderby
* Throw error when sql is empty
* Allow `metrics` to be None
* Always use alias in orderby for metrics
* Bump table chart version and migrate histogram to typescript
* Fix Histogram without groupby
* Fix Presto birth names test
* Raw records mode should not aggregate
* changes to support presto impersionation with ldap
* renamed method to match 30 char limit
* import spell check
* added presto impersonation test
* refactored impersionation code to generalize for extension
* moving config_args mutation to the update_connect_args_for_impersonation
* moving config_args mutation to the update_connect_args_for_impersonation
* nits
* refactored update_impersonation_config method name to match lint rule
* reduced comment line length
* black reformats
Co-authored-by: rijojoseph01 <rijo.joseph@myntra.com>
* Added energy usage fixture. Updated dashboard utils and unicode fixture with new method parameters.
* Add energy fixture to tests/access_tests.py
* Add energy fixture to tests/core_tests.py
* Add energy fixture to tests/dashboard_tests.py
* Add energy fixture to tests/datasets/api_tests.py
* Add energy fixture to tests/db_engine_specs/base_engine_spec_tests.py
* Add energy fixture to tests/import_export_tests.py
* Add energy fixture to tests/model_tests.py
* Add energy fixture to tests/query_context_tests.py
* Add energy fixture to tests/security_tests.py
* Add energy fixture to tests/charts/api_tests.py
* Changed formatting of slices' parameters in energy usage fixture
* Removed loading energy udage data from test conf file
* Add energy fixture to tests/databases/api_tests.py
* Fixes after review: removed isort:skip, load_charts->load_energy_charts, removed unused import.
* Added energy fixture to tests/charts/commands_tests.py and retrieving proper Slice by name
* Fixed charts/api_tests.py to use energy_usage from fixtures
* Fixed datasets/commands_tests.py to retrieve dataset by name and use energy_usage fixture
* Changed energy usage data to generated data and fixed chart tests which was checking energy usage data
* Add presto to the CI
Sample test data
Datetime conversion
Sample test data
Fix tests
* TODO to switch to timestamps
* Address feedback
* Update requirements
* Add TODOs
Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
* Switch from nosetest to pytest
Fix schedule tests
Collect pytest coverage
Move pytest config into pytest.ini
Move cov to the pytest.ini
* Append coverage for the 2nd run
* Add coverage to all commands
* Coverage only for tests
* Get coverage from 1 place
* Rename classes to be pytest compatible
* Test coverage for examples and tests
* Max diff to -1
* Explain how to run pytest for the whole project
* Do not append code coverage for the main run
* Do not run coverage on examples
Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
* 7620: Start removing dependencies on requests
* Patch urllib.request.urlopen instead of requests.get
* Try to fix flake8
* More work on flake8 import errors
* First attempt at using urllib with cookies
* Fix pylint/flake8
* Fix test_deliver_slice_csv_attachment
* Fix test_deliver_slice_csv_inline
* Import requests and pydruid conditionally, remove dependency on prison
* Fix flake errors
* Fix load_examples
* Please flake
* Skip tests depending on optional deps
* Try to please flake
* Address review comments
* Remove Druid-related UI
* Revert "Remove Druid-related UI"
This reverts commit d7e0f166cc3f3dd2496b4a666e177f0c191aeb0f.
* Skip a few tests more
* Put imports in right order
* Apply black patch
* Please flake
* Please black, silence flake
* Use flake8 silencing the right way
* Add deps for CI
* Create query_obj for every filter
* Deprecate is_prequery and prequeries from query_obj
* Fix tests
* Fix typos and remove redundant ; from sql
* Add typing to namedtuples and move all query str logic to one place
* Fix unit test
* [WiP] improve load_examples
related to #7472, longer term we will generate the examples by exporting
them into tarball as in #7472. In the meantime, we need this subset of
the features:
* allowing specifying an alternate database connection for examples
* allowing a --only-metadata flag to `load_examples` to load only
dashboard and chart definitions, no actual data is loaded
* Improve logging
* Rename data->examples
* Load only if not exist
* By default do not load, add a force flag
* fix build
* set published to true
* Force quotes on non-expression time grains on postgres
* Change to or semantics
* Return lower case column name as unmutated
* Add testcases for postgres time grains
* Make expression MixedCase
Summary: We want to allow grouping by on expressions, including the
ability to select expressions (without group-by). The UI ain't good yet
.. it is not at the feature parity of say adhoc filters/metrics that
come with a nice text-box to edit the SQL. But
this suffices for my usecase for now.
(The UI would have to be redone ... but that would require some refactoring
to merge the AdhocFilter/Metric/Popover stuff such that it can be used
for this use case too.)
Also fixed a bug in the SelectControl freeForm selection.
Allow selecting all columns easily: Added a new Select-All special item
that users can select to make all the options in the selectable show
up.
The ability to group by arbitrary expressions is useful because now two
users don't need to create custom computed-fields for this.
* Use py3's f-strings instead of s.format(**locals())
In light of the bug reported here
https://github.com/apache/incubator-superset/issues/6347, which seems
like an odd `.format()` issue in py3, I greped and replaced all
instances of `.format(**locals())` using py3's f-strings
* lint
* fix tests
* [utils] gathering/refactoring into a "utils/" folder
Moving current utils.py into utils/core.py and moving other *util*
modules under this new "utils/" as well.
Following steps include eroding at "utils/core.py" and breaking it down
into smaller modules.
* Improve tests
* Make loading examples in scope for tests
* Remove test class attrs examples_loaded and requires_examples
* [bugfix] temporal columns with expression fail
error msg: "local variable 'literal' referenced before assignment"
Error occurs [only] when using temporal column defined as a SQL
expression.
Also noticed that examples were using `granularity` instead of using
`granularity_sqla` as they should. Fixed that here.
* Add tests
* Add "Impersonate user" setting to Datasource
* Add tests
* Use g.user.username for all the sync cases
* use uri.username instead of uri.user
* Small refactoring