14
14
15
15
"""Tests for firebase_admin.db."""
16
16
import collections
17
- import datetime
18
17
import json
19
18
import sys
20
19
@@ -47,12 +46,14 @@ def send(self, request, **kwargs):
47
46
48
47
49
48
class MockCredential (credentials .Base ):
50
- def get_access_token (self ):
51
- expiry = datetime .datetime .utcnow () + datetime .timedelta (hours = 24 )
52
- return credentials .AccessTokenInfo ('mock-token' , expiry )
49
+ """A mock Firebase credential implementation."""
50
+
51
+ def __init__ (self ):
52
+ self ._g_credential = testutils .MockGoogleCredential ()
53
53
54
54
def get_credential (self ):
55
- return None
55
+ return self ._g_credential
56
+
56
57
57
58
class _Object (object ):
58
59
pass
@@ -402,15 +403,15 @@ def test_no_app(self):
402
403
db .reference ()
403
404
404
405
def test_no_db_url (self ):
405
- firebase_admin .initialize_app (credentials . Base ())
406
+ firebase_admin .initialize_app (MockCredential ())
406
407
with pytest .raises (ValueError ):
407
408
db .reference ()
408
409
409
410
@pytest .mark .parametrize ('url' , [
410
411
'https://test.firebaseio.com' , 'https://test.firebaseio.com/'
411
412
])
412
413
def test_valid_db_url (self , url ):
413
- firebase_admin .initialize_app (credentials . Base (), {'databaseURL' : url })
414
+ firebase_admin .initialize_app (MockCredential (), {'databaseURL' : url })
414
415
ref = db .reference ()
415
416
assert ref ._client ._url == 'https://test.firebaseio.com'
416
417
assert ref ._client ._auth_override is None
@@ -420,13 +421,13 @@ def test_valid_db_url(self, url):
420
421
True , False , 1 , 0 , dict (), list (), tuple (), _Object ()
421
422
])
422
423
def test_invalid_db_url (self , url ):
423
- firebase_admin .initialize_app (credentials . Base (), {'databaseURL' : url })
424
+ firebase_admin .initialize_app (MockCredential (), {'databaseURL' : url })
424
425
with pytest .raises (ValueError ):
425
426
db .reference ()
426
427
427
428
@pytest .mark .parametrize ('override' , [{}, {'uid' :'user1' }, None ])
428
429
def test_valid_auth_override (self , override ):
429
- firebase_admin .initialize_app (credentials . Base (), {
430
+ firebase_admin .initialize_app (MockCredential (), {
430
431
'databaseURL' : 'https://test.firebaseio.com' ,
431
432
'databaseAuthVariableOverride' : override
432
433
})
@@ -441,7 +442,7 @@ def test_valid_auth_override(self, override):
441
442
@pytest .mark .parametrize ('override' , [
442
443
'' , 'foo' , 0 , 1 , True , False , list (), tuple (), _Object ()])
443
444
def test_invalid_auth_override (self , override ):
444
- firebase_admin .initialize_app (credentials . Base (), {
445
+ firebase_admin .initialize_app (MockCredential (), {
445
446
'databaseURL' : 'https://test.firebaseio.com' ,
446
447
'databaseAuthVariableOverride' : override
447
448
})
@@ -450,12 +451,10 @@ def test_invalid_auth_override(self, override):
450
451
451
452
def test_app_delete (self ):
452
453
app = firebase_admin .initialize_app (
453
- credentials . Base (), {'databaseURL' : 'https://test.firebaseio.com' })
454
+ MockCredential (), {'databaseURL' : 'https://test.firebaseio.com' })
454
455
ref = db .reference ()
455
456
assert ref is not None
456
- assert ref ._client ._auth is not None
457
457
firebase_admin .delete_app (app )
458
- assert ref ._client ._auth is None
459
458
with pytest .raises (ValueError ):
460
459
db .reference ()
461
460
0 commit comments