1515using System ;
1616using System . Threading ;
1717using System . Threading . Tasks ;
18+ using FirebaseAdmin . Tests ;
1819using Google . Apis . Auth . OAuth2 ;
1920using Google . Apis . Http ;
2021using Xunit ;
@@ -55,14 +56,25 @@ public void GetMessaging()
5556 }
5657
5758 [ Fact ]
58- public void GetMessagingWithClientFactory ( )
59+ public async Task GetMessagingWithClientFactory ( )
5960 {
60- var app = FirebaseApp . Create ( new AppOptions ( ) { Credential = MockCredential , HttpClientFactory = new HttpClientFactory ( ) } , "MyApp" ) ;
61+ var handler = new MockMessageHandler ( )
62+ {
63+ Response = new FirebaseMessagingClient . SendResponse ( )
64+ {
65+ Name = "test-response" ,
66+ } ,
67+ } ;
68+ var factory = new MockHttpClientFactory ( handler ) ;
69+
70+ var app = FirebaseApp . Create ( new AppOptions ( ) { Credential = GoogleCredential . FromAccessToken ( "test-token" ) , HttpClientFactory = factory , ProjectId = "test-project" } ) ;
6171 FirebaseMessaging messaging = FirebaseMessaging . GetMessaging ( app ) ;
6272 Assert . NotNull ( messaging ) ;
6373 Assert . Same ( messaging , FirebaseMessaging . GetMessaging ( app ) ) ;
74+
75+ var response = await messaging . SendAsync ( new Message ( ) { Topic = "test-topic" } ) ;
76+ Assert . Equal ( "test-response" , response ) ;
6477 app . Delete ( ) ;
65- Assert . Throws < InvalidOperationException > ( ( ) => FirebaseMessaging . GetMessaging ( app ) ) ;
6678 }
6779
6880 [ Fact ]
@@ -78,8 +90,7 @@ await Assert.ThrowsAsync<ObjectDisposedException>(
7890 [ Fact ]
7991 public async Task SendMessageCancel ( )
8092 {
81- var cred = GoogleCredential . FromFile ( "./resources/service_account.json" ) ;
82- FirebaseApp . Create ( new AppOptions ( ) { Credential = cred } ) ;
93+ FirebaseApp . Create ( new AppOptions ( ) { Credential = MockCredential } ) ;
8394 var canceller = new CancellationTokenSource ( ) ;
8495 canceller . Cancel ( ) ;
8596 await Assert . ThrowsAsync < OperationCanceledException > (
@@ -90,8 +101,7 @@ await Assert.ThrowsAsync<OperationCanceledException>(
90101 [ Fact ]
91102 public async Task SendMessageCancelWithClientFactory ( )
92103 {
93- var cred = GoogleCredential . FromFile ( "./resources/service_account.json" ) ;
94- FirebaseApp . Create ( new AppOptions ( ) { Credential = cred , HttpClientFactory = new HttpClientFactory ( ) } ) ;
104+ FirebaseApp . Create ( new AppOptions ( ) { Credential = MockCredential , HttpClientFactory = new HttpClientFactory ( ) } ) ;
95105 var canceller = new CancellationTokenSource ( ) ;
96106 canceller . Cancel ( ) ;
97107 await Assert . ThrowsAsync < OperationCanceledException > (
0 commit comments