Тестирование фильтра gzip включено - PullRequest
0 голосов
/ 28 июня 2019

Я хотел бы добавить тест, чтобы убедиться, что GzipFilter не отключен

Я включил GzipFilter, и когда приложение работает, ответы сжимаются, как и ожидалось, но в тесте это не так.Хотя, конфигурация показывает, что GzipFilter включен

play {
  i18n.langs = ["en"]
  server.netty.maxInitialLineLength = 16384

  modules {
    enabled += mdsol.clients.AuthenticatedWSClientModule
    enabled += mdsol.clients.MAuthServiceModule
    enabled += jp.co.bizreach.trace.play.module.ZipkinModule
  }

  filters {
    enabled += filters.HeaderValidatorFilter
    enabled += jp.co.bizreach.trace.play.filter.ZipkinTraceFilter
    enabled += filters.CSelectionsFilter
    enabled += filters.XMwsUserFilter
    enabled += play.filters.gzip.GzipFilter

    headers {
      frameOptions = "SAMEORIGIN"
    }

    gzip {
      chunkedThreshold = 100k
      compressionLevel = 9
      contentType {
        # If non empty, then a response will only be compressed if its content type is in this list.
        whiteList = ["application/javascript", "application/json", "text/css"]
      }
    }
  }
}
class GzipFilterSpec
    extends PlaySpec
    with GuiceOneServerPerSuite
    with FutureAwaits
    with DefaultAwaitTimeout {

  override def fakeApplication(): Application =
    new GuiceApplicationBuilder()
      .loadConfig(env => Configuration.load(env))
      .build()

  "Server" must {
    "compress responses" in {
      val wsClient: WSClient = app.injector.instanceOf[WSClient]
      val appStatusUrl = s"http://localhost:$port/app_status"
      val gzipResponse: WSResponse = await(
        wsClient
          .url(appStatusUrl)
          .addHttpHeaders(ACCEPT_ENCODING -> "gzip")
          .get())
      val response: WSResponse = await(wsClient.url(appStatusUrl).get())
      println(response.body)
      println(gzipResponse.body)
      checkGzippedBody(gzipResponse, response.body)
    }
  }
}

Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...