diff --git a/superset/models.py b/superset/models.py index 425cb2abf58c0..678564eb4a9ed 100644 --- a/superset/models.py +++ b/superset/models.py @@ -2586,6 +2586,8 @@ def wrapper(*args, **kwargs): except: pass value = f(*args, **kwargs) + + sesh = db.session() log = cls( action=f.__name__, json=params, @@ -2595,7 +2597,8 @@ def wrapper(*args, **kwargs): datetime.now() - start_dttm).total_seconds() * 1000, referrer=request.referrer[:1000] if request.referrer else None, user_id=user_id) - db.session.flush() + sesh.add(log) + sesh.commit() return value return wrapper diff --git a/tests/core_tests.py b/tests/core_tests.py index 44d97b88d9096..7d29b044a7fc5 100644 --- a/tests/core_tests.py +++ b/tests/core_tests.py @@ -59,16 +59,20 @@ def test_slice_endpoint(self): '/superset/slice/{}/?standalone=true'.format(slc.id)) assert 'List Roles' not in resp - def test_endpoints_for_a_slice(self): + def test_slice_json_endpoint(self): self.login(username='admin') slc = self.get_slice("Girls", db.session) - resp = self.get_resp(slc.viz.csv_endpoint) - assert 'Jennifer,' in resp - resp = self.get_resp(slc.viz.json_endpoint) assert '"Jennifer"' in resp + def test_slice_csv_endpoint(self): + self.login(username='admin') + slc = self.get_slice("Girls", db.session) + + resp = self.get_resp(slc.viz.csv_endpoint) + assert 'Jennifer,' in resp + def test_admin_only_permissions(self): def assert_admin_permission_in(role_name, assert_func): role = sm.find_role(role_name) @@ -466,6 +470,7 @@ def test_templated_sql_json(self): def test_table_metadata(self): maindb = self.get_main_database(db.session) + backend = maindb.backend data = self.get_json_resp( "/superset/table/{}/ab_user/null/".format(maindb.id)) self.assertEqual(data['name'], 'ab_user') @@ -473,7 +478,6 @@ def test_table_metadata(self): assert data.get('selectStar').startswith('SELECT') # Engine specific tests - backend = maindb.backend if backend in ('mysql', 'postgresql'): self.assertEqual(data.get('primaryKey').get('type'), 'pk') self.assertEqual( diff --git a/tests/sqllab_tests.py b/tests/sqllab_tests.py index 22c06d4e1f526..1ddaf85c2bcb3 100644 --- a/tests/sqllab_tests.py +++ b/tests/sqllab_tests.py @@ -133,19 +133,19 @@ def test_search_query_on_user(self): self.login('admin') # Test search queries on user Id - user = appbuilder.sm.find_user('admin') + user_id = appbuilder.sm.find_user('admin').id data = self.get_json_resp( - '/superset/search_queries?user_id={}'.format(user.id)) + '/superset/search_queries?user_id={}'.format(user_id)) self.assertEquals(2, len(data)) user_ids = {k['userId'] for k in data} - self.assertEquals(set([user.id]), user_ids) + self.assertEquals(set([user_id]), user_ids) - user = appbuilder.sm.find_user('gamma_sqllab') + user_id = appbuilder.sm.find_user('gamma_sqllab').id resp = self.get_resp( - '/superset/search_queries?user_id={}'.format(user.id)) + '/superset/search_queries?user_id={}'.format(user_id)) data = json.loads(resp) self.assertEquals(1, len(data)) - self.assertEquals(data[0]['userId'] , user.id) + self.assertEquals(data[0]['userId'] , user_id) def test_search_query_on_status(self): self.run_some_queries()