11# Copyright 2026 Camptocamp SA
22# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
3- import contextlib
43
54from odoo import Command
6- from odoo .tools import DotDict
75
8- from odoo .addons .base .tests .common import TransactionCaseWithUserDemo
9- from odoo .addons .http_routing .tests .common import MockRequest
6+ from odoo .addons .endpoint .tests .common import CommonEndpoint
107
118
12- def _setup_demo_api_keys (env , demo_user ):
13- """Create demo API keys for tests."""
9+ def _setup_test_api_keys (env , user ):
10+ """Create API keys for tests."""
1411 api_key_model = env ["auth.api.key" ]
1512
1613 api_key_1 = api_key_model .create (
1714 {
18- "name" : "Endpoint API key demo " ,
19- "key" : "cZ6dF2UQwNcm " ,
20- "user_id" : demo_user .id ,
15+ "name" : "Endpoint API key test " ,
16+ "key" : "tcZ6dF2UQwNcm " ,
17+ "user_id" : user .id ,
2118 }
2219 )
2320 api_key_2 = api_key_model .create (
2421 {
25- "name" : "Endpoint API key demo 2" ,
26- "key" : "kV47QyOTC5mS " ,
27- "user_id" : demo_user .id ,
22+ "name" : "Endpoint API key test 2" ,
23+ "key" : "tV47QyOTC5mS " ,
24+ "user_id" : user .id ,
2825 }
2926 )
3027 return api_key_1 , api_key_2
3128
3229
33- def _setup_demo_api_key_group (env , api_key_1 ):
34- """Create demo API key group for tests."""
30+ def _setup_test_api_key_group (env , api_key_1 ):
31+ """Create API key group for tests."""
3532 return env ["auth.api.key.group" ].create (
3633 {
37- "name" : "Demo Group 1" ,
38- "code" : "demo_group1 " ,
34+ "name" : "Test Group 1" ,
35+ "code" : "test_group1 " ,
3936 "auth_api_key_ids" : [Command .set (api_key_1 .ids )],
4037 }
4138 )
4239
4340
44- def _setup_demo_endpoint (env , api_key_group ):
45- """Create demo endpoint for tests."""
41+ def _setup_test_endpoint (env , api_key_group ):
42+ """Create endpoint for tests."""
4643 return env ["endpoint.endpoint" ].create (
4744 {
48- "name" : "Demo Endpoint - auth api key" ,
49- "route" : "/demo /api/key" ,
45+ "name" : "Test Endpoint - auth api key" ,
46+ "route" : "/test /api/key" ,
5047 "request_method" : "GET" ,
5148 "auth_type" : "api_key" ,
5249 "auth_api_key_group_ids" : [Command .set (api_key_group .ids )],
@@ -56,52 +53,18 @@ def _setup_demo_endpoint(env, api_key_group):
5653 )
5754
5855
59- class CommonEndpointAuthAPIKey (TransactionCaseWithUserDemo ):
60- @classmethod
61- def setUpClass (cls ):
62- super ().setUpClass ()
63- cls ._setup_env ()
64- cls ._setup_records ()
65-
66- @classmethod
67- def _setup_env (cls ):
68- cls .env = cls .env (context = cls ._setup_context ())
69-
70- @classmethod
71- def _setup_context (cls ):
72- return dict (
73- cls .env .context ,
74- tracking_disable = True ,
75- )
76-
56+ class CommonEndpointAuthAPIKey (CommonEndpoint ):
7757 @classmethod
7858 def _setup_records (cls ):
79- cls .api_key , cls .api_key2 = _setup_demo_api_keys (
59+ cls .api_key , cls .api_key2 = _setup_test_api_keys (
8060 cls .env ,
81- cls .user_demo ,
61+ cls .env . user ,
8262 )
83- cls .key_group = _setup_demo_api_key_group (
63+ cls .key_group = _setup_test_api_key_group (
8464 cls .env ,
8565 cls .api_key ,
8666 )
87- cls .endpoint = _setup_demo_endpoint (
67+ cls .endpoint = _setup_test_endpoint (
8868 cls .env ,
8969 cls .key_group ,
9070 )
91-
92- @contextlib .contextmanager
93- def _get_mocked_request (
94- self , httprequest = None , extra_headers = None , request_attrs = None
95- ):
96- with MockRequest (self .env ) as mocked_request :
97- mocked_request .httprequest = (
98- DotDict (httprequest ) if httprequest else mocked_request .httprequest
99- )
100- headers = {}
101- headers .update (extra_headers or {})
102- mocked_request .httprequest .headers = headers
103- request_attrs = request_attrs or {}
104- for k , v in request_attrs .items ():
105- setattr (mocked_request , k , v )
106- mocked_request .make_response = lambda data , ** kw : data
107- yield mocked_request
0 commit comments