Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 8b87e10

Browse files
Addressing feedback
Importing configs directly fix warnings fix warnings fix warnings
1 parent 160f983 commit 8b87e10

File tree

8 files changed

+56
-45
lines changed

8 files changed

+56
-45
lines changed

‎firebase_admin/multi_factor_config_mgt.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,25 +44,25 @@ class MultiFactorServerConfig:
4444
def __init__(self, data):
4545
if not isinstance(data, dict):
4646
raise ValueError(
47-
'Invalid data argument in MultiFactorConfig constructor: {0}'.format(data))
47+
'Invalid data argument in MultiFactorServerConfig constructor: {0}'.format(data))
4848
self._data = data
4949

5050
@property
5151
def provider_configs(self):
5252
data = self._data.get('providerConfigs', None)
5353
if data is not None:
54-
return [self.ProviderConfigServerConfig(d) for d in data]
54+
return [self.ProviderServerConfig(d) for d in data]
5555
return None
5656

57-
class ProviderConfigServerConfig:
57+
class ProviderServerConfig:
5858
"""Represents provider configuration response received from the server and converts
5959
it to user format.
6060
"""
6161

6262
def __init__(self, data):
6363
if not isinstance(data, dict):
6464
raise ValueError(
65-
'Invalid data argument in ProviderConfig constructor: {0}'.format(data))
65+
'Invalid data argument in ProviderServerConfig constructor: {0}'.format(data))
6666
self._data = data
6767

6868
@property
@@ -84,7 +84,8 @@ class TOTPProviderServerConfig:
8484
def __init__(self, data):
8585
if not isinstance(data, dict):
8686
raise ValueError(
87-
'Invalid data argument in TOTPProviderConfig constructor: {0}'.format(data))
87+
'Invalid data argument in TOTPProviderServerConfig'
88+
' constructor: {0}'.format(data))
8889
self._data = data
8990

9091
@property

‎firebase_admin/project_config_mgt.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929

3030
__all__ = [
3131
'ProjectConfig',
32-
3332
'get_project_config',
3433
'update_project_config',
3534
]

‎firebase_admin/tenant_mgt.py

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,11 @@
2525

2626
import firebase_admin
2727
from firebase_admin import auth
28-
from firebase_admin import multi_factor_config_mgt
2928
from firebase_admin import _auth_utils
3029
from firebase_admin import _http_client
3130
from firebase_admin import _utils
31+
from firebase_admin.multi_factor_config_mgt import MultiFactorConfig
32+
from firebase_admin.multi_factor_config_mgt import MultiFactorServerConfig
3233

3334

3435
_TENANT_MGT_ATTRIBUTE = '_tenant_mgt'
@@ -93,7 +94,7 @@ def get_tenant(tenant_id, app=None):
9394

9495
def create_tenant(
9596
display_name, allow_password_sign_up=None, enable_email_link_sign_in=None,
96-
multi_factor_config: multi_factor_config_mgt.MultiFactorConfig = None, app=None):
97+
multi_factor_config: MultiFactorConfig = None, app=None):
9798
"""Creates a new tenant from the given options.
9899
99100
Args:
@@ -122,7 +123,7 @@ def create_tenant(
122123

123124
def update_tenant(
124125
tenant_id, display_name=None, allow_password_sign_up=None, enable_email_link_sign_in=None,
125-
multi_factor_config: multi_factor_config_mgt.MultiFactorConfig = None, app=None):
126+
multi_factor_config: MultiFactorConfig = None, app=None):
126127
"""Updates an existing tenant with the given options.
127128
128129
Args:
@@ -189,6 +190,7 @@ def list_tenants(page_token=None, max_results=_MAX_LIST_TENANTS_RESULTS, app=Non
189190
FirebaseError: If an error occurs while retrieving the user accounts.
190191
"""
191192
tenant_mgt_service = _get_tenant_mgt_service(app)
193+
192194
def download(page_token, max_results):
193195
return tenant_mgt_service.list_tenants(page_token, max_results)
194196
return ListTenantsPage(download, page_token, max_results)
@@ -211,7 +213,8 @@ class Tenant:
211213

212214
def __init__(self, data):
213215
if not isinstance(data, dict):
214-
raise ValueError('Invalid data argument in Tenant constructor: {0}'.format(data))
216+
raise ValueError(
217+
'Invalid data argument in Tenant constructor: {0}'.format(data))
215218
if not 'name' in data:
216219
raise ValueError('Tenant response missing required keys.')
217220

@@ -238,7 +241,7 @@ def enable_email_link_sign_in(self):
238241
def multi_factor_config(self):
239242
data = self._data.get('mfaConfig', None)
240243
if data is not None:
241-
return multi_factor_config_mgt.MultiFactorServerConfig(data)
244+
return MultiFactorServerConfig(data)
242245
return None
243246

244247

@@ -250,7 +253,8 @@ class _TenantManagementService:
250253
def __init__(self, app):
251254
credential = app.credential.get_credential()
252255
version_header = 'Python/Admin/{0}'.format(firebase_admin.__version__)
253-
base_url = '{0}/projects/{1}'.format(self.TENANT_MGT_URL, app.project_id)
256+
base_url = '{0}/projects/{1}'.format(
257+
self.TENANT_MGT_URL, app.project_id)
254258
self.app = app
255259
self.client = _http_client.JsonHttpClient(
256260
credential=credential, base_url=base_url, headers={'X-Client-Version': version_header})
@@ -269,7 +273,7 @@ def auth_for_tenant(self, tenant_id):
269273

270274
client = auth.Client(self.app, tenant_id=tenant_id)
271275
self.tenant_clients[tenant_id] = client
272-
return client
276+
return client
273277

274278
def get_tenant(self, tenant_id):
275279
"""Gets the tenant corresponding to the given ``tenant_id``."""
@@ -286,7 +290,7 @@ def get_tenant(self, tenant_id):
286290

287291
def create_tenant(
288292
self, display_name, allow_password_sign_up=None, enable_email_link_sign_in=None,
289-
multi_factor_config: multi_factor_config_mgt.MultiFactorConfig = None):
293+
multi_factor_config: MultiFactorConfig = None):
290294
"""Creates a new tenant from the given parameters."""
291295

292296
payload = {'displayName': _validate_display_name(display_name)}
@@ -297,7 +301,7 @@ def create_tenant(
297301
payload['enableEmailLinkSignin'] = _auth_utils.validate_boolean(
298302
enable_email_link_sign_in, 'enableEmailLinkSignin')
299303
if multi_factor_config is not None:
300-
if not isinstance(multi_factor_config, multi_factor_config_mgt.MultiFactorConfig):
304+
if not isinstance(multi_factor_config, MultiFactorConfig):
301305
raise ValueError(
302306
'multi_factor_config must be of type MultiFactorConfig.')
303307
payload['mfaConfig'] = multi_factor_config.build_server_request()
@@ -311,7 +315,7 @@ def create_tenant(
311315
def update_tenant(
312316
self, tenant_id, display_name=None, allow_password_sign_up=None,
313317
enable_email_link_sign_in=None,
314-
multi_factor_config: multi_factor_config_mgt.MultiFactorConfig = None):
318+
multi_factor_config: MultiFactorConfig = None):
315319
"""Updates the specified tenant with the given parameters."""
316320
if not isinstance(tenant_id, str) or not tenant_id:
317321
raise ValueError('Tenant ID must be a non-empty string.')
@@ -326,12 +330,14 @@ def update_tenant(
326330
payload['enableEmailLinkSignin'] = _auth_utils.validate_boolean(
327331
enable_email_link_sign_in, 'enableEmailLinkSignin')
328332
if multi_factor_config is not None:
329-
if not isinstance(multi_factor_config, multi_factor_config_mgt.MultiFactorConfig):
330-
raise ValueError('multi_factor_config must be of type MultiFactorConfig.')
333+
if not isinstance(multi_factor_config, MultiFactorConfig):
334+
raise ValueError(
335+
'multi_factor_config must be of type MultiFactorConfig.')
331336
payload['mfaConfig'] = multi_factor_config.build_server_request()
332337

333338
if not payload:
334-
raise ValueError('At least one parameter must be specified for update.')
339+
raise ValueError(
340+
'At least one parameter must be specified for update.')
335341

336342
url = '/tenants/{0}'.format(tenant_id)
337343
update_mask = ','.join(_auth_utils.build_update_mask(payload))

‎integration/test_project_config_mgt.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
from firebase_admin import project_config_mgt
2020
from firebase_admin import multi_factor_config_mgt
2121

22+
ADJACENT_INTERVALS = 5
2223

2324
@pytest.fixture(scope='module')
2425
def sample_mfa_config():
@@ -27,7 +28,7 @@ def sample_mfa_config():
2728
{
2829
'state': 'ENABLED',
2930
'totpProviderConfig': {
30-
'adjacentIntervals': 5
31+
'adjacentIntervals': ADJACENT_INTERVALS
3132
}
3233
}
3334
]
@@ -61,9 +62,9 @@ def _assert_multi_factor_config(multi_factor_config):
6162
assert isinstance(multi_factor_config.provider_configs, list)
6263
for provider_config in multi_factor_config.provider_configs:
6364
assert isinstance(provider_config, multi_factor_config_mgt.MultiFactorServerConfig
64-
.ProviderConfigServerConfig)
65+
.ProviderServerConfig)
6566
assert provider_config.state == 'ENABLED'
6667
assert isinstance(provider_config.totp_provider_config,
67-
multi_factor_config_mgt.MultiFactorServerConfig.ProviderConfigServerConfig
68+
multi_factor_config_mgt.MultiFactorServerConfig.ProviderServerConfig
6869
.TOTPProviderServerConfig)
69-
assert provider_config.totp_provider_config.adjacent_intervals == 5
70+
assert provider_config.totp_provider_config.adjacent_intervals == ADJACENT_INTERVALS

‎integration/test_tenant_mgt.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,10 @@ def _assert_multi_factor_config(mfa_config):
5858
assert isinstance(mfa_config.provider_configs, list)
5959
for provider_config in mfa_config.provider_configs:
6060
assert isinstance(provider_config, multi_factor_config_mgt.MultiFactorServerConfig.\
61-
ProviderConfigServerConfig)
61+
ProviderServerConfig)
6262
assert provider_config.state == 'ENABLED'
6363
assert isinstance(provider_config.totp_provider_config,
64-
multi_factor_config_mgt.MultiFactorServerConfig.ProviderConfigServerConfig
64+
multi_factor_config_mgt.MultiFactorServerConfig.ProviderServerConfig
6565
.TOTPProviderServerConfig)
6666
assert provider_config.totp_provider_config.adjacent_intervals == 5
6767

‎tests/test_multi_factor_config.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -135,22 +135,22 @@ def test_invalid_multi_factor_config_response(self):
135135
test_config = 'invalid'
136136
with pytest.raises(ValueError) as excinfo:
137137
multi_factor_config_mgt.MultiFactorServerConfig(test_config)
138-
assert str(excinfo.value).startswith('Invalid data argument in MultiFactorConfig'
138+
assert str(excinfo.value).startswith('Invalid data argument in MultiFactorServerConfig'
139139
' constructor: {0}'.format(test_config))
140140

141141
def test_invalid_provider_config_response(self):
142142
test_config = 'invalid'
143143
with pytest.raises(ValueError) as excinfo:
144-
multi_factor_config_mgt.MultiFactorServerConfig.ProviderConfigServerConfig(test_config)
145-
assert str(excinfo.value).startswith('Invalid data argument in ProviderConfig'
144+
multi_factor_config_mgt.MultiFactorServerConfig.ProviderServerConfig(test_config)
145+
assert str(excinfo.value).startswith('Invalid data argument in ProviderServerConfig'
146146
' constructor: {0}'.format(test_config))
147147

148148
def test_invalid_totp_provider_config_response(self):
149149
test_config = 'invalid'
150150
with pytest.raises(ValueError) as excinfo:
151-
multi_factor_config_mgt.MultiFactorServerConfig.ProviderConfigServerConfig.\
151+
multi_factor_config_mgt.MultiFactorServerConfig.ProviderServerConfig.\
152152
TOTPProviderServerConfig(test_config)
153-
assert str(excinfo.value).startswith('Invalid data argument in TOTPProviderConfig'
153+
assert str(excinfo.value).startswith('Invalid data argument in TOTPProviderServerConfig'
154154
' constructor: {0}'.format(test_config))
155155

156156
def test_valid_server_response(self):
@@ -173,9 +173,9 @@ def _assert_multi_factor_config(mfa_config):
173173
for provider_config in mfa_config.provider_configs:
174174
assert isinstance(
175175
provider_config,
176-
multi_factor_config_mgt.MultiFactorServerConfig.ProviderConfigServerConfig)
176+
multi_factor_config_mgt.MultiFactorServerConfig.ProviderServerConfig)
177177
assert provider_config.state == 'ENABLED'
178178
assert isinstance(provider_config.totp_provider_config,
179-
multi_factor_config_mgt.MultiFactorServerConfig.ProviderConfigServerConfig
179+
multi_factor_config_mgt.MultiFactorServerConfig.ProviderServerConfig
180180
.TOTPProviderServerConfig)
181181
assert provider_config.totp_provider_config.adjacent_intervals == 5

‎tests/test_project_config_mgt.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
from firebase_admin import multi_factor_config_mgt
2626

2727

28+
ADJACENT_INTERVALS = 5
29+
2830
GET_PROJECT_RESPONSE = """{
2931
"mfaConfig":{
3032
"providerConfigs":[
@@ -75,7 +77,7 @@ def test_project_config(self):
7577
{
7678
'state': 'ENABLED',
7779
'totpProviderConfig': {
78-
'adjacentIntervals': 5,
80+
'adjacentIntervals': ADJACENT_INTERVALS,
7981
}
8082
}
8183
]
@@ -129,7 +131,7 @@ def test_update_project_config(self, project_config_mgt_app):
129131
multi_factor_config_mgt.ProviderConfig(
130132
state=multi_factor_config_mgt.ProviderConfig.State.ENABLED,
131133
totp_provider_config=multi_factor_config_mgt.TOTPProviderConfig(
132-
adjacent_intervals=5
134+
adjacent_intervals=ADJACENT_INTERVALS
133135
)
134136
)
135137
]
@@ -146,7 +148,7 @@ def test_update_project_config(self, project_config_mgt_app):
146148
{
147149
'state': 'ENABLED',
148150
'totpProviderConfig': {
149-
'adjacentIntervals': 5,
151+
'adjacentIntervals': ADJACENT_INTERVALS,
150152
}
151153
}
152154
]
@@ -168,12 +170,12 @@ def _assert_multi_factor_config(multi_factor_config):
168170
assert isinstance(multi_factor_config.provider_configs, list)
169171
for provider_config in multi_factor_config.provider_configs:
170172
assert isinstance(provider_config, multi_factor_config_mgt.MultiFactorServerConfig
171-
.ProviderConfigServerConfig)
173+
.ProviderServerConfig)
172174
assert provider_config.state == 'ENABLED'
173175
assert isinstance(provider_config.totp_provider_config,
174-
multi_factor_config_mgt.MultiFactorServerConfig.ProviderConfigServerConfig
176+
multi_factor_config_mgt.MultiFactorServerConfig.ProviderServerConfig
175177
.TOTPProviderServerConfig)
176-
assert provider_config.totp_provider_config.adjacent_intervals == 5
178+
assert provider_config.totp_provider_config.adjacent_intervals == ADJACENT_INTERVALS
177179

178180
def _assert_project_config(project_config):
179181
if project_config.multi_factor_config is not None:

‎tests/test_tenant_mgt.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@
3131
from tests import test_token_gen
3232

3333

34+
ADJACENT_INTERVALS = 5
35+
3436
GET_TENANT_RESPONSE = """{
3537
"name": "projects/mock-project-id/tenants/tenant-id",
3638
"displayName": "Test Tenant",
@@ -260,7 +262,7 @@ def test_create_tenant(self, tenant_mgt_app):
260262
multi_factor_config_mgt.ProviderConfig(
261263
state=multi_factor_config_mgt.ProviderConfig.State.ENABLED,
262264
totp_provider_config=multi_factor_config_mgt.TOTPProviderConfig(
263-
adjacent_intervals=5
265+
adjacent_intervals=ADJACENT_INTERVALS
264266
)
265267
)
266268
]
@@ -279,7 +281,7 @@ def test_create_tenant(self, tenant_mgt_app):
279281
{
280282
'state': 'ENABLED',
281283
'totpProviderConfig': {
282-
'adjacentIntervals': 5
284+
'adjacentIntervals': ADJACENT_INTERVALS
283285
}
284286
}
285287
]
@@ -379,7 +381,7 @@ def test_update_tenant(self, tenant_mgt_app):
379381
multi_factor_config_mgt.ProviderConfig(
380382
state=multi_factor_config_mgt.ProviderConfig.State.ENABLED,
381383
totp_provider_config=multi_factor_config_mgt.TOTPProviderConfig(
382-
adjacent_intervals=5
384+
adjacent_intervals=ADJACENT_INTERVALS
383385
)
384386
)
385387
]
@@ -399,7 +401,7 @@ def test_update_tenant(self, tenant_mgt_app):
399401
{
400402
'state': 'ENABLED',
401403
'totpProviderConfig': {
402-
'adjacentIntervals': 5
404+
'adjacentIntervals': ADJACENT_INTERVALS
403405
}
404406
}
405407
]
@@ -1068,12 +1070,12 @@ def _assert_multi_factor_config(mfa_config):
10681070
assert isinstance(mfa_config.provider_configs, list)
10691071
for provider_config in mfa_config.provider_configs:
10701072
assert isinstance(provider_config, multi_factor_config_mgt.MultiFactorServerConfig.\
1071-
ProviderConfigServerConfig)
1073+
ProviderServerConfig)
10721074
assert provider_config.state == 'ENABLED'
10731075
assert isinstance(provider_config.totp_provider_config,
1074-
multi_factor_config_mgt.MultiFactorServerConfig.ProviderConfigServerConfig
1076+
multi_factor_config_mgt.MultiFactorServerConfig.ProviderServerConfig
10751077
.TOTPProviderServerConfig)
1076-
assert provider_config.totp_provider_config.adjacent_intervals == 5
1078+
assert provider_config.totp_provider_config.adjacent_intervals == ADJACENT_INTERVALS
10771079

10781080
def _assert_tenant(tenant, tenant_id='tenant-id'):
10791081
assert isinstance(tenant, tenant_mgt.Tenant)

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /