Skip to content

Commit b22734a

Browse files
author
Leo
committed
HTTP status code tests
1 parent c69b430 commit b22734a

File tree

1 file changed

+81
-0
lines changed

1 file changed

+81
-0
lines changed

FirebaseAdmin/FirebaseAdmin.Tests/Messaging/InstanceIdClientTest.cs

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System;
22
using System.Collections.Generic;
3+
using System.Net;
34
using System.Threading.Tasks;
45
using FirebaseAdmin.Messaging;
56
using Google.Apis.Auth.OAuth2;
@@ -60,5 +61,85 @@ public async Task UnsubscribeFromTopicAsync()
6061

6162
Assert.Equal(1, result.SuccessCount);
6263
}
64+
65+
[Fact]
66+
public async Task BadRequest()
67+
{
68+
var handler = new MockMessageHandler()
69+
{
70+
StatusCode = HttpStatusCode.BadRequest,
71+
Response = "BadRequest",
72+
};
73+
var factory = new MockHttpClientFactory(handler);
74+
75+
var client = new InstanceIdClient(factory, MockCredential);
76+
77+
await Assert.ThrowsAsync<FirebaseMessagingException>(
78+
() => client.SubscribeToTopicAsync("test-topic", new List<string> { "abc123" }));
79+
}
80+
81+
[Fact]
82+
public async Task Unauthorized()
83+
{
84+
var handler = new MockMessageHandler()
85+
{
86+
StatusCode = HttpStatusCode.Unauthorized,
87+
Response = "Unauthorized",
88+
};
89+
var factory = new MockHttpClientFactory(handler);
90+
91+
var client = new InstanceIdClient(factory, MockCredential);
92+
93+
await Assert.ThrowsAsync<FirebaseMessagingException>(
94+
() => client.SubscribeToTopicAsync("test-topic", new List<string> { "abc123" }));
95+
}
96+
97+
[Fact]
98+
public async Task Forbidden()
99+
{
100+
var handler = new MockMessageHandler()
101+
{
102+
StatusCode = HttpStatusCode.Forbidden,
103+
Response = "Forbidden",
104+
};
105+
var factory = new MockHttpClientFactory(handler);
106+
107+
var client = new InstanceIdClient(factory, MockCredential);
108+
109+
await Assert.ThrowsAsync<FirebaseMessagingException>(
110+
() => client.SubscribeToTopicAsync("test-topic", new List<string> { "abc123" }));
111+
}
112+
113+
[Fact]
114+
public async Task NotFound()
115+
{
116+
var handler = new MockMessageHandler()
117+
{
118+
StatusCode = HttpStatusCode.NotFound,
119+
Response = "NotFound",
120+
};
121+
var factory = new MockHttpClientFactory(handler);
122+
123+
var client = new InstanceIdClient(factory, MockCredential);
124+
125+
await Assert.ThrowsAsync<FirebaseMessagingException>(
126+
() => client.SubscribeToTopicAsync("test-topic", new List<string> { "abc123" }));
127+
}
128+
129+
[Fact]
130+
public async Task ServiceUnavailable()
131+
{
132+
var handler = new MockMessageHandler()
133+
{
134+
StatusCode = HttpStatusCode.ServiceUnavailable,
135+
Response = "ServiceUnavailable",
136+
};
137+
var factory = new MockHttpClientFactory(handler);
138+
139+
var client = new InstanceIdClient(factory, MockCredential);
140+
141+
await Assert.ThrowsAsync<FirebaseMessagingException>(
142+
() => client.SubscribeToTopicAsync("test-topic", new List<string> { "abc123" }));
143+
}
63144
}
64145
}

0 commit comments

Comments
 (0)