Allen Short
24217d969e
schema for sqlalchemy, basic test support
2016-12-07 02:13:20 -06:00
Allen Short
80491ea4c2
Switch from flask_script to click, add CLI unit tests.
2016-12-06 15:14:44 -06:00
Arik Fraimovich
a874d88667
Fix tests & update CircleCI configuration
2016-11-26 11:35:21 +02:00
Arik Fraimovich
9f68deefea
Merge pull request #1256 from ninneko/fork_with_vis
...
Change: when forking a query, copy all visualizations
2016-11-23 11:49:26 +02:00
Arik Fraimovich
971f961bcd
Merge pull request #1353 from washort/draft-toggle
...
Change: make draft status for queries and dashboards toggleable
2016-11-22 23:38:33 +02:00
Antoine Augusti
9118464970
Rate limit the login page
2016-11-20 12:44:43 +01:00
yohei.naruse
8c78252ea2
fix tests
2016-11-11 02:21:30 +09:00
yohei.naruse
1ad0c9c75f
fix errors
2016-11-09 00:37:16 +09:00
yohei.naruse
1d486938c1
fix bugs
2016-11-06 03:05:47 +09:00
yohei.naruse
e5665879bd
add query fork to models.py
2016-11-06 03:02:11 +09:00
Allen Short
65a6385380
Make draft status for queries and dashboards toggleable.
2016-11-02 12:31:33 -05:00
Arik Fraimovich
2f090435a5
Merge pull request #1113 from whummer/feat/share-access-permissions
...
Add: share modify/access permissions for queries and dashboard
2016-10-28 19:11:03 +03:00
Arik Fraimovich
d9bad96e8e
Remove MQL tests
2016-10-28 18:16:54 +03:00
Arik Fraimovich
6c5dd09a78
Add change tracking and fix tests
2016-10-26 16:09:55 +03:00
Arik Fraimovich
df17759ab4
Fix tests
2016-10-26 11:47:40 +03:00
Arik Fraimovich
6218421266
Tests for the permissions API (and rewrite)
2016-10-26 10:52:24 +03:00
Arik Fraimovich
f34471ec10
Return 409 when dashboard can't be updated due to conflict
2016-10-25 11:58:43 +03:00
Arik Fraimovich
40cc592591
Make sure error are logged in tests
2016-10-25 11:58:25 +03:00
Arik Fraimovich
bb96702ae6
Update dashboard testS
2016-10-25 10:45:00 +03:00
Arik Fraimovich
8b091129ed
Use new helper for dashboards API
2016-10-24 21:33:49 +03:00
Arik Fraimovich
edea6f3a05
WIP:
...
- Move version/change tracking logic to mixins (the change mixin is still WIP).
- Tests for queries update API.
2016-10-24 16:58:30 +03:00
Arik Fraimovich
c51477ac93
Add tests outline
2016-10-24 13:56:39 +03:00
Arik Fraimovich
9f3bbfee13
Renames
2016-10-24 13:56:31 +03:00
Arik Fraimovich
7ba5a2062a
Remove unused method
2016-10-24 13:37:32 +03:00
Waldemar Hummer
60a79cbe08
address code review comments
2016-10-24 12:33:29 +03:00
Waldemar Hummer
e0672f4c4d
add optimistic locking for dashboard editing
2016-10-24 12:33:29 +03:00
Waldemar Hummer
903ba0c1e0
add backend API and tests for managing access permissions.
2016-10-24 12:33:29 +03:00
Arik Fraimovich
ae2cd5363f
Change: pass the user object to the run_query method
...
This to allow different use cases like checking permissions
based on who is currently running the query.
2016-10-20 23:42:25 +03:00
Arik Fraimovich
5096e4ed79
Change: paginate query page & add explicit urls.
...
- Paginate the queries API result.
- Split the API to /api/queries (all queries) and /api/queries/my which returns
a user's queries (or drafts).
- In the interface have explicit URLs for all queries (/queries), my queries (/queries/my)
and drafts (/queries/drafts).
2016-10-05 14:14:26 +03:00
Arik Fraimovich
09a848f524
Change: deduplicate Google Spreadsheet columns
2016-09-11 09:41:15 +03:00
Arik Fraimovich
d4bfbc2c57
Fix: Excel file generation fails when row missing column value.
2016-07-11 11:51:55 +03:00
Arik Fraimovich
95fa6849b3
More robust parsing of worksheets with handling:
...
- handle the case of empty worksheet.
- handle the case of worksheet with no data.
2016-07-04 22:25:10 +03:00
Arik Fraimovich
6905340c2d
Google Spreadsheets: Add support for unicode
2016-07-04 18:31:42 +03:00
Arik Fraimovich
f21276ec06
Merge pull request #1119 from getredash/feature/params_ui
...
Feature: add UI to delete alerts
2016-06-14 12:00:53 +03:00
Arik Fraimovich
2d2fb69b7b
Add API to delete alerts ( #731 ).
2016-06-14 11:21:05 +03:00
Arik Fraimovich
3ce27b9652
Merge pull request #1118 from getredash/feature/params_ui
...
Fix: remove alerts for archived queries
2016-06-14 11:15:50 +03:00
Arik Fraimovich
da4db94cf8
Close #930 : remove alerts for archived queries
2016-06-14 11:09:35 +03:00
Arik Fraimovich
4cbc79a7aa
Use default user for alert_subscription factory
2016-06-14 11:04:41 +03:00
Arik Fraimovich
df637e3f6b
Merge pull request #1116 from getredash/feature/params_ui
...
Return meaningful error when there is no cached result.
2016-06-14 10:44:24 +03:00
Arik Fraimovich
68465b0c60
Return meaningful error when there is no cached result.
...
Previously it was crashing as it was trying to access an unreferenced
variables (query_result).
2016-06-14 10:41:01 +03:00
Arik Fraimovich
52558043ee
Merge pull request #1091 from whummer/feature/cache_embeds
...
Add caching for queries used in embeds
2016-06-14 08:34:13 +03:00
Arik Fraimovich
0c7f0c25a8
Fix #1109 : mixed group permissions resulting in wrong permission
2016-06-09 19:59:26 +03:00
Arik Fraimovich
7159f0beb0
Remove potnetially concurrency not safe code form enqueue_query.
...
This might have been causing the behavior described in #1097 .
2016-06-09 16:53:29 +03:00
Arik Fraimovich
b67f412f58
Add test for enqueue_query
2016-06-08 20:00:59 +03:00
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