Browse Source

[FIX]remove cr.commit, that removed the savepoint

[UPT]add test
pull/148/head
aheficent 7 years ago
committed by Nicolas Mac Rouillon
parent
commit
3c358e6df5
  1. 4
      bi_sql_editor/models/bi_sql_view.py
  2. 3
      bi_sql_editor/tests/__init__.py
  3. 74
      bi_sql_editor/tests/test_bi_sql_view.py

4
bi_sql_editor/models/bi_sql_view.py

@ -449,7 +449,6 @@ class BiSQLView(models.Model):
# Drop table, created by the ORM
req = "DROP TABLE %s" % (sql_view.view_name)
self.env.cr.execute(req)
self.env.cr.commit() # pylint: disable=invalid-commit
@api.multi
def _create_model_access(self):
@ -482,7 +481,6 @@ class BiSQLView(models.Model):
AND attnum > 0
ORDER BY attnum;""" % (self.view_name)
self.env.cr.execute(req)
self.env.cr.commit() # pylint: disable=invalid-commit
return self.env.cr.fetchall()
@api.multi
@ -571,4 +569,4 @@ class BiSQLView(models.Model):
sql_view.view_name)
self.env.cr.execute(req)
sql_view.size = self.env.cr.fetchone()[0]
self.env.cr.commit() # pylint: disable=invalid-commit

3
bi_sql_editor/tests/__init__.py

@ -0,0 +1,3 @@
# -*- coding: utf-8 -*-
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from . import test_bi_sql_view

74
bi_sql_editor/tests/test_bi_sql_view.py

@ -0,0 +1,74 @@
# -*- coding: utf-8 -*-
# Copyright 2017 Onestein (<http://www.onestein.eu>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from openerp.tests.common import TransactionCase, at_install, post_install
from openerp.exceptions import AccessError
class TestBiSqlViewEditor(TransactionCase):
def setUp(self):
super(TestBiSqlViewEditor, self).setUp()
self.res_partner = self.env['res.partner']
self.res_users = self.env['res.users']
self.bi_sql_view = self.env['bi.sql.view']
self.group_bi_user = self.env.ref(
'sql_request_abstract.group_sql_request_manager')
self.group_user = self.env.ref(
'base.group_user')
self.view = self.bi_sql_view.create({
'name': 'Partners View 2',
'is_materialized': False,
'technical_name': 'partners_view_2',
'query': "SELECT name as x_name, street as x_street,"
"company_id as x_company_id FROM res_partner "
"ORDER BY name"
})
self.company = self.env.ref('base.main_company')
# Create bi user
self.bi_user = self._create_user('bi_user', [self.group_bi_user],
self.company)
self.no_bi_user = self._create_user('no_bi_user', [self.group_user],
self.company)
def _create_user(self, login, groups, company):
"""Create a user."""
group_ids = [group.id for group in groups]
user = self.res_users.create({
'name': 'Test BI User',
'login': login,
'password': 'demo',
'email': 'example@yourcompany.com',
'company_id': company.id,
'groups_id': [(6, 0, group_ids)]
})
return user
@at_install(False)
@post_install(True)
def test_process_view(self):
view = self.view
self.assertEqual(view.state, 'draft', 'state not draft')
view.button_validate_sql_expression()
self.assertEqual(view.state, 'sql_valid', 'state not sql_valid')
def test_copy(self):
copy_view = self.view.copy()
self.assertEqual(copy_view.name, 'Partners View 2 (Copy)', 'Wrong name')
def test_security(self):
with self.assertRaises(AccessError):
self.bi_sql_view.sudo(self.no_bi_user.id).search(
[('name', '=', 'Partners View 2')])
bi = self.bi_sql_view.sudo(self.bi_user.id).search(
[('name', '=', 'Partners View 2')])
self.assertEqual(len(bi), 1, 'Bi user should not have access to '
'bi %s' % self.view.name)
def test_unlink(self):
self.assertEqual(self.view.state, 'draft', 'state not draft')
self.view.button_validate_sql_expression()
self.view.unlink()
res = self.bi_sql_view.search([('name', '=', 'Partners View 2')])
self.assertEqual(len(res), 0, 'View not deleted')
Loading…
Cancel
Save