Sha256: d70c11570c91179c84fdf9f74ebd85291d99d2e2d591ca1695669bc8e13dcee1

Contents?: true

Size: 1.63 KB

Versions: 26

Compression:

Stored size: 1.63 KB

Contents

import { it, expect } from 'vitest'
import { IncomingMessage } from 'http'
import { Socket } from 'net'
import * as zlib from 'zlib'
import { getIncomingMessageBody } from './getIncomingMessageBody'

it('returns utf8 string given a utf8 response body', async () => {
  const utfBuffer = Buffer.from('one')
  const message = new IncomingMessage(new Socket())

  const pendingResponseBody = getIncomingMessageBody(message)
  message.emit('data', utfBuffer)
  message.emit('end')

  expect(await pendingResponseBody).toEqual('one')
})

it('returns utf8 string given a gzipped response body', async () => {
  const utfBuffer = zlib.gzipSync(Buffer.from('two'))
  const message = new IncomingMessage(new Socket())
  message.headers = {
    'content-encoding': 'gzip',
  }

  const pendingResponseBody = getIncomingMessageBody(message)
  message.emit('data', utfBuffer)
  message.emit('end')

  expect(await pendingResponseBody).toEqual('two')
})

it('returns utf8 string given a gzipped response body with incorrect "content-lenght"', async () => {
  const utfBuffer = zlib.gzipSync(Buffer.from('three'))
  const message = new IncomingMessage(new Socket())
  message.headers = {
    'content-encoding': 'gzip',
    'content-length': '500',
  }

  const pendingResponseBody = getIncomingMessageBody(message)
  message.emit('data', utfBuffer)
  message.emit('end')

  expect(await pendingResponseBody).toEqual('three')
})

it('returns empty string given an empty body', async () => {
  const message = new IncomingMessage(new Socket())

  const pendingResponseBody = getIncomingMessageBody(message)
  message.emit('end')

  expect(await pendingResponseBody).toEqual('')
})

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
clapton-0.0.26 lib/clapton/javascripts/node_modules/@mswjs/interceptors/src/interceptors/ClientRequest/utils/getIncomingMessageBody.test.ts
clapton-0.0.25 lib/clapton/javascripts/node_modules/@mswjs/interceptors/src/interceptors/ClientRequest/utils/getIncomingMessageBody.test.ts
clapton-0.0.24 lib/clapton/javascripts/node_modules/@mswjs/interceptors/src/interceptors/ClientRequest/utils/getIncomingMessageBody.test.ts
clapton-0.0.23 lib/clapton/javascripts/node_modules/@mswjs/interceptors/src/interceptors/ClientRequest/utils/getIncomingMessageBody.test.ts
clapton-0.0.22 lib/clapton/javascripts/node_modules/@mswjs/interceptors/src/interceptors/ClientRequest/utils/getIncomingMessageBody.test.ts
clapton-0.0.21 lib/clapton/javascripts/node_modules/@mswjs/interceptors/src/interceptors/ClientRequest/utils/getIncomingMessageBody.test.ts
clapton-0.0.20 lib/clapton/javascripts/node_modules/@mswjs/interceptors/src/interceptors/ClientRequest/utils/getIncomingMessageBody.test.ts
clapton-0.0.19 lib/clapton/javascripts/node_modules/@mswjs/interceptors/src/interceptors/ClientRequest/utils/getIncomingMessageBody.test.ts
clapton-0.0.18 lib/clapton/javascripts/node_modules/@mswjs/interceptors/src/interceptors/ClientRequest/utils/getIncomingMessageBody.test.ts
clapton-0.0.17 lib/clapton/javascripts/node_modules/@mswjs/interceptors/src/interceptors/ClientRequest/utils/getIncomingMessageBody.test.ts
clapton-0.0.16 lib/clapton/javascripts/node_modules/@mswjs/interceptors/src/interceptors/ClientRequest/utils/getIncomingMessageBody.test.ts
clapton-0.0.15 lib/clapton/javascripts/node_modules/@mswjs/interceptors/src/interceptors/ClientRequest/utils/getIncomingMessageBody.test.ts
clapton-0.0.14 lib/clapton/javascripts/node_modules/@mswjs/interceptors/src/interceptors/ClientRequest/utils/getIncomingMessageBody.test.ts
clapton-0.0.13 lib/clapton/javascripts/node_modules/@mswjs/interceptors/src/interceptors/ClientRequest/utils/getIncomingMessageBody.test.ts
clapton-0.0.12 lib/clapton/javascripts/node_modules/@mswjs/interceptors/src/interceptors/ClientRequest/utils/getIncomingMessageBody.test.ts
clapton-0.0.11 lib/clapton/javascripts/node_modules/@mswjs/interceptors/src/interceptors/ClientRequest/utils/getIncomingMessageBody.test.ts
clapton-0.0.10 lib/clapton/javascripts/node_modules/@mswjs/interceptors/src/interceptors/ClientRequest/utils/getIncomingMessageBody.test.ts
clapton-0.0.9 lib/clapton/javascripts/node_modules/@mswjs/interceptors/src/interceptors/ClientRequest/utils/getIncomingMessageBody.test.ts
clapton-0.0.8 lib/clapton/javascripts/node_modules/@mswjs/interceptors/src/interceptors/ClientRequest/utils/getIncomingMessageBody.test.ts
clapton-0.0.7 lib/clapton/javascripts/node_modules/@mswjs/interceptors/src/interceptors/ClientRequest/utils/getIncomingMessageBody.test.ts