[FIX] ir_sequence: typo in read().
bzr revid: vmt@openerp.com-20110928141520-9yx9sogoetizb9nn
This commit is contained in:
@@ -104,7 +104,7 @@ class ir_sequence(openerp.osv.osv.osv):
|
||||
def write(self, cr, uid, ids, values, context=None):
|
||||
ids = ids if isinstance(ids, (list, tuple)) else [ids]
|
||||
new_implementation = values.get('implementation')
|
||||
rows = self.read(cr, uid, ids, ['id,' 'implementation',
|
||||
rows = self.read(cr, uid, ids, ['implementation',
|
||||
'number_increment', 'number_next'], context)
|
||||
super(ir_sequence, self).write(cr, uid, ids, values, context)
|
||||
|
||||
|
||||
+85
-58
@@ -33,51 +33,43 @@ class test_ir_sequence_standard(unittest2.TestCase):
|
||||
def test_ir_sequence_create(self):
|
||||
""" Try to create a sequence object. """
|
||||
cr = cursor()
|
||||
try:
|
||||
d = dict(code='test_sequence_type', name='Test sequence type')
|
||||
c = registry('ir.sequence.type').create(cr, ADMIN_USER_ID, d, {})
|
||||
assert c
|
||||
d = dict(code='test_sequence_type', name='Test sequence')
|
||||
c = registry('ir.sequence').create(cr, ADMIN_USER_ID, d, {})
|
||||
assert c
|
||||
cr.commit()
|
||||
finally:
|
||||
cr.close()
|
||||
d = dict(code='test_sequence_type', name='Test sequence type')
|
||||
c = registry('ir.sequence.type').create(cr, ADMIN_USER_ID, d, {})
|
||||
assert c
|
||||
d = dict(code='test_sequence_type', name='Test sequence')
|
||||
c = registry('ir.sequence').create(cr, ADMIN_USER_ID, d, {})
|
||||
assert c
|
||||
cr.commit()
|
||||
cr.close()
|
||||
|
||||
def test_ir_sequence_search(self):
|
||||
""" Try a search. """
|
||||
cr = cursor()
|
||||
try:
|
||||
ids = registry('ir.sequence').search(cr, ADMIN_USER_ID, [], {})
|
||||
assert ids
|
||||
cr.commit()
|
||||
finally:
|
||||
cr.close()
|
||||
ids = registry('ir.sequence').search(cr, ADMIN_USER_ID, [], {})
|
||||
assert ids
|
||||
cr.commit()
|
||||
cr.close()
|
||||
|
||||
def test_ir_sequence_draw(self):
|
||||
""" Try to draw a number. """
|
||||
cr = cursor()
|
||||
try:
|
||||
n = registry('ir.sequence').get(cr, ADMIN_USER_ID, 'test_sequence_type', {})
|
||||
assert n
|
||||
cr.commit()
|
||||
finally:
|
||||
cr.close()
|
||||
n = registry('ir.sequence').get(cr, ADMIN_USER_ID, 'test_sequence_type', {})
|
||||
assert n
|
||||
cr.commit()
|
||||
cr.close()
|
||||
|
||||
def test_ir_sequence_draw_twice(self):
|
||||
""" Try to draw a number from two transactions. """
|
||||
cr0 = cursor()
|
||||
cr1 = cursor()
|
||||
try:
|
||||
n0 = registry('ir.sequence').get(cr0, ADMIN_USER_ID, 'test_sequence_type', {})
|
||||
assert n0
|
||||
n1 = registry('ir.sequence').get(cr1, ADMIN_USER_ID, 'test_sequence_type', {})
|
||||
assert n1
|
||||
cr0.commit()
|
||||
cr1.commit()
|
||||
finally:
|
||||
cr0.close()
|
||||
cr1.close()
|
||||
n0 = registry('ir.sequence').get(cr0, ADMIN_USER_ID, 'test_sequence_type', {})
|
||||
assert n0
|
||||
n1 = registry('ir.sequence').get(cr1, ADMIN_USER_ID, 'test_sequence_type', {})
|
||||
assert n1
|
||||
cr0.commit()
|
||||
cr1.commit()
|
||||
cr0.close()
|
||||
cr1.close()
|
||||
|
||||
class test_ir_sequence_no_gap(unittest2.TestCase):
|
||||
""" Copy of the previous tests for a 'No gap' sequence. """
|
||||
@@ -85,27 +77,23 @@ class test_ir_sequence_no_gap(unittest2.TestCase):
|
||||
def test_ir_sequence_create_no_gap(self):
|
||||
""" Try to create a sequence object. """
|
||||
cr = cursor()
|
||||
try:
|
||||
d = dict(code='test_sequence_type_2', name='Test sequence type')
|
||||
c = registry('ir.sequence.type').create(cr, ADMIN_USER_ID, d, {})
|
||||
assert c
|
||||
d = dict(code='test_sequence_type_2', name='Test sequence',
|
||||
implementation='no_gap')
|
||||
c = registry('ir.sequence').create(cr, ADMIN_USER_ID, d, {})
|
||||
assert c
|
||||
cr.commit()
|
||||
finally:
|
||||
cr.close()
|
||||
d = dict(code='test_sequence_type_2', name='Test sequence type')
|
||||
c = registry('ir.sequence.type').create(cr, ADMIN_USER_ID, d, {})
|
||||
assert c
|
||||
d = dict(code='test_sequence_type_2', name='Test sequence',
|
||||
implementation='no_gap')
|
||||
c = registry('ir.sequence').create(cr, ADMIN_USER_ID, d, {})
|
||||
assert c
|
||||
cr.commit()
|
||||
cr.close()
|
||||
|
||||
def test_ir_sequence_draw_no_gap(self):
|
||||
""" Try to draw a number. """
|
||||
cr = cursor()
|
||||
try:
|
||||
n = registry('ir.sequence').get(cr, ADMIN_USER_ID, 'test_sequence_type_2', {})
|
||||
assert n
|
||||
cr.commit()
|
||||
finally:
|
||||
cr.close()
|
||||
n = registry('ir.sequence').get(cr, ADMIN_USER_ID, 'test_sequence_type_2', {})
|
||||
assert n
|
||||
cr.commit()
|
||||
cr.close()
|
||||
|
||||
def test_ir_sequence_draw_twice_no_gap(self):
|
||||
""" Try to draw a number from two transactions.
|
||||
@@ -113,15 +101,54 @@ class test_ir_sequence_no_gap(unittest2.TestCase):
|
||||
"""
|
||||
cr0 = cursor()
|
||||
cr1 = cursor()
|
||||
try:
|
||||
msg_re = '^could not obtain lock on row in relation "ir_sequence"$'
|
||||
with self.assertRaisesRegexp(psycopg2.OperationalError, msg_re):
|
||||
n0 = registry('ir.sequence').get(cr0, ADMIN_USER_ID, 'test_sequence_type_2', {})
|
||||
assert n0
|
||||
n1 = registry('ir.sequence').get(cr1, ADMIN_USER_ID, 'test_sequence_type_2', {})
|
||||
finally:
|
||||
cr0.close()
|
||||
cr1.close()
|
||||
msg_re = '^could not obtain lock on row in relation "ir_sequence"$'
|
||||
with self.assertRaisesRegexp(psycopg2.OperationalError, msg_re):
|
||||
n0 = registry('ir.sequence').get(cr0, ADMIN_USER_ID, 'test_sequence_type_2', {})
|
||||
assert n0
|
||||
n1 = registry('ir.sequence').get(cr1, ADMIN_USER_ID, 'test_sequence_type_2', {})
|
||||
cr0.close()
|
||||
cr1.close()
|
||||
|
||||
class test_ir_sequence_change_implementation(unittest2.TestCase):
|
||||
""" Create sequence objects and change their ``implementation`` field. """
|
||||
|
||||
def test_ir_sequence_1_create(self):
|
||||
""" Try to create a sequence object. """
|
||||
cr = cursor()
|
||||
d = dict(code='test_sequence_type_3', name='Test sequence type')
|
||||
c = registry('ir.sequence.type').create(cr, ADMIN_USER_ID, d, {})
|
||||
assert c
|
||||
d = dict(code='test_sequence_type_3', name='Test sequence')
|
||||
c = registry('ir.sequence').create(cr, ADMIN_USER_ID, d, {})
|
||||
assert c
|
||||
d = dict(code='test_sequence_type_4', name='Test sequence type')
|
||||
c = registry('ir.sequence.type').create(cr, ADMIN_USER_ID, d, {})
|
||||
assert c
|
||||
d = dict(code='test_sequence_type_4', name='Test sequence',
|
||||
implementation='no_gap')
|
||||
c = registry('ir.sequence').create(cr, ADMIN_USER_ID, d, {})
|
||||
assert c
|
||||
cr.commit()
|
||||
cr.close()
|
||||
|
||||
def test_ir_sequence_2_write(self):
|
||||
cr = cursor()
|
||||
ids = registry('ir.sequence').search(cr, ADMIN_USER_ID,
|
||||
[('code', 'in', ['test_sequence_type_3', 'test_sequence_type_4'])], {})
|
||||
registry('ir.sequence').write(cr, ADMIN_USER_ID, ids,
|
||||
{'implementation': 'standard'}, {})
|
||||
registry('ir.sequence').write(cr, ADMIN_USER_ID, ids,
|
||||
{'implementation': 'no_gap'}, {})
|
||||
cr.commit()
|
||||
cr.close()
|
||||
|
||||
def test_ir_sequence_3_unlink(self):
|
||||
cr = cursor()
|
||||
ids = registry('ir.sequence').search(cr, ADMIN_USER_ID,
|
||||
[('code', 'in', ['test_sequence_type_3', 'test_sequence_type_4'])], {})
|
||||
registry('ir.sequence').unlink(cr, ADMIN_USER_ID, ids, {})
|
||||
cr.commit()
|
||||
cr.close()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
Reference in New Issue
Block a user