diff options
Diffstat (limited to 'auditlog/tests/test_autovacuum.py')
| -rw-r--r-- | auditlog/tests/test_autovacuum.py | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/auditlog/tests/test_autovacuum.py b/auditlog/tests/test_autovacuum.py new file mode 100644 index 0000000..2b4de24 --- /dev/null +++ b/auditlog/tests/test_autovacuum.py @@ -0,0 +1,44 @@ +# Copyright 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) |
