forked from apache/superset
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fixing the order and coverage report for the unit tests
- Loading branch information
1 parent
1b4e750
commit 60bce9e
Showing
4 changed files
with
50 additions
and
30 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,6 @@ | ||
#!/usr/bin/env bash | ||
rm /tmp/caravel_unittests.db | ||
rm -f .coverage | ||
export CARAVEL_CONFIG=tests.caravel_test_config | ||
caravel/bin/caravel db upgrade | ||
python setup.py nosetests |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,48 +2,75 @@ | |
import doctest | ||
import os | ||
import unittest | ||
os.environ['CARAVEL_CONFIG'] = 'tests.caravel_test_config' | ||
from flask.ext.testing import LiveServerTestCase, TestCase | ||
|
||
from flask import escape | ||
|
||
import caravel | ||
from caravel import app, db, models, utils | ||
from caravel import app, db, models, utils, appbuilder | ||
|
||
os.environ['CARAVEL_CONFIG'] = 'tests.caravel_test_config' | ||
|
||
app.config['TESTING'] = True | ||
app.config['CSRF_ENABLED'] = False | ||
app.config['SECRET_KEY'] = 'thisismyscretkey' | ||
app.config['WTF_CSRF_ENABLED'] = False | ||
BASE_DIR = app.config.get("BASE_DIR") | ||
cli = imp.load_source('cli', BASE_DIR + "/bin/caravel") | ||
|
||
|
||
class LiveTest(TestCase): | ||
class CaravelTests(unittest.TestCase): | ||
|
||
def create_app(self): | ||
app.config['LIVESERVER_PORT'] = 8873 | ||
app.config['TESTING'] = True | ||
return app | ||
def __init__(self, *args, **kwargs): | ||
super(CaravelTests, self).__init__(*args, **kwargs) | ||
self.client = app.test_client() | ||
role_admin = appbuilder.sm.find_role('Admin') | ||
user = appbuilder.sm.find_user('admin') | ||
if not user: | ||
appbuilder.sm.add_user( | ||
'admin', 'admin',' user', '[email protected]', | ||
role_admin, 'general') | ||
utils.init(caravel) | ||
self.load_examples() | ||
|
||
def setUp(self): | ||
pass | ||
|
||
def test_init(self): | ||
utils.init(caravel) | ||
def tearDown(self): | ||
pass | ||
|
||
def test_load_examples(self): | ||
def login(self): | ||
self.client.post( | ||
'/login/', | ||
data=dict(username='admin', password='general'), | ||
follow_redirects=True) | ||
|
||
def load_examples(self): | ||
cli.load_examples(sample=True) | ||
|
||
def test_slices(self): | ||
# Testing by running all the examples | ||
self.login() | ||
Slc = models.Slice | ||
urls = [] | ||
for slc in db.session.query(Slc).all(): | ||
print(slc) | ||
self.client.get(slc.slice_url) | ||
viz = slc.viz | ||
self.client.get(viz.get_url()) | ||
if hasattr(viz, 'get_json'): | ||
self.client.get(viz.get_json()) | ||
urls += [ | ||
slc.slice_url, | ||
slc.viz.json_endpoint, | ||
] | ||
for url in urls: | ||
self.client.get(url) | ||
|
||
def test_csv(self): | ||
self.client.get('/caravel/explore/table/1/?viz_type=table&granularity=ds&since=100+years&until=now&metrics=count&groupby=name&limit=50&show_brush=y&show_brush=false&show_legend=y&show_brush=false&rich_tooltip=y&show_brush=false&show_brush=false&show_brush=false&show_brush=false&y_axis_format=&x_axis_showminmax=y&show_brush=false&line_interpolation=linear&rolling_type=None&rolling_periods=&time_compare=&num_period_compare=&where=&having=&flt_col_0=gender&flt_op_0=in&flt_eq_0=&flt_col_0=gender&flt_op_0=in&flt_eq_0=&slice_id=14&slice_name=Boys&collapsed_fieldsets=&action=&datasource_name=birth_names&datasource_id=1&datasource_type=table&previous_viz_type=line&csv=true') | ||
|
||
def test_dashboard(self): | ||
self.login() | ||
urls = {} | ||
for dash in db.session.query(models.Dashboard).all(): | ||
self.client.get(dash.url) | ||
urls[dash.dashboard_title] = dash.url | ||
for title, url in urls.items(): | ||
print(url) | ||
assert escape(title) in self.client.get(url).data | ||
|
||
def test_doctests(self): | ||
modules = [utils] | ||
|
@@ -52,12 +79,10 @@ def test_doctests(self): | |
if failed: | ||
raise Exception("Failed a doctest") | ||
|
||
def misc(self): | ||
self.client.get('/health') | ||
self.client.get('/ping') | ||
def test_misc(self): | ||
assert self.client.get('/health').data == "OK" | ||
assert self.client.get('/ping').data == "OK" | ||
|
||
def tearDown(self): | ||
pass | ||
|
||
if __name__ == '__main__': | ||
unittest.main() |
This file was deleted.
Oops, something went wrong.