mirror of
https://github.com/bringout/oca-storage.git
synced 2026-04-18 09:31:59 +02:00
Initial commit: OCA Storage packages (17 packages)
This commit is contained in:
commit
7a380f05d3
659 changed files with 41828 additions and 0 deletions
|
|
@ -0,0 +1,74 @@
|
|||
# Copyright 2023 ACSONE SA/NV (http://acsone.eu).
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
import os
|
||||
import shutil
|
||||
import tempfile
|
||||
|
||||
from odoo.tests.common import TransactionCase
|
||||
|
||||
|
||||
class TestFSAttachmentCommon(TransactionCase):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
cls.env = cls.env(context=dict(cls.env.context, tracking_disable=True))
|
||||
temp_dir = tempfile.mkdtemp()
|
||||
cls.temp_backend = cls.env["fs.storage"].create(
|
||||
{
|
||||
"name": "Temp FS Storage",
|
||||
"protocol": "file",
|
||||
"code": "tmp_dir",
|
||||
"directory_path": temp_dir,
|
||||
}
|
||||
)
|
||||
cls.backend_optimized = cls.env["fs.storage"].create(
|
||||
{
|
||||
"name": "Temp Optimized FS Storage",
|
||||
"protocol": "file",
|
||||
"code": "tmp_opt",
|
||||
"directory_path": temp_dir,
|
||||
"optimizes_directory_path": True,
|
||||
}
|
||||
)
|
||||
cls.temp_dir = temp_dir
|
||||
cls.gc_file_model = cls.env["fs.file.gc"]
|
||||
cls.ir_attachment_model = cls.env["ir.attachment"]
|
||||
|
||||
@cls.addClassCleanup
|
||||
def cleanup_tempdir():
|
||||
shutil.rmtree(temp_dir)
|
||||
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
# enforce temp_backend field since it seems that they are reset on
|
||||
# savepoint rollback when managed by server_environment -> TO Be investigated
|
||||
self.temp_backend.write(
|
||||
{
|
||||
"protocol": "file",
|
||||
"code": "tmp_dir",
|
||||
"directory_path": self.temp_dir,
|
||||
}
|
||||
)
|
||||
self.backend_optimized.write(
|
||||
{
|
||||
"protocol": "file",
|
||||
"code": "tmp_opt",
|
||||
"directory_path": self.temp_dir,
|
||||
"optimizes_directory_path": True,
|
||||
}
|
||||
)
|
||||
|
||||
def tearDown(self) -> None:
|
||||
super().tearDown()
|
||||
# empty the temp dir
|
||||
for f in os.listdir(self.temp_dir):
|
||||
full_path = os.path.join(self.temp_dir, f)
|
||||
if os.path.isfile(full_path):
|
||||
os.remove(full_path)
|
||||
else: # using optimizes_directory_path, we'll have a directory
|
||||
shutil.rmtree(full_path)
|
||||
|
||||
|
||||
class MyException(Exception):
|
||||
"""Exception to be raised into tests ensure that we trap only this
|
||||
exception and not other exceptions raised by the test"""
|
||||
Loading…
Add table
Add a link
Reference in a new issue