Skip to content

Commit fb2c1b3

Browse files
committed
Addressing feedback
1 parent 160f983 commit fb2c1b3

File tree

8 files changed

+41
-37
lines changed

8 files changed

+41
-37
lines changed

firebase_admin/multi_factor_config_mgt.py

Lines changed: 5 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,7 @@ 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 constructor: {0}'.format(data))
8888
self._data = data
8989

9090
@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: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@
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, MultiFactorServerConfig
3232

3333

3434
_TENANT_MGT_ATTRIBUTE = '_tenant_mgt'
@@ -93,7 +93,7 @@ def get_tenant(tenant_id, app=None):
9393

9494
def create_tenant(
9595
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):
96+
multi_factor_config: MultiFactorConfig = None, app=None):
9797
"""Creates a new tenant from the given options.
9898
9999
Args:
@@ -122,7 +122,7 @@ def create_tenant(
122122

123123
def update_tenant(
124124
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):
125+
multi_factor_config: MultiFactorConfig = None, app=None):
126126
"""Updates an existing tenant with the given options.
127127
128128
Args:
@@ -238,7 +238,7 @@ def enable_email_link_sign_in(self):
238238
def multi_factor_config(self):
239239
data = self._data.get('mfaConfig', None)
240240
if data is not None:
241-
return multi_factor_config_mgt.MultiFactorServerConfig(data)
241+
return MultiFactorServerConfig(data)
242242
return None
243243

244244

@@ -286,7 +286,7 @@ def get_tenant(self, tenant_id):
286286

287287
def create_tenant(
288288
self, display_name, allow_password_sign_up=None, enable_email_link_sign_in=None,
289-
multi_factor_config: multi_factor_config_mgt.MultiFactorConfig = None):
289+
multi_factor_config: MultiFactorConfig = None):
290290
"""Creates a new tenant from the given parameters."""
291291

292292
payload = {'displayName': _validate_display_name(display_name)}
@@ -297,7 +297,7 @@ def create_tenant(
297297
payload['enableEmailLinkSignin'] = _auth_utils.validate_boolean(
298298
enable_email_link_sign_in, 'enableEmailLinkSignin')
299299
if multi_factor_config is not None:
300-
if not isinstance(multi_factor_config, multi_factor_config_mgt.MultiFactorConfig):
300+
if not isinstance(multi_factor_config, MultiFactorConfig):
301301
raise ValueError(
302302
'multi_factor_config must be of type MultiFactorConfig.')
303303
payload['mfaConfig'] = multi_factor_config.build_server_request()
@@ -311,7 +311,7 @@ def create_tenant(
311311
def update_tenant(
312312
self, tenant_id, display_name=None, allow_password_sign_up=None,
313313
enable_email_link_sign_in=None,
314-
multi_factor_config: multi_factor_config_mgt.MultiFactorConfig = None):
314+
multi_factor_config: MultiFactorConfig = None):
315315
"""Updates the specified tenant with the given parameters."""
316316
if not isinstance(tenant_id, str) or not tenant_id:
317317
raise ValueError('Tenant ID must be a non-empty string.')
@@ -326,7 +326,7 @@ def update_tenant(
326326
payload['enableEmailLinkSignin'] = _auth_utils.validate_boolean(
327327
enable_email_link_sign_in, 'enableEmailLinkSignin')
328328
if multi_factor_config is not None:
329-
if not isinstance(multi_factor_config, multi_factor_config_mgt.MultiFactorConfig):
329+
if not isinstance(multi_factor_config, MultiFactorConfig):
330330
raise ValueError('multi_factor_config must be of type MultiFactorConfig.')
331331
payload['mfaConfig'] = multi_factor_config.build_server_request()
332332

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: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -141,14 +141,14 @@ def test_invalid_multi_factor_config_response(self):
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)
144+
multi_factor_config_mgt.MultiFactorServerConfig.ProviderServerConfig(test_config)
145145
assert str(excinfo.value).startswith('Invalid data argument in ProviderConfig'
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)
153153
assert str(excinfo.value).startswith('Invalid data argument in TOTPProviderConfig'
154154
' constructor: {0}'.format(test_config))
@@ -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)