Add iOS node push-token registration foundation

This commit is contained in:
William Valentin
2026-02-16 12:47:34 -08:00
parent bea4c54f3b
commit 58c4b0b9bb
19 changed files with 448 additions and 7 deletions
+38
View File
@@ -6,6 +6,7 @@ import {
parseNodeLocationSetParams,
parseNodeLocationGetParams,
parseNodeStatusSetParams,
parseNodePushTokenSetParams,
makeResponse,
makeError,
makeEvent,
@@ -211,6 +212,43 @@ describe('protocol', () => {
});
});
describe('parseNodePushTokenSetParams', () => {
it('parses valid node push token params', () => {
const parsed = parseNodePushTokenSetParams({
connectionId: 'conn-1',
provider: 'apns',
token: 'abcd1234abcd1234abcd1234abcd1234',
topic: 'com.example.flynn',
environment: 'production',
});
expect(parsed).toEqual({
connectionId: 'conn-1',
provider: 'apns',
token: 'abcd1234abcd1234abcd1234abcd1234',
topic: 'com.example.flynn',
environment: 'production',
});
});
it('rejects invalid node push token params', () => {
expect(parseNodePushTokenSetParams({
connectionId: 'conn-1',
provider: 'fcm',
token: 'abcd1234abcd1234abcd1234abcd1234',
})).toBeNull();
expect(parseNodePushTokenSetParams({
connectionId: 'conn-1',
provider: 'apns',
token: 'short',
})).toBeNull();
expect(parseNodePushTokenSetParams({
connectionId: '',
provider: 'apns',
token: 'abcd1234abcd1234abcd1234abcd1234',
})).toBeNull();
});
});
describe('makeResponse', () => {
it('creates a response message', () => {
expect(makeResponse(1, { status: 'ok' })).toEqual({