mirror of
https://github.com/benjamin-wilson/public-pool.git
synced 2026-09-30 17:41:08 -07:00
46 lines
1.4 KiB
TypeScript
46 lines
1.4 KiB
TypeScript
import { plainToInstance } from 'class-transformer';
|
|
|
|
import { SubscriptionMessage } from './SubscriptionMessage';
|
|
|
|
describe('SubscriptionMessage', () => {
|
|
it('should parse and refine known user agents', () => {
|
|
const bosminer = plainToInstance(
|
|
SubscriptionMessage,
|
|
JSON.parse('{"id":1,"method":"mining.subscribe","params":["bosminer/23.08"]}')
|
|
);
|
|
const cpuminer = plainToInstance(
|
|
SubscriptionMessage,
|
|
JSON.parse('{"id":1,"method":"mining.subscribe","params":["cpuminer-opt/1.0"]}')
|
|
);
|
|
|
|
expect(bosminer.userAgent).toBe('Braiins OS');
|
|
expect(cpuminer.userAgent).toBe('cpuminer');
|
|
});
|
|
|
|
it('should default missing user agents to unknown', () => {
|
|
const message = plainToInstance(
|
|
SubscriptionMessage,
|
|
JSON.parse('{"id":1,"method":"mining.subscribe","params":[]}')
|
|
);
|
|
|
|
expect(message.userAgent).toBe('unknown');
|
|
});
|
|
|
|
it('should respond with extranonce2 size of 8 bytes', () => {
|
|
const message = plainToInstance(
|
|
SubscriptionMessage,
|
|
JSON.parse('{"id":1,"method":"mining.subscribe","params":["bitaxe v2.2"]}')
|
|
);
|
|
|
|
expect(message.response('57a6f098')).toEqual({
|
|
id: 1,
|
|
error: null,
|
|
result: [
|
|
[['mining.notify', '57a6f098']],
|
|
'57a6f098',
|
|
8
|
|
]
|
|
});
|
|
});
|
|
});
|