15
15
using System ;
16
16
using System . Threading ;
17
17
using System . Threading . Tasks ;
18
+ using FirebaseAdmin . Tests ;
18
19
using Google . Apis . Auth . OAuth2 ;
19
20
using Google . Apis . Http ;
20
21
using Xunit ;
@@ -55,14 +56,25 @@ public void GetMessaging()
55
56
}
56
57
57
58
[ Fact ]
58
- public void GetMessagingWithClientFactory ( )
59
+ public async Task GetMessagingWithClientFactory ( )
59
60
{
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" } ) ;
61
71
FirebaseMessaging messaging = FirebaseMessaging . GetMessaging ( app ) ;
62
72
Assert . NotNull ( messaging ) ;
63
73
Assert . Same ( messaging , FirebaseMessaging . GetMessaging ( app ) ) ;
74
+
75
+ var response = await messaging . SendAsync ( new Message ( ) { Topic = "test-topic" } ) ;
76
+ Assert . Equal ( "test-response" , response ) ;
64
77
app . Delete ( ) ;
65
- Assert . Throws < InvalidOperationException > ( ( ) => FirebaseMessaging . GetMessaging ( app ) ) ;
66
78
}
67
79
68
80
[ Fact ]
@@ -78,8 +90,7 @@ await Assert.ThrowsAsync<ObjectDisposedException>(
78
90
[ Fact ]
79
91
public async Task SendMessageCancel ( )
80
92
{
81
- var cred = GoogleCredential . FromFile ( "./resources/service_account.json" ) ;
82
- FirebaseApp . Create ( new AppOptions ( ) { Credential = cred } ) ;
93
+ FirebaseApp . Create ( new AppOptions ( ) { Credential = MockCredential } ) ;
83
94
var canceller = new CancellationTokenSource ( ) ;
84
95
canceller . Cancel ( ) ;
85
96
await Assert . ThrowsAsync < OperationCanceledException > (
@@ -90,8 +101,7 @@ await Assert.ThrowsAsync<OperationCanceledException>(
90
101
[ Fact ]
91
102
public async Task SendMessageCancelWithClientFactory ( )
92
103
{
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 ( ) } ) ;
95
105
var canceller = new CancellationTokenSource ( ) ;
96
106
canceller . Cancel ( ) ;
97
107
await Assert . ThrowsAsync < OperationCanceledException > (
0 commit comments