File tree Expand file tree Collapse file tree 3 files changed +34
-1
lines changed
Expand file tree Collapse file tree 3 files changed +34
-1
lines changed Original file line number Diff line number Diff line change @@ -62,6 +62,13 @@ You can also use configuration files to create ``gitlab.Gitlab`` objects:
6262
6363 gl = gitlab.Gitlab.from_config(' somewhere' , [' /tmp/gl.cfg' ])
6464
65+ With custom session
66+
67+ .. code-block :: python
68+
69+ gl = gitlab.Gitlab.from_config(' somewhere' , [' /tmp/gl.cfg' ], session = custom_session)
70+
71+
6572 See the :ref: `cli_configuration ` section for more information about
6673configuration files.
6774
Original file line number Diff line number Diff line change @@ -232,14 +232,20 @@ def api_version(self) -> str:
232232
233233 @classmethod
234234 def from_config (
235- cls , gitlab_id : Optional [str ] = None , config_files : Optional [List [str ]] = None
235+ cls ,
236+ gitlab_id : Optional [str ] = None ,
237+ config_files : Optional [List [str ]] = None ,
238+ ** kwargs : Any ,
236239 ) -> "Gitlab" :
237240 """Create a Gitlab connection from configuration files.
238241
239242 Args:
240243 gitlab_id: ID of the configuration section.
241244 config_files list[str]: List of paths to configuration files.
242245
246+ kwargs:
247+ session requests.Session: Custom requests Session
248+
243249 Returns:
244250 A Gitlab connection.
245251
@@ -264,6 +270,7 @@ def from_config(
264270 order_by = config .order_by ,
265271 user_agent = config .user_agent ,
266272 retry_transient_errors = config .retry_transient_errors ,
273+ ** kwargs ,
267274 )
268275
269276 @classmethod
Original file line number Diff line number Diff line change 11import pytest
2+ import requests
23
34import gitlab
45
@@ -23,6 +24,24 @@ def test_auth_from_config(gl, temp_dir):
2324 assert isinstance (test_gitlab .user , gitlab .v4 .objects .CurrentUser )
2425
2526
27+ def test_no_custom_session (gl , temp_dir ):
28+ """Test no custom session"""
29+ custom_session = requests .Session ()
30+ test_gitlab = gitlab .Gitlab .from_config (
31+ config_files = [temp_dir / "python-gitlab.cfg" ]
32+ )
33+ assert test_gitlab .session != custom_session
34+
35+
36+ def test_custom_session (gl , temp_dir ):
37+ """Test custom session"""
38+ custom_session = requests .Session ()
39+ test_gitlab = gitlab .Gitlab .from_config (
40+ config_files = [temp_dir / "python-gitlab.cfg" ], session = custom_session
41+ )
42+ assert test_gitlab .session == custom_session
43+
44+
2645def test_broadcast_messages (gl , get_all_kwargs ):
2746 msg = gl .broadcastmessages .create ({"message" : "this is the message" })
2847 msg .color = "#444444"
You can’t perform that action at this time.
0 commit comments