2525import os
2626
2727import pytest
28+ import requests
2829
2930import webexteamssdk
30- from tests .environment import WEBEX_TEAMS_ACCESS_TOKEN
3131from webexteamssdk .api .access_tokens import AccessTokensAPI
3232from webexteamssdk .api .attachment_actions import AttachmentActionsAPI
3333from webexteamssdk .api .events import EventsAPI
4747)
4848
4949
50+ # Constants
51+ WEBEX_TOKEN_KEEPER_URL = os .environ .get ("WEBEX_TOKEN_KEEPER_URL" , "" )
52+
53+
5054# Fixtures
5155
5256@pytest .fixture (scope = "session" )
5357def access_token ():
54- return WEBEX_TEAMS_ACCESS_TOKEN
58+ if WEBEX_TOKEN_KEEPER_URL :
59+ response = requests .get (WEBEX_TOKEN_KEEPER_URL )
60+ response .raise_for_status ()
61+ access_token = response .json ().get ("access_token" )
62+ else :
63+ access_token = os .environ .get (ACCESS_TOKEN_ENVIRONMENT_VARIABLE , "" )
64+
65+ os .environ [ACCESS_TOKEN_ENVIRONMENT_VARIABLE ] = access_token
66+
67+ return access_token
5568
5669
5770@pytest .fixture
@@ -62,8 +75,8 @@ def unset_access_token(access_token):
6275
6376
6477@pytest .fixture (scope = "session" )
65- def api ():
66- return webexteamssdk .WebexTeamsAPI ()
78+ def api (access_token ):
79+ return webexteamssdk .WebexTeamsAPI (access_token = access_token )
6780
6881
6982# Tests
@@ -89,23 +102,27 @@ def test_create_with_access_token_argument(access_token):
89102 assert isinstance (connection_object , webexteamssdk .WebexTeamsAPI )
90103
91104
105+ @pytest .mark .usefixtures ("access_token" )
92106def test_default_base_url ():
93107 connection_object = webexteamssdk .WebexTeamsAPI ()
94108 assert connection_object .base_url == DEFAULT_BASE_URL
95109
96110
111+ @pytest .mark .usefixtures ("access_token" )
97112def test_custom_base_url ():
98113 custom_url = "https://custom.domain.com/v1/"
99114 connection_object = webexteamssdk .WebexTeamsAPI (base_url = custom_url )
100115 assert connection_object .base_url == custom_url
101116
102117
118+ @pytest .mark .usefixtures ("access_token" )
103119def test_default_single_request_timeout ():
104120 connection_object = webexteamssdk .WebexTeamsAPI ()
105121 assert connection_object .single_request_timeout == \
106122 DEFAULT_SINGLE_REQUEST_TIMEOUT
107123
108124
125+ @pytest .mark .usefixtures ("access_token" )
109126def test_custom_single_request_timeout ():
110127 custom_timeout = 10
111128 connection_object = webexteamssdk .WebexTeamsAPI (
@@ -114,12 +131,14 @@ def test_custom_single_request_timeout():
114131 assert connection_object .single_request_timeout == custom_timeout
115132
116133
134+ @pytest .mark .usefixtures ("access_token" )
117135def test_default_wait_on_rate_limit ():
118136 connection_object = webexteamssdk .WebexTeamsAPI ()
119137 assert connection_object .wait_on_rate_limit == \
120138 DEFAULT_WAIT_ON_RATE_LIMIT
121139
122140
141+ @pytest .mark .usefixtures ("access_token" )
123142def test_non_default_wait_on_rate_limit ():
124143 connection_object = webexteamssdk .WebexTeamsAPI (
125144 wait_on_rate_limit = not DEFAULT_WAIT_ON_RATE_LIMIT
@@ -129,7 +148,6 @@ def test_non_default_wait_on_rate_limit():
129148
130149
131150# Test creation of component API objects
132-
133151def test_access_tokens_api_object_creation (api ):
134152 assert isinstance (api .access_tokens , AccessTokensAPI )
135153
0 commit comments