@@ -750,6 +750,44 @@ def test_aps_alert(self):
750
750
check_encoding (msg , expected )
751
751
752
752
753
+ class TestTimeout (object ):
754
+
755
+ @classmethod
756
+ def setup_class (cls ):
757
+ cred = testutils .MockCredential ()
758
+ firebase_admin .initialize_app (cred , {'httpTimeout' : 4 , 'projectId' : 'explicit-project-id' })
759
+
760
+ @classmethod
761
+ def teardown_class (cls ):
762
+ testutils .cleanup_apps ()
763
+
764
+ def setup (self ):
765
+ app = firebase_admin .get_app ()
766
+ self .fcm_service = messaging ._get_messaging_service (app )
767
+ self .recorder = []
768
+
769
+ def test_send (self ):
770
+ self .fcm_service ._client .session .mount (
771
+ 'https://fcm.googleapis.com' ,
772
+ testutils .MockAdapter (json .dumps ({'name' : 'message-id' }), 200 , self .recorder ))
773
+ msg = messaging .Message (topic = 'foo' )
774
+ messaging .send (msg )
775
+ assert len (self .recorder ) == 1
776
+ assert self .recorder [0 ]._extra_kwargs ['timeout' ] == 4
777
+
778
+ def test_topic_management_timeout (self ):
779
+ self .fcm_service ._client .session .mount (
780
+ 'https://iid.googleapis.com' ,
781
+ testutils .MockAdapter (
782
+ json .dumps ({'results' : [{}, {'error' : 'error_reason' }]}),
783
+ 200 ,
784
+ self .recorder )
785
+ )
786
+ messaging .subscribe_to_topic (['1' ], 'a' )
787
+ assert len (self .recorder ) == 1
788
+ assert self .recorder [0 ]._extra_kwargs ['timeout' ] == 4
789
+
790
+
753
791
class TestSend (object ):
754
792
755
793
_DEFAULT_RESPONSE = json .dumps ({'name' : 'message-id' })
@@ -817,6 +855,7 @@ def test_send(self):
817
855
assert len (recorder ) == 1
818
856
assert recorder [0 ].method == 'POST'
819
857
assert recorder [0 ].url == self ._get_url ('explicit-project-id' )
858
+ assert recorder [0 ]._extra_kwargs ['timeout' ] == None
820
859
body = {'message' : messaging ._MessagingService .encode_message (msg )}
821
860
assert json .loads (recorder [0 ].body .decode ()) == body
822
861
@@ -875,7 +914,6 @@ def test_send_canonical_error_code(self, status):
875
914
body = {'message' : messaging ._MessagingService .JSON_ENCODER .default (msg )}
876
915
assert json .loads (recorder [0 ].body .decode ()) == body
877
916
878
-
879
917
class TestTopicManagement (object ):
880
918
881
919
_DEFAULT_RESPONSE = json .dumps ({'results' : [{}, {'error' : 'error_reason' }]})
0 commit comments