1414
1515"""Tests for firebase_admin.db."""
1616import collections
17- import datetime
1817import json
1918import sys
2019
@@ -47,12 +46,14 @@ def send(self, request, **kwargs):
4746
4847
4948class 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 ()
5353
5454 def get_credential (self ):
55- return None
55+ return self ._g_credential
56+
5657
5758class _Object (object ):
5859 pass
@@ -402,15 +403,15 @@ def test_no_app(self):
402403 db .reference ()
403404
404405 def test_no_db_url (self ):
405- firebase_admin .initialize_app (credentials . Base ())
406+ firebase_admin .initialize_app (MockCredential ())
406407 with pytest .raises (ValueError ):
407408 db .reference ()
408409
409410 @pytest .mark .parametrize ('url' , [
410411 'https://test.firebaseio.com' , 'https://test.firebaseio.com/'
411412 ])
412413 def test_valid_db_url (self , url ):
413- firebase_admin .initialize_app (credentials . Base (), {'databaseURL' : url })
414+ firebase_admin .initialize_app (MockCredential (), {'databaseURL' : url })
414415 ref = db .reference ()
415416 assert ref ._client ._url == 'https://test.firebaseio.com'
416417 assert ref ._client ._auth_override is None
@@ -420,13 +421,13 @@ def test_valid_db_url(self, url):
420421 True , False , 1 , 0 , dict (), list (), tuple (), _Object ()
421422 ])
422423 def test_invalid_db_url (self , url ):
423- firebase_admin .initialize_app (credentials . Base (), {'databaseURL' : url })
424+ firebase_admin .initialize_app (MockCredential (), {'databaseURL' : url })
424425 with pytest .raises (ValueError ):
425426 db .reference ()
426427
427428 @pytest .mark .parametrize ('override' , [{}, {'uid' :'user1' }, None ])
428429 def test_valid_auth_override (self , override ):
429- firebase_admin .initialize_app (credentials . Base (), {
430+ firebase_admin .initialize_app (MockCredential (), {
430431 'databaseURL' : 'https://test.firebaseio.com' ,
431432 'databaseAuthVariableOverride' : override
432433 })
@@ -441,7 +442,7 @@ def test_valid_auth_override(self, override):
441442 @pytest .mark .parametrize ('override' , [
442443 '' , 'foo' , 0 , 1 , True , False , list (), tuple (), _Object ()])
443444 def test_invalid_auth_override (self , override ):
444- firebase_admin .initialize_app (credentials . Base (), {
445+ firebase_admin .initialize_app (MockCredential (), {
445446 'databaseURL' : 'https://test.firebaseio.com' ,
446447 'databaseAuthVariableOverride' : override
447448 })
@@ -450,12 +451,10 @@ def test_invalid_auth_override(self, override):
450451
451452 def test_app_delete (self ):
452453 app = firebase_admin .initialize_app (
453- credentials . Base (), {'databaseURL' : 'https://test.firebaseio.com' })
454+ MockCredential (), {'databaseURL' : 'https://test.firebaseio.com' })
454455 ref = db .reference ()
455456 assert ref is not None
456- assert ref ._client ._auth is not None
457457 firebase_admin .delete_app (app )
458- assert ref ._client ._auth is None
459458 with pytest .raises (ValueError ):
460459 db .reference ()
461460
0 commit comments