48 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
| # © 2016 ABF OSIELL <https://osiell.com>
 | |
| # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
 | |
| import time
 | |
| 
 | |
| from odoo.tests.common import TransactionCase
 | |
| 
 | |
| 
 | |
| class TestAuditlogAutovacuum(TransactionCase):
 | |
| 
 | |
|     def setUp(self):
 | |
|         super(TestAuditlogAutovacuum, self).setUp()
 | |
|         self.groups_model_id = self.env.ref('base.model_res_groups').id
 | |
|         self.groups_rule = self.env['auditlog.rule'].create({
 | |
|             'name': 'testrule for groups',
 | |
|             'model_id': self.groups_model_id,
 | |
|             'log_read': True,
 | |
|             'log_create': True,
 | |
|             'log_write': True,
 | |
|             'log_unlink': True,
 | |
|             'state': 'subscribed',
 | |
|             'log_type': 'full',
 | |
|         })
 | |
| 
 | |
|     def tearDown(self):
 | |
|         self.groups_rule.unlink()
 | |
|         super(TestAuditlogAutovacuum, self).tearDown()
 | |
| 
 | |
|     def test_autovacuum(self):
 | |
|         log_model = self.env['auditlog.log']
 | |
|         autovacuum_model = self.env['auditlog.autovacuum']
 | |
|         group = self.env['res.groups'].create({
 | |
|             'name': 'testgroup1',
 | |
|         })
 | |
|         nb_logs = log_model.search_count([
 | |
|             ('model_id', '=', self.groups_model_id),
 | |
|             ('res_id', '=', group.id),
 | |
|         ])
 | |
|         self.assertGreater(nb_logs, 0)
 | |
|         # Milliseconds are ignored by autovacuum, waiting 1s ensure that
 | |
|         # the logs generated will be processed by the vacuum
 | |
|         time.sleep(1)
 | |
|         autovacuum_model.autovacuum(days=0)
 | |
|         nb_logs = log_model.search_count([
 | |
|             ('model_id', '=', self.groups_model_id),
 | |
|             ('res_id', '=', group.id),
 | |
|         ])
 | |
|         self.assertEqual(nb_logs, 0)
 |