Пример #1
0
        public void UnknownMessagingErrorCode()
        {
            var json = @"{
                ""error"": {
                    ""status"": ""PERMISSION_DENIED"",
                    ""message"": ""Test error message"",
                    ""details"": [
                        {
                            ""@type"": ""type.googleapis.com/google.firebase.fcm.v1.FcmError"",
                            ""errorCode"": ""SOMETHING_UNUSUAL""
                        }
                    ]
                }
            }";
            var resp = new HttpResponseMessage()
            {
                StatusCode = HttpStatusCode.ServiceUnavailable,
                Content    = new StringContent(json, Encoding.UTF8, "application/json"),
            };

            var handler = new MessagingErrorHandler();
            var error   = Assert.Throws <FirebaseMessagingException>(() => handler.ThrowIfError(resp, json));

            Assert.Equal(ErrorCode.PermissionDenied, error.ErrorCode);
            Assert.Equal("Test error message", error.Message);
            Assert.Null(error.MessagingErrorCode);
            Assert.Same(resp, error.HttpResponse);
            Assert.Null(error.InnerException);
        }
Пример #2
0
        public void NoDetails()
        {
            var json = @"{}";
            var resp = new HttpResponseMessage()
            {
                StatusCode = HttpStatusCode.ServiceUnavailable,
                Content    = new StringContent(json, Encoding.UTF8, "application/json"),
            };

            var handler = new MessagingErrorHandler();
            var error   = Assert.Throws <FirebaseMessagingException>(() => handler.ThrowIfError(resp, json));

            Assert.Equal(ErrorCode.Unavailable, error.ErrorCode);
            Assert.Equal(
                "Unexpected HTTP response with status: 503 (ServiceUnavailable)\n{}",
                error.Message);
            Assert.Null(error.MessagingErrorCode);
            Assert.Same(resp, error.HttpResponse);
            Assert.Null(error.InnerException);
        }
Пример #3
0
        public void PlatformError()
        {
            var json = @"{
                ""error"": {
                    ""status"": ""UNAVAILABLE"",
                    ""message"": ""Test error message""
                }
            }";
            var resp = new HttpResponseMessage()
            {
                StatusCode = HttpStatusCode.ServiceUnavailable,
                Content    = new StringContent(json, Encoding.UTF8, "application/json"),
            };

            var handler = new MessagingErrorHandler();
            var error   = Assert.Throws <FirebaseMessagingException>(() => handler.ThrowIfError(resp, json));

            Assert.Equal(ErrorCode.Unavailable, error.ErrorCode);
            Assert.Equal("Test error message", error.Message);
            Assert.Null(error.MessagingErrorCode);
            Assert.Same(resp, error.HttpResponse);
            Assert.Null(error.InnerException);
        }