it("should serialize the response packet with falsy data", () => { const obj = { ver: "3", sender: "test-1", id: "12345", success: true, data: false, meta: {}, stream: false }; const s = serializer.serialize(cloneDeep(obj), P.PACKET_RESPONSE); expect(s.length).toBe(35); const res = serializer.deserialize(s, P.PACKET_RESPONSE); expect(res).not.toBe(obj); expect(res).toEqual(obj); });
it("should serialize the response packet with buffer data", () => { const obj = { ver: "2", sender: "test-1", id: "12345", success: true, data: Buffer.from("binary data"), meta: { user: { id: 1, roles: [ "admin" ] } }, stream: true, seq: 6 }; const s = serializer.serialize(cloneDeep(obj), P.PACKET_RESPONSE); expect(s.length).toBe(71); const res = serializer.deserialize(s, P.PACKET_RESPONSE); expect(res).not.toBe(obj); expect(res).toEqual(Object.assign(obj, { error: null })); });
it("should serialize the event packet null data", () => { const obj = { ver: "3", sender: "test-1", id: "event-id", event: "user.created", data: null, broadcast: true, meta: { name: "John" }, level: 5, tracing: true, parentID: "parent-id", requestID: "request-id", caller: "posts.created", needAck: true }; const s = serializer.serialize(cloneDeep(obj), P.PACKET_EVENT); expect(s.length).toBe(95); const res = serializer.deserialize(s, P.PACKET_EVENT); expect(res).not.toBe(obj); expect(res).toEqual(Object.assign(obj, { groups: null, seq: null, stream: null })); });
it("should serialize the response packet with buffer data", () => { const obj = { ver: "4", sender: "test-1", id: "12345", success: true, data: Buffer.from("binary data"), meta: { user: { id: 1, roles: ["admin"] } }, stream: true, seq: 6 }; const s = serializer.serialize(cloneDeep(obj), P.PACKET_RESPONSE); expect(s.length).toBe(76); const res = serializer.deserialize(s, P.PACKET_RESPONSE); expect(res).not.toBe(obj); expect(res).toEqual(obj); });
it("should serialize the response packet with falsy data", () => { const obj = { ver: "3", sender: "test-1", id: "12345", success: true, data: false, meta: {}, seq: 3, stream: false }; const s = serializer.serialize(cloneDeep(obj), P.PACKET_RESPONSE); expect(s.length).toBe(77); const res = serializer.deserialize(s, P.PACKET_RESPONSE); expect(res).not.toBe(obj); expect(res).toEqual(Object.assign(obj, { error: null })); });
it("should serialize the response packet with null data", () => { const obj = { ver: "3", sender: "test-1", id: "12345", success: true, data: null, meta: {}, stream: false }; const s = serializer.serialize(cloneDeep(obj), P.PACKET_RESPONSE); expect(s.length).toBe(28); const res = serializer.deserialize(s, P.PACKET_RESPONSE); expect(res).not.toBe(obj); expect(res).toEqual(obj); });
it("should serialize the response packet with null data", () => { const obj = { ver: "3", sender: "test-1", id: "12345", success: true, data: null, meta: {}, stream: false, seq: 3, }; const s = serializer.serialize(cloneDeep(obj), P.PACKET_RESPONSE); expect(s.length).toBe(26); const res = serializer.deserialize(s, P.PACKET_RESPONSE); expect(res).not.toBe(obj); expect(res).toEqual(Object.assign(obj, { error: null })); });
it("should serialize the response packet with null data", () => { const obj = { ver: "3", sender: "test-1", id: "12345", success: true, data: null, meta: {}, seq: 3, stream: false }; const s = serializer.serialize(cloneDeep(obj), P.PACKET_RESPONSE); expect(s.length).toBe(65); const res = serializer.deserialize(s, P.PACKET_RESPONSE); expect(res).not.toBe(obj); expect(res).toEqual(Object.assign(obj, { error: null })); });
it("should serialize the response packet with falsy data", () => { const obj = { ver: "3", sender: "test-1", id: "12345", success: true, data: false, meta: {}, stream: false, seq: 3 }; const s = serializer.serialize(cloneDeep(obj), P.PACKET_RESPONSE); expect(s.length).toBe(32); const res = serializer.deserialize(s, P.PACKET_RESPONSE); expect(res).not.toBe(obj); expect(res).toEqual(Object.assign(obj, { error: null })); });
it("should serialize the event packet null data", () => { const obj = { ver: "3", sender: "test-1", id: "event-id", event: "user.created", data: null, broadcast: true, meta: { name: "John" }, level: 5, tracing: true, parentID: "parent-id", requestID: "request-id", caller: "posts.created", needAck: true }; const s = serializer.serialize(cloneDeep(obj), P.PACKET_EVENT); expect(s.length).toBe(102); const res = serializer.deserialize(s, P.PACKET_EVENT); expect(res).not.toBe(obj); expect(res).toEqual(Object.assign(obj, { groups: [] })); });
it("should serialize the event packet without data", () => { const obj = { ver: "4", sender: "test-1", id: "event-id", event: "user.created", broadcast: true, meta: { name: "John" }, level: 5, tracing: true, parentID: "parent-id", requestID: "request-id", caller: "posts.created", needAck: true }; const s = serializer.serialize(cloneDeep(obj), P.PACKET_EVENT); expect(s.length).toBe(102); const res = serializer.deserialize(s, P.PACKET_EVENT); expect(res).not.toBe(obj); expect(res).toEqual(Object.assign(obj, { groups: [], data: undefined })); });
it("should serialize the response packet with buffer data", () => { const obj = { ver: "4", sender: "test-1", id: "12345", success: true, data: Buffer.from("binary data"), meta: { user: { id: 1, roles: [ "admin" ] } }, stream: true, seq: 6 }; const s = serializer.serialize(cloneDeep(obj), P.PACKET_RESPONSE); expect(s.length).toBe(116); const res = serializer.deserialize(s, P.PACKET_RESPONSE); expect(res).not.toBe(obj); expect(res).toEqual(Object.assign(obj, { error: null })); });
it("should serialize the event packet without data", () => { const obj = { ver: "2", sender: "test-1", id: "event-id", event: "user.created", broadcast: true, meta: { name: "John" }, level: 5, tracing: true, parentID: "parent-id", requestID: "request-id", caller: "posts.created", needAck: true }; const s = serializer.serialize(cloneDeep(obj), P.PACKET_EVENT); expect(s.length).toBe(95); const res = serializer.deserialize(s, P.PACKET_EVENT); expect(res).not.toBe(obj); expect(res).toEqual(Object.assign(obj, { groups: null, seq: null, stream: null })); });
it("should serialize the event packet null data", () => { const obj = { ver: "3", sender: "test-1", id: "event-id", event: "user.created", data: null, broadcast: true, meta: { name: "John" }, level: 5, tracing: true, parentID: "parent-id", requestID: "request-id", caller: "posts.created", needAck: true }; const s = serializer.serialize(cloneDeep(obj), P.PACKET_EVENT); expect(s.length).toBe(157); const res = serializer.deserialize(s, P.PACKET_EVENT); expect(res).not.toBe(obj); expect(res).toEqual(Object.assign(obj, { groups: null, seq: null, stream: null })); });
it("should serialize the event packet without data", () => { const obj = { ver: "4", sender: "test-1", id: "event-id", event: "user.created", broadcast: true, meta: { name: "John" }, level: 5, tracing: true, parentID: "parent-id", requestID: "request-id", caller: "posts.created", needAck: true }; const s = serializer.serialize(cloneDeep(obj), P.PACKET_EVENT); expect(s.length).toBe(157); const res = serializer.deserialize(s, P.PACKET_EVENT); expect(res).not.toBe(obj); expect(res).toEqual(Object.assign(obj, { groups: null, seq: null, stream: null })); });