|
- import {describe, it, expect, vi} from 'vitest';
- import { getUsernameUuid } from '../src';
- import { EventEmitter } from 'events';
-
- describe('minecraft-uuid', () => {
- it('returns result (default offline mode)', async () => {
- vi.mock('crypto', () => ({
- createHash: (algo) => {
- return {
- update: () => {
- // noop
- },
- digest: () => Buffer.alloc(16, 0),
- };
- },
- }));
-
- const uuid = await getUsernameUuid({ username: 'username' });
- expect(uuid).toEqual('00000000-0000-3000-8000-000000000000');
- });
-
- it('returns result (explicit offline mode)', async () => {
- vi.mock('crypto', () => ({
- createHash: (algo) => {
- return {
- update: () => {
- // noop
- },
- digest: () => Buffer.alloc(16, 0),
- };
- },
- }));
-
- const uuid = await getUsernameUuid({ username: 'username', onlineMode: false });
- expect(uuid).toEqual('00000000-0000-3000-8000-000000000000');
- });
-
- it('returns result (explicit online mode)', async () => {
- vi.mock('https', () => ({
- get: (url, cb) => {
- const emitter = new EventEmitter();
-
- if (typeof cb === 'function') {
- (cb as unknown as (...args: unknown[]) => unknown)(emitter);
- }
-
- emitter.emit('data', Buffer.from(JSON.stringify({
- id: '82c683b548333d6b8a2606352cd6f327',
- name: 'username'
- })));
-
- emitter.emit('end');
-
- return emitter;
- },
- }));
-
- const uuid = await getUsernameUuid({ username: 'username', onlineMode: true });
- expect(uuid).toEqual('82c683b5-4833-3d6b-8a26-06352cd6f327');
- });
- });
|