Waldemar Hummer
011ca74338
add caching for queries used in embeds
2016-06-03 09:14:59 +10:00
Arik Fraimovich
434615a1be
Merge remote-tracking branch 'origin/master' into flexible_notifications
2016-06-02 10:21:52 +03:00
Arik Fraimovich
857caab20e
Merge pull request #1085 from getredash/feature/pause-api
...
Feature: API to pause a data source
2016-05-31 09:08:03 +03:00
Arik Fraimovich
59f8af2c44
Switch to Redis for pause state storage
2016-05-30 22:44:09 +03:00
Arik Fraimovich
9538ee7c31
Feature: API to pause a data source
2016-05-30 18:30:05 +03:00
Arik Fraimovich
07d2b5ba42
Fix #1049 : duplicate alerts
2016-05-30 14:39:58 +03:00
Arik Fraimovich
214aa3b799
Merge pull request #1060 from thoughtworks/saml-authorization
...
Feature: support configuring user's groups with SAML
2016-05-26 23:07:30 +03:00
Kumar Vora
8900d02c95
fixing test
2016-05-20 14:35:49 -05:00
Kumar Vora
c1c2db4a73
use user.org instead of passing org as a separate argument
2016-05-20 14:28:08 -05:00
Arik Fraimovich
b2e2277d0b
Fix: old task trackers were not really removed
2016-05-19 09:58:30 +03:00
Ama Asare
ad85b9a62c
Ama/Kumar: Configure authorization for SAML
2016-05-17 14:01:18 -05:00
Arik Fraimovich
e069374232
Merge w/ latest master
2016-05-07 17:49:49 +03:00
Waldemar Hummer
e415189017
add test case for embeds with parameters; minor fix in embeds.py
2016-05-05 11:15:49 +10:00
Arik Fraimovich
d9cc063be2
Fix: make sure we return dashboards only for current org
2016-05-04 16:32:49 +03:00
Arik Fraimovich
0bb722df5d
Make sure data sources ordered by id
2016-05-04 12:03:47 +03:00
Arik Fraimovich
5bd133ca50
Add additional tests
2016-04-20 18:30:31 +03:00
Arik Fraimovich
3ce07782ad
Fix #986 : search might return duplicate queries
2016-04-20 17:54:20 +03:00
Arik Fraimovich
3c0fc3b134
Feature: running queries (tasks) monitor
...
- Refactored tasks module into a package.
- Add new admins screens (running queries & outdated queries).
2016-04-20 17:54:20 +03:00
Seva Gavrilov
c98cdef8f2
Fixed dashboard restrictions and added tests.
2016-03-29 13:27:35 -03:00
Alex DeBrie
1c04f3cc29
Fix broken tests
2016-03-24 13:55:46 +00:00
Alex DeBrie
a3c0917d85
Fix AlertSubscription unsubscribe permissions and broken tests
2016-03-23 20:49:20 +00:00
Alex DeBrie
a43761da39
Require destination_id in POSTs that create a subscription
2016-03-23 20:47:50 +00:00
Arik Fraimovich
7a943f62b3
Password reset & invite links functionality.
2016-03-14 18:33:17 +02:00
Arik Fraimovich
7da1c85315
Allow existing users sign in with Google Apps even if they are not in domain list.
2016-03-14 11:19:23 +02:00
Arik Fraimovich
1359d386c6
Change tag to be humanTime
2016-03-14 10:13:38 +02:00
Arik Fraimovich
1aab5b4963
Install Pymongo for tests (temporary solution)
2016-03-13 23:32:54 +02:00
Arik Fraimovich
18d7c33620
Feature: MongoDB - add support for $date and relative dates.
2016-03-13 23:25:24 +02:00
Arik Fraimovich
0e7098020c
Merge pull request #909 from getredash/fix908
...
Fix #908 : updating configuration without secrets was failing
2016-03-10 11:58:38 +02:00
Arik Fraimovich
33a5e06eb1
Fix #908 : updating configuration without secrets was failing
2016-03-10 11:56:49 +02:00
Arik Fraimovich
b183651e04
Verify user has access to visualization before creating widget
2016-03-10 11:42:04 +02:00
Arik Fraimovich
fad8f2b7be
UI for controlling access to dashboard
2016-03-10 11:28:39 +02:00
Arik Fraimovich
298db14bc1
API to create api key for dashboards
2016-03-10 10:09:26 +02:00
Arik Fraimovich
6bc3970ad5
Make sure user has access to data source when loading query result
2016-03-09 15:15:03 +02:00
Arik Fraimovich
b92fbb489b
Fix call to authenticate_request
2016-03-09 13:41:33 +02:00
Arik Fraimovich
52ad1f1ba1
Public dasboards feature.
2016-03-09 13:38:02 +02:00
Jeff Widman
1aad95986b
Add spaces around arithmetic operators per PEP 8
2016-02-29 12:34:50 -08:00
Jeff Widman
c198d22691
Format files to end in a single newline per PEP 8
2016-02-29 12:00:03 -08:00
Jeff Widman
09ccec59f5
Replace deprecated flask.ext.* with flask_*
...
Importing flask extensions using flask.ext.* is deprecated in favor of flask_*
For background, see: https://github.com/mitsuhiko/flask/issues/1135
2016-02-29 00:39:50 -08:00
Arik Fraimovich
491e2e10d1
Fix test
2016-02-23 15:02:49 +02:00
Arik Fraimovich
ed99b8452c
Encapsulate data source/query runner configuration in an object.
...
This is a step towards adding more complex logic in configuration
handling, like encryption of secrets.
2016-02-23 15:02:49 +02:00
Arik Fraimovich
c12b059d10
Add API to trigger query refresh and support for parameters.
2016-02-22 10:40:46 +02:00
yohei.naruse
0afca7321a
#801 fix test case.
...
schedule = "{:02d}:00".format(now.hour - 3) maybe be negative value when now.hour < 3.
I've fixed it.
2016-02-16 13:16:31 +09:00
Arik Fraimovich
505166455d
Fix: show each data source only once
2016-01-19 18:26:51 +02:00
Arik Fraimovich
c1da2579a3
Test for embed handler
2016-01-16 21:25:19 +02:00
Arik Fraimovich
eed3d50372
create data source with default group specific method
2016-01-12 15:10:03 +02:00
Arik Fraimovich
901cf6f017
Fix: new data source should be assigned to default group?
2016-01-12 13:39:54 +02:00
Arik Fraimovich
7c6b95e71d
Change multi-org implementation:
...
To avoid complications with how Google Auth works, when enabling organization
multi-tenancy on a single instance, each organization becomes a "sub folder"
instead of a sub-domain.
2016-01-04 00:03:49 +02:00
Arik Fraimovich
f7b57fa580
Feature: new permissions system
...
This is one huge change for the permissions system and related:
* (Backward incompatible:) Remove the table based permissions in favour of the new model.
* Manage permission to view or query datasources based on groups.
* Add the concept of Organization. It's irrelevant for most deployments, but allows for
multi-tenant support in re:dash.
* Replace ActivityLog with Event based rows (old data in activity_log table is retained).
* Enforce permissions on the server-side. There were some permissions that were only enforced
on the client side. This is no more. All permissions are enforced by the server.
* Added new permission: 'super-admin' to access the status and Flask-Admin interface.
* Make sure that html is never cached by the browser - this is to make sure that the browser
will always ask for the new Javascript/CSS resources (if such are available).
2015-12-31 10:43:33 +02:00
Arik Fraimovich
1a748c2141
Fix expected path in test
2015-12-28 15:10:42 +02:00
Arik Fraimovich
6e28f949fb
Merge pull request #725 from akariv/master
...
Fix: Google OAuth - support for next
2015-12-28 12:07:34 +02:00
Adam Kariv
a9ccfb8b42
Fix next for Google oauth
2015-12-27 13:48:59 +02:00
Arik Fraimovich
200131bb45
Silence metrics collection in tests.
2015-12-27 09:43:36 +02:00
Arik Fraimovich
f737be272f
Update GitHub repo url (EverythingMe -> GetRedash)
2015-11-26 10:34:16 +02:00
Alon Horev
bea0e9aad0
Add support for MQL (a propietery SQL implementation for MongoDB by digdata.io)
2015-11-13 23:35:34 +02:00
Arik Fraimovich
799ce3e718
Fix: don't cache /results API endpoint
2015-10-16 23:11:19 +03:00
Arik Fraimovich
9b47f0d08a
Fix: test shouldn't depend on currnet time
2015-10-16 23:10:50 +03:00
Arik Fraimovich
0f8da884f9
Fix #597 : MongoDB date parsing logic improvement
2015-10-11 14:44:12 +03:00
Arik Fraimovich
bed63083a7
Close #564 : support setting API key in headers
2015-10-11 11:54:21 +03:00
Arik Fraimovich
aaac5928c4
Fix: tests w/ celery breaking
2015-09-06 10:15:26 +03:00
Arik Fraimovich
993a861c78
Users UI.
2015-09-06 10:15:25 +03:00
Arik Fraimovich
a11e100050
Tests for users API
2015-09-06 10:15:25 +03:00
Arik Fraimovich
cdb6aaac6e
Split the giant redash.controllers module into a package
2015-09-06 10:15:25 +03:00
Arik Fraimovich
edf8f5b1fd
Fix tests post field name change in #515
2015-07-30 14:36:01 +03:00
Arik Fraimovich
accca51f39
Feature: web interface to edit datasources
...
* Web interface to add and delete data sources, without the need to ssh
into the server.
* Ability to safely delete datasources -- query results from this data sources
are deleted, while queries get assigned null datasource.
* Updated the BigQuery datasource to use the JSON key file from Google Developer
console. Also both BigQuery and the Google Spreadsheets datasource no longer store
their key on the filesystem, but rather in the DB.
* Minor updates to the Flask Admin.
2015-07-26 10:24:08 +03:00
Arik Fraimovich
3d859ec5f3
Feature: alerts for query results.
...
This is basic implementation for alerts feature, where you can
define a simple rule on the last query result to send an alert.
As part of the implementation added Flask-Mail to the project,
to send emails. Should be useful to make re:dash more "self aware"
(notify users about potential issues, when queries done executing
and more).
2015-07-22 17:05:31 +03:00
Arik Fraimovich
e183affdd0
Feature: support for per user api keys
2015-07-08 20:59:07 +03:00
Arik Fraimovich
a60b1686da
Fix: when the server has non UTC timezone, timestamps were wrong
2015-06-03 07:58:28 +03:00
Stan Hu
690f8323c3
Allow undefined max_age parameter in query_results endpoint
...
An Error 500 would be returned by the endpoint if you attempted to
pass a query parameter to the dashboard since maxAge was undefined in JavaScript.
2015-05-14 22:00:08 -07:00
Arik Fraimovich
f4be83b06f
Use query id from UI & annotate scheduled queries
2015-04-20 08:46:01 +03:00
Arik Fraimovich
d3d305a843
Make sure data sources have unique names in tests
2015-04-18 22:46:42 +03:00
Arik Fraimovich
e3c5da5bc5
Fix tests to use correct data
2015-04-02 17:05:16 +03:00
Arik Fraimovich
6ff6bdad9f
Use the correct redis connection in tests
2015-04-02 11:25:42 +03:00
Arik Fraimovich
e3cc3ef9a4
Move schema fetching to DataSource + tests
2015-04-02 11:25:42 +03:00
Arik Fraimovich
1fe4f291f2
Flush test redis db after each test
2015-04-02 11:25:22 +03:00
Arik Fraimovich
faad6b656b
Change query ttl field to be a string and named schedule.
...
This to allow other types of scheduling than just repeat every X seconds.
The first supported option will be: repeat every day at hour X.
2015-04-01 11:23:26 +03:00
Arik Fraimovich
ad1b9b06cf
Fix test.
2015-03-22 14:42:08 +02:00
Arik Fraimovich
a4bceae60b
Allow anyone to edit any query & show who edited it
2015-03-22 13:22:11 +02:00
Arik Fraimovich
9385449feb
Add updated_at timestamp to visualization, query, dashboard and users models
2015-03-22 12:58:26 +02:00
Arik Fraimovich
85a762bcd2
Support posting to /queries/new to create a new query.
2015-03-18 13:28:23 +02:00
Arik Fraimovich
2e513c347c
Cleanup
2015-03-10 18:21:51 +02:00
Arik Fraimovich
df1170eb9b
Feature: optional api key only authentication
2015-03-10 17:51:17 +02:00
Arik Fraimovich
8a171ba39a
Use JSON Schema for data source configuration
2015-02-24 07:50:10 +02:00
Arik Fraimovich
20af276772
Updated configuration spec to include friendly name and more
2015-02-24 07:50:10 +02:00
Arik Fraimovich
4058342763
WIP: configuration object
2015-02-24 07:50:10 +02:00
akariv
8eea2fb367
Support unicode queries in search API
...
Modify query test case to use unicode strings
2015-02-20 23:49:37 +02:00
Arik Fraimovich
1afd2ab388
Refactoring of @christophervalles work on query delete feature:
...
- Change delete into archive.
- Safely remove widgets.
- Make sure archived queries don't get scheduled, or show up in search.
- If direct link to query used, show notification.
- Tests.
- Some more.
2015-01-25 16:17:52 +02:00
Arik Fraimovich
e116e88e98
Job to cleanup unused query results
2014-12-25 15:39:49 +02:00
Arik Fraimovich
518206f208
Fixes and imporvements to import dashboard:
...
- Update it to not expect query result.
- Add support for specifying data source.
- Create mapping file if it doesn't exist yet.
2014-11-04 07:24:51 +02:00
Arik Fraimovich
410f4f35e2
Add support for searching for query by id
2014-10-30 07:58:53 +02:00
Arik Fraimovich
9b23fb4235
Remove query stats from search, as it was too slow
2014-10-06 09:41:40 +03:00
Arik Fraimovich
c7b48837f2
Show last execution time & runtime in search results
2014-10-06 07:55:17 +03:00
Arik Fraimovich
f9144fc927
Naive search implementation.
2014-09-30 08:37:59 +03:00
Arik Fraimovich
91ab90a6fe
Move event recording to Celery/database instead of log file
2014-09-27 17:41:50 +03:00
Arik Fraimovich
b43485f322
Update tests
2014-09-21 10:11:03 +03:00
Arik Fraimovich
4af979d3eb
Split __init__ into several modules and remove flask-peewee dependency.
...
This should make imports more sensible and with less side effects. Also might reduce the memory footprint of the workers.
2014-05-18 10:19:07 +03:00
Arik Fraimovich
a1dcf94d4d
Update tests
2014-05-17 17:11:46 +03:00
Arik Fraimovich
381ab62505
Move outdated queries selection logic to model.
2014-05-16 18:34:53 +03:00
Arik Fraimovich
93491004e2
Fix test due to refactor.
2014-05-16 18:19:01 +03:00
Arik Fraimovich
d1f0ae9538
Remove tests for old Job class.
2014-05-16 18:14:42 +03:00
Arik Fraimovich
9b4482f25d
Move result storing logic to models.
2014-05-16 17:56:04 +03:00
Arik Fraimovich
dad9eb21a0
Create user groups in test setup.
2014-05-13 18:29:59 +03:00
Arik Fraimovich
16125327b1
Class for SQL metadata logic (tables, ddl, dml statements)
2014-05-13 18:16:30 +03:00
Christopher Valles
81d027611f
Remove is_admin flag
2014-05-09 18:12:34 +01:00
Christopher Valles
1c095bcd99
Fix tests
2014-05-09 12:43:29 +01:00
Christopher Valles
e297faab7c
Fixing more tests
2014-05-08 19:29:50 +01:00
Christopher Valles
c0329cc0ef
Fixed tests;
2014-05-08 19:19:23 +01:00
Arik Fraimovich
6efd830bd4
Fix: return last cached result for ttl=-1 ( fix #174 )
2014-04-29 16:02:17 +03:00
Arik Fraimovich
289d38b2a6
Add textbox widget support.
2014-04-29 10:36:56 +03:00
Arik Fraimovich
7ed9dc90d3
Fix: user should be able to cancel query even if process not existing already ( #8 ).
2014-04-12 16:43:40 +03:00
Arik Fraimovich
fac9082a03
Unicode test case for Job
2014-03-24 14:26:57 +02:00
Arik Fraimovich
d9964d84b3
Fix tests (were rightfully failing on system with clock set to utc)
2014-03-20 20:57:35 +02:00
Arik Fraimovich
21e02ee04e
Reduce Peewee's logging level to INFO in tests.
2014-03-20 19:45:16 +02:00
Arik Fraimovich
3c895310f4
Switch to using peewee models in Manager + fix bugs + add tests ( #8 ).
2014-03-20 13:22:37 +02:00
Arik Fraimovich
e8d453e2d4
Move QUeyrResult logic from data.Manager to QueryResult.
2014-03-19 13:48:48 +02:00
Arik Fraimovich
0c4d0cb5c5
Fix QueryResult factory.
2014-03-19 13:48:11 +02:00
Arik Fraimovich
c919648412
Fix tests to use data source
2014-03-19 12:53:51 +02:00
Arik Fraimovich
6b57d4a2f7
Data Source factory
2014-03-19 12:53:39 +02:00
Arik Fraimovich
21b52e0b80
Fix importer to use data source
2014-03-19 12:53:30 +02:00
Arik Fraimovich
5a07ac38da
Refactor Job class to be easier to extend.
...
Moved the Redis logic out of it.
2014-03-18 17:48:37 +02:00
Arik Fraimovich
0b0d2bcdfc
Reduce expire time to 1800, to reduce changes of test failing
2014-03-12 13:41:42 +02:00
Arik Fraimovich
09f2e89bc4
Update tests for /status.json
2014-03-12 13:08:19 +02:00
Arik Fraimovich
c3fc9879e0
Fix: use relative file path
2014-03-11 19:15:44 +02:00
Arik Fraimovich
126d6f7f60
Update importer to use mappings
2014-03-11 18:51:41 +02:00
Arik Fraimovich
3d726fe7b0
Update importer to update existing objects
2014-03-11 18:40:42 +02:00
Arik Fraimovich
be3bad7b90
Move import functions into a class, to have state
2014-03-11 18:23:25 +02:00
Arik Fraimovich
2f53c7924d
Import functions to import JSON representation of a dashboard
2014-03-11 18:23:25 +02:00
Arik Fraimovich
af1b1c0edb
Set is_admin of user based on ADMINS list.
2014-03-03 11:53:49 +02:00
Arik Fraimovich
0a511e4f8a
Ability to disable openid or password login
2014-03-02 21:54:50 +02:00
Arik Fraimovich
578d9c6785
Logout controller
2014-03-02 18:27:05 +02:00
Arik Fraimovich
c7efad2197
Login view
2014-03-02 17:59:08 +02:00
Arik Fraimovich
640d0082da
Tests for authentication functions
2014-03-02 15:41:38 +02:00
Arik Fraimovich
812e8cca9a
Add flask_login and use it for managing authentication
2014-03-02 14:42:13 +02:00
Arik Fraimovich
b0d6ce61b0
Fix tests
2014-02-22 14:52:04 +02:00
Arik Fraimovich
9defa45428
Use of user object (fix views, update migrations and some).
2014-02-22 14:43:00 +02:00
Arik Fraimovich
d4f48cdc21
Merge pull request #98 from EverythingMe/feature_allow_external_users
...
Feature: allow external users
2014-02-13 20:15:54 +02:00
Arik Fraimovich
27031c96b5
Bring back the ability to set allowed external users & publicly open re:dash.
2014-02-13 20:04:28 +02:00
Arik Fraimovich
1b7bfb42fc
Fix: allow queries.description to be null.
2014-02-13 19:08:35 +02:00
Arik Fraimovich
88f1237990
Fix: when updating query text the hash should change.
2014-02-13 13:08:48 +02:00
Arik Fraimovich
81cbc7b87c
Read settings from environment variables instead of a settings file.
...
This is mostly done to make it easier to run re:dash on Heroku but should be convenient in other platforms too.
2014-02-12 20:43:41 +02:00
Arik Fraimovich
910ea4caec
Rename test files to test_.
2014-02-12 20:41:36 +02:00
Arik Fraimovich
84ec26f648
Tests for HMAC authentication.
2014-02-09 18:51:04 +02:00
Arik Fraimovich
48639adc42
Create default visualization.
2014-02-06 21:12:02 +02:00
Arik Fraimovich
509412dee6
Visualization API tests.
2014-02-06 21:02:14 +02:00
Arik Fraimovich
44a95c4888
Use same database name in tests as CircleCI (until we add config for tests).
2014-02-06 21:02:13 +02:00
Arik Fraimovich
a55bbc5e8c
Tests for Query, Widget and Dashboard controllers.
2014-02-06 21:02:13 +02:00
Arik Fraimovich
8dad478a19
Factories for all models for tests.
2014-02-06 21:02:13 +02:00
Arik Fraimovich
1e4f70747b
More tests (Dasboard API).
2014-02-06 20:56:00 +02:00
Arik Fraimovich
6ee3bc099d
Fix: make sure all dashboard slug are unique
2014-02-06 20:56:00 +02:00
Arik Fraimovich
e97d3172eb
Initial version of tests.
2014-02-06 20:55:14 +02:00