apns icon indicating copy to clipboard operation
apns copied to clipboard

Tests for errors from Apple

Open nathany opened this issue 10 years ago • 4 comments

I'd like some tests for errors from Apple but without actually hitting Apple's servers in the test suite.

Status code Description
0 No errors encountered
1 Processing error
2 Missing device token
3 Missing topic
4 Missing payload
5 Invalid token size
6 Invalid topic size
7 Invalid payload size
8 Invalid token
10 Shutdown
255 None (unknown)

~~I'm thinking about mockConn having a special device token that results in 8 Invalid token, or that sort of thing. A bit like test credit cards.~~

My thought is to only do this for tests within the apns package, not impacting the callers of this library in any way.

nathany avatar Apr 21 '15 22:04 nathany

Of course we also need to get a better feel for how errors from Apple occur in real life (readErrors). Using a production device token with a sandbox cert setup should do the trick.

nathany avatar Apr 21 '15 22:04 nathany

Validations before sending data should be able to prevent a good number of these.

Still, there are errors that can occur at any time.

nathany avatar Apr 23 '15 21:04 nathany

I think I'd prefer having a connection that satisfies the interface, but is initialized with a specific status code to return. Seems more explicit.

taylortrimble avatar Apr 30 '15 00:04 taylortrimble

True.

We should be able to use validations to avoid errors 2-8. I would like to separate out the preparation of the data to send Apple from the actual sending.

nathany avatar Apr 30 '15 17:04 nathany