test('throws an error trying to create partition if topic does not exists', async () => { admin = createAdmin({ cluster: createCluster(), logger: newLogger() }) await admin.connect() await expect( admin.createPartitions({ topicPartitions: [{ topic: topicName + 'x', count: 2 }], }) ).rejects.toHaveProperty('message', 'This server does not host this topic-partition') })
beforeEach(() => { jest.spyOn(global.console, 'info').mockImplementation(() => true) jest.spyOn(global.console, 'error').mockImplementation(() => true) jest.spyOn(global.console, 'warn').mockImplementation(() => true) jest.spyOn(global.console, 'log').mockImplementation(() => true) timeNow = new Date('2017-12-29T14:15:38.572Z') MockDate.set(timeNow.getTime()) logger = createLogger({ level: LEVELS.DEBUG, logCreator: LoggerConsole }) })
const describeIfNotEnv = (key, value) => (description, callback, describeFn = describe) => { return value !== process.env[key] ? describeFn(description, callback) : describe.skip(description, callback) }
test('describe all configs', async () => { await createTopic({ topic: topicName }) admin = createAdmin({ cluster: createCluster(), logger: newLogger() }) await admin.connect() const response = await admin.describeConfigs({ resources: [{ type: RESOURCE_TYPES.TOPIC, name: topicName }], }) expect(getConfigEntries(response).length).toBeGreaterThan(1) })
test('emits connection events', async () => { producer = createProducer({ cluster: createCluster(), logger: newLogger() }) const connectListener = jest.fn().mockName('connect') const disconnectListener = jest.fn().mockName('disconnect') producer.on(producer.events.CONNECT, connectListener) producer.on(producer.events.DISCONNECT, disconnectListener) await producer.connect() expect(connectListener).toHaveBeenCalled() await producer.disconnect() expect(disconnectListener).toHaveBeenCalled() })
test('throws an error if there are blank resource names', async () => { admin = createAdmin({ cluster: createCluster(), logger: newLogger() }) const resources = [ { type: RESOURCE_TYPES.TOPIC, name: 'abc' }, { type: RESOURCE_TYPES.TOPIC, name: null }, ] await expect(admin.describeConfigs({ resources })).rejects.toHaveProperty( 'message', 'Invalid resource name null: {"type":2,"name":null}' ) })
describe('Protocol > Requests > OffsetCommit > v0', () => { test('response', async () => { const data = await decode(Buffer.from(require('../fixtures/v0_response.json'))) expect(data).toEqual({ responses: [ { topic: 'test-topic-eb1a285cda2e9f9a1021', partitions: [{ partition: 0, errorCode: 0 }] }, ], }) await expect(parse(data)).resolves.toBeTruthy() }) })