oca-technical/odoo-bringout-oca-rest-framework-base_rest_demo/base_rest_demo/tests/common.py
2025-08-29 15:43:03 +02:00

45 lines
1.6 KiB
Python

# Copyright 2018 ACSONE SA/NV
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
import json
import os
from odoo.addons.base_rest.controllers.main import _PseudoCollection
from odoo.addons.base_rest.tests.common import BaseRestCase
from odoo.addons.component.core import WorkContext
from odoo.addons.extendable.tests.common import ExtendableMixin
DATA_DIR = os.path.join(os.path.realpath(os.path.dirname(__file__)), "data")
class CommonCase(BaseRestCase, ExtendableMixin):
@classmethod
def setUpClass(cls):
super().setUpClass()
collection = _PseudoCollection("base.rest.demo.private.services", cls.env)
cls.private_services_env = WorkContext(
model_name="rest.service.registration", collection=collection
)
collection = _PseudoCollection("base.rest.demo.public.services", cls.env)
cls.public_services_env = WorkContext(
model_name="rest.service.registration", collection=collection
)
collection = _PseudoCollection("base.rest.demo.new_api.services", cls.env)
cls.new_api_services_env = WorkContext(
model_name="rest.service.registration", collection=collection
)
cls.init_extendable_registry()
cls.addClassCleanup(cls.reset_extendable_registry)
# pylint: disable=W8106
def setUp(self):
# resolve an inheritance issue (common.TransactionCase does not call
# super)
BaseRestCase.setUp(self)
def get_canonical_json(file_name):
path = os.path.join(DATA_DIR, file_name)
with open(path, "r") as f:
return json.load(f)