Prettier
This commit is contained in:
@@ -1,36 +1,37 @@
|
||||
import { MessageTypes } from '../../src/common'
|
||||
import { packers, unpackers } from '../../src/mapping'
|
||||
import { MessageTypes } from "../../src/common";
|
||||
import { packers, unpackers } from "../../src/mapping";
|
||||
|
||||
const KEY = new Uint8Array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
|
||||
const KEY = new Uint8Array([
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
|
||||
]);
|
||||
|
||||
test('Create a basic message (0x0001) packet.', () => {
|
||||
test("Create a basic message (0x0001) packet.", () => {
|
||||
// Given
|
||||
const encoder = new TextEncoder()
|
||||
const message = encoder.encode('Hello, World!')
|
||||
const encoder = new TextEncoder();
|
||||
const message = encoder.encode("Hello, World!");
|
||||
|
||||
// When
|
||||
const packedPacket = packers[MessageTypes.Basic](
|
||||
message,
|
||||
KEY
|
||||
)
|
||||
const packedPacket = packers[MessageTypes.Basic](message, KEY);
|
||||
|
||||
// Then
|
||||
// We can't check the contents of the data as it's encrypted with a random nonce.
|
||||
// Check the message type and length.
|
||||
expect(packedPacket.slice(0, 4)).toMatchObject(new Uint8Array([0x00, 0x01, 0x00, 0x2D]))
|
||||
expect(packedPacket.slice(0, 4)).toMatchObject(
|
||||
new Uint8Array([0x00, 0x01, 0x00, 0x2d]),
|
||||
);
|
||||
|
||||
// Check the total length is as expected.
|
||||
expect(packedPacket.length).toBe(49)
|
||||
})
|
||||
expect(packedPacket.length).toBe(49);
|
||||
});
|
||||
|
||||
test('Parse a basic message (0x0001).', () => {
|
||||
test("Parse a basic message (0x0001).", () => {
|
||||
// Given
|
||||
const data = new Uint8Array([1, 2, 3, 4])
|
||||
const data = new Uint8Array([1, 2, 3, 4]);
|
||||
|
||||
// When
|
||||
const unpackedPacket = unpackers[MessageTypes.Basic](data)
|
||||
const unpackedPacket = unpackers[MessageTypes.Basic](data);
|
||||
|
||||
// Then
|
||||
expect(unpackedPacket)
|
||||
expect(unpackedPacket).toMatchObject(data)
|
||||
})
|
||||
expect(unpackedPacket);
|
||||
expect(unpackedPacket).toMatchObject(data);
|
||||
});
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import { MessageTypes } from '../../src/common'
|
||||
import { packers } from '../../src/mapping'
|
||||
import { MessageTypes } from "../../src/common";
|
||||
import { packers } from "../../src/mapping";
|
||||
|
||||
test('Create a keepalive (0x0005) packet.', () => {
|
||||
test("Create a keepalive (0x0005) packet.", () => {
|
||||
// When
|
||||
const packedPacket = packers[MessageTypes.Keepalive]()
|
||||
const packedPacket = packers[MessageTypes.Keepalive]();
|
||||
|
||||
// Then
|
||||
const expectedResult = new Uint8Array([0x00, 0x05, 0x00, 0x00])
|
||||
expect(packedPacket).toMatchObject(expectedResult)
|
||||
})
|
||||
const expectedResult = new Uint8Array([0x00, 0x05, 0x00, 0x00]);
|
||||
expect(packedPacket).toMatchObject(expectedResult);
|
||||
});
|
||||
|
||||
@@ -1,15 +1,18 @@
|
||||
import { packOutgoingPacket, unpackIncomingPacket } from '../../src/messages/packet'
|
||||
import {
|
||||
packOutgoingPacket,
|
||||
unpackIncomingPacket,
|
||||
} from "../../src/messages/packet";
|
||||
|
||||
test('Pack an outgoing packet.', () => {
|
||||
test("Pack an outgoing packet.", () => {
|
||||
// Given
|
||||
const messageType = new Uint8Array([0x12, 0x34])
|
||||
const data = new Uint8Array([0x12, 0x34, 0x56, 0x78])
|
||||
const messageType = new Uint8Array([0x12, 0x34]);
|
||||
const data = new Uint8Array([0x12, 0x34, 0x56, 0x78]);
|
||||
|
||||
// When
|
||||
const packedPacket = packOutgoingPacket({
|
||||
messageType: messageType,
|
||||
data: data
|
||||
})
|
||||
data: data,
|
||||
});
|
||||
|
||||
// Then
|
||||
const expectedResult = new Uint8Array([
|
||||
@@ -18,12 +21,12 @@ test('Pack an outgoing packet.', () => {
|
||||
// Data length
|
||||
0x00, 0x04,
|
||||
// Data
|
||||
0x12, 0x34, 0x56, 0x78
|
||||
])
|
||||
expect(packedPacket).toMatchObject(expectedResult)
|
||||
})
|
||||
0x12, 0x34, 0x56, 0x78,
|
||||
]);
|
||||
expect(packedPacket).toMatchObject(expectedResult);
|
||||
});
|
||||
|
||||
test('Unpack an incoming packet.', () => {
|
||||
test("Unpack an incoming packet.", () => {
|
||||
// Given
|
||||
const incomingPacket = new Uint8Array([
|
||||
// Message type
|
||||
@@ -33,14 +36,16 @@ test('Unpack an incoming packet.', () => {
|
||||
// Data length
|
||||
0x00, 0x04,
|
||||
// Data
|
||||
0x12, 0x34, 0x56, 0x78
|
||||
])
|
||||
0x12, 0x34, 0x56, 0x78,
|
||||
]);
|
||||
|
||||
// When
|
||||
const unpackedResult = unpackIncomingPacket(incomingPacket)
|
||||
const unpackedResult = unpackIncomingPacket(incomingPacket);
|
||||
|
||||
// Then
|
||||
expect(unpackedResult.messageType).toBe(0x1234)
|
||||
expect(unpackedResult.senderId).toBe(0xaabbccdd)
|
||||
expect(unpackedResult.data).toMatchObject(new Uint8Array([0x12, 0x34, 0x56, 0x78]))
|
||||
})
|
||||
expect(unpackedResult.messageType).toBe(0x1234);
|
||||
expect(unpackedResult.senderId).toBe(0xaabbccdd);
|
||||
expect(unpackedResult.data).toMatchObject(
|
||||
new Uint8Array([0x12, 0x34, 0x56, 0x78]),
|
||||
);
|
||||
});
|
||||
|
||||
@@ -1,14 +1,16 @@
|
||||
import { MessageTypes } from '../../src/common'
|
||||
import { packers } from '../../src/mapping'
|
||||
import { MessageTypes } from "../../src/common";
|
||||
import { packers } from "../../src/mapping";
|
||||
|
||||
test('Create a subscribe (0x0000) packet.', () => {
|
||||
test("Create a subscribe (0x0000) packet.", () => {
|
||||
// Given
|
||||
const messageType = 0xabcd
|
||||
const messageType = 0xabcd;
|
||||
|
||||
// When
|
||||
const packedPacket = packers[MessageTypes.Subscribe]({ messageType: messageType })
|
||||
const packedPacket = packers[MessageTypes.Subscribe]({
|
||||
messageType: messageType,
|
||||
});
|
||||
|
||||
// Then
|
||||
const expectedResult = new Uint8Array([0x00, 0x00, 0x00, 0x02, 0xab, 0xcd])
|
||||
expect(packedPacket).toMatchObject(expectedResult)
|
||||
})
|
||||
const expectedResult = new Uint8Array([0x00, 0x00, 0x00, 0x02, 0xab, 0xcd]);
|
||||
expect(packedPacket).toMatchObject(expectedResult);
|
||||
});
|
||||
|
||||
@@ -1,14 +1,16 @@
|
||||
import { MessageTypes } from '../../src/common'
|
||||
import { packers } from '../../src/mapping'
|
||||
import { MessageTypes } from "../../src/common";
|
||||
import { packers } from "../../src/mapping";
|
||||
|
||||
test('Create an unsubscribe (0xffff) packet.', () => {
|
||||
test("Create an unsubscribe (0xffff) packet.", () => {
|
||||
// Given
|
||||
const messageType = 0xabcd
|
||||
const messageType = 0xabcd;
|
||||
|
||||
// When
|
||||
const packedPacket = packers[MessageTypes.Unsubscribe]({ messageType: messageType })
|
||||
const packedPacket = packers[MessageTypes.Unsubscribe]({
|
||||
messageType: messageType,
|
||||
});
|
||||
|
||||
// Then
|
||||
const expectedResult = new Uint8Array([0xff, 0xff, 0x00, 0x02, 0xab, 0xcd])
|
||||
expect(packedPacket).toMatchObject(expectedResult)
|
||||
})
|
||||
const expectedResult = new Uint8Array([0xff, 0xff, 0x00, 0x02, 0xab, 0xcd]);
|
||||
expect(packedPacket).toMatchObject(expectedResult);
|
||||
});
|
||||
|
||||
@@ -1,52 +1,56 @@
|
||||
import Color from 'color'
|
||||
import { MessageTypes } from '../../src/common'
|
||||
import { packers, unpackers } from '../../src/mapping'
|
||||
import Color from "color";
|
||||
import { MessageTypes } from "../../src/common";
|
||||
import { packers, unpackers } from "../../src/mapping";
|
||||
|
||||
const KEY = new Uint8Array([0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F])
|
||||
const KEY = new Uint8Array([
|
||||
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c,
|
||||
0x0d, 0x0e, 0x0f,
|
||||
]);
|
||||
|
||||
test('Create a user data request (0x0002) packet.', () => {
|
||||
test("Create a user data request (0x0002) packet.", () => {
|
||||
// Given
|
||||
const username = 'Butlersaurus'
|
||||
const colour = Color('#FF4000')
|
||||
const clientId = 'Mercury'
|
||||
const username = "Butlersaurus";
|
||||
const colour = Color("#FF4000");
|
||||
const clientId = "Mercury";
|
||||
|
||||
// When
|
||||
const packedPacket = packers[MessageTypes.UserDataRequest](
|
||||
{
|
||||
username: username,
|
||||
colour: colour,
|
||||
clientId: clientId
|
||||
clientId: clientId,
|
||||
},
|
||||
KEY
|
||||
)
|
||||
KEY,
|
||||
);
|
||||
|
||||
// Then
|
||||
// We can't check the contents of the data as it's encrypted with a random nonce.
|
||||
// Check the message type and length.
|
||||
expect(packedPacket.slice(0, 4)).toMatchObject(new Uint8Array([0x00, 0x02, 0x00, 0x67]))
|
||||
expect(packedPacket.slice(0, 4)).toMatchObject(
|
||||
new Uint8Array([0x00, 0x02, 0x00, 0x67]),
|
||||
);
|
||||
|
||||
// Check the total length is as expected.
|
||||
expect(packedPacket.length).toBe(107)
|
||||
})
|
||||
expect(packedPacket.length).toBe(107);
|
||||
});
|
||||
|
||||
test('Parse a user data request (0x0002).', () => {
|
||||
test("Parse a user data request (0x0002).", () => {
|
||||
// Given
|
||||
const data = new Uint8Array([
|
||||
0, 12,
|
||||
66, 117, 116, 108, 101, 114, 115, 97, 117, 114, 117, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
255, 64, 0,
|
||||
0, 7,
|
||||
77, 101, 114, 99, 117, 114, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
])
|
||||
const username = 'Butlersaurus'
|
||||
const colour = Color('#FF4000')
|
||||
const clientId = 'Mercury'
|
||||
0, 12, 66, 117, 116, 108, 101, 114, 115, 97, 117, 114, 117, 115, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 64, 0, 0, 7, 77, 101,
|
||||
114, 99, 117, 114, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
]);
|
||||
const username = "Butlersaurus";
|
||||
const colour = Color("#FF4000");
|
||||
const clientId = "Mercury";
|
||||
|
||||
// When
|
||||
const unpackedPacket = unpackers[MessageTypes.UserDataRequest](data)
|
||||
const unpackedPacket = unpackers[MessageTypes.UserDataRequest](data);
|
||||
|
||||
// Then
|
||||
expect(unpackedPacket.username).toBe(username)
|
||||
expect(unpackedPacket.colour).toMatchObject(colour)
|
||||
expect(unpackedPacket.clientId).toBe(clientId)
|
||||
})
|
||||
expect(unpackedPacket.username).toBe(username);
|
||||
expect(unpackedPacket.colour).toMatchObject(colour);
|
||||
expect(unpackedPacket.clientId).toBe(clientId);
|
||||
});
|
||||
|
||||
@@ -1,52 +1,56 @@
|
||||
import Color from 'color'
|
||||
import { MessageTypes } from '../../src/common'
|
||||
import { packers, unpackers } from '../../src/mapping'
|
||||
import Color from "color";
|
||||
import { MessageTypes } from "../../src/common";
|
||||
import { packers, unpackers } from "../../src/mapping";
|
||||
|
||||
const KEY = new Uint8Array([0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F])
|
||||
const KEY = new Uint8Array([
|
||||
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c,
|
||||
0x0d, 0x0e, 0x0f,
|
||||
]);
|
||||
|
||||
test('Create a user data response (0x0003) packet.', () => {
|
||||
test("Create a user data response (0x0003) packet.", () => {
|
||||
// Given
|
||||
const username = 'Butlersaurus'
|
||||
const colour = Color('#FF4000')
|
||||
const clientId = 'Mercury'
|
||||
const username = "Butlersaurus";
|
||||
const colour = Color("#FF4000");
|
||||
const clientId = "Mercury";
|
||||
|
||||
// When
|
||||
const packedPacket = packers[MessageTypes.UserDataResponse](
|
||||
{
|
||||
username: username,
|
||||
colour: colour,
|
||||
clientId: clientId
|
||||
clientId: clientId,
|
||||
},
|
||||
KEY
|
||||
)
|
||||
KEY,
|
||||
);
|
||||
|
||||
// Then
|
||||
// We can't check the contents of the data as it's encrypted with a random nonce.
|
||||
// Check the message type and length.
|
||||
expect(packedPacket.slice(0, 4)).toMatchObject(new Uint8Array([0x00, 0x03, 0x00, 0x67]))
|
||||
expect(packedPacket.slice(0, 4)).toMatchObject(
|
||||
new Uint8Array([0x00, 0x03, 0x00, 0x67]),
|
||||
);
|
||||
|
||||
// Check the total length is as expected.
|
||||
expect(packedPacket.length).toBe(107)
|
||||
})
|
||||
expect(packedPacket.length).toBe(107);
|
||||
});
|
||||
|
||||
test('Parse a user data response (0x0003).', () => {
|
||||
test("Parse a user data response (0x0003).", () => {
|
||||
// Given
|
||||
const data = new Uint8Array([
|
||||
0, 12,
|
||||
66, 117, 116, 108, 101, 114, 115, 97, 117, 114, 117, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
255, 64, 0,
|
||||
0, 7,
|
||||
77, 101, 114, 99, 117, 114, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
])
|
||||
const username = 'Butlersaurus'
|
||||
const colour = Color('#FF4000')
|
||||
const clientId = 'Mercury'
|
||||
0, 12, 66, 117, 116, 108, 101, 114, 115, 97, 117, 114, 117, 115, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 64, 0, 0, 7, 77, 101,
|
||||
114, 99, 117, 114, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
]);
|
||||
const username = "Butlersaurus";
|
||||
const colour = Color("#FF4000");
|
||||
const clientId = "Mercury";
|
||||
|
||||
// When
|
||||
const unpackedPacket = unpackers[MessageTypes.UserDataResponse](data)
|
||||
const unpackedPacket = unpackers[MessageTypes.UserDataResponse](data);
|
||||
|
||||
// Then
|
||||
expect(unpackedPacket.username).toBe(username)
|
||||
expect(unpackedPacket.colour).toMatchObject(colour)
|
||||
expect(unpackedPacket.clientId).toBe(clientId)
|
||||
})
|
||||
expect(unpackedPacket.username).toBe(username);
|
||||
expect(unpackedPacket.colour).toMatchObject(colour);
|
||||
expect(unpackedPacket.clientId).toBe(clientId);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user