@Test
public void queryParamsInPathExtract() throws Exception {

  assertThat(parseAndValidateMetadata(WithQueryParamsInPath.class, "none").template())
      .hasPath("/")
      .hasQueries();
  assertThat(parseAndValidateMetadata(WithQueryParamsInPath.class, "one").template())
      .hasPath("/")
      .hasQueries(
          entry("Action", asList("GetUser")));
  assertThat(parseAndValidateMetadata(WithQueryParamsInPath.class, "two").template())
      .hasPath("/")
      .hasQueries(
          entry("Action", asList("GetUser")),
          entry("Version", asList("2010-05-08")));
  assertThat(parseAndValidateMetadata(WithQueryParamsInPath.class, "three").template())
      .hasPath("/")
      .hasQueries(
          entry("Action", asList("GetUser")),
          entry("Version", asList("2010-05-08")),
          entry("limit", asList("1")));
  assertThat(parseAndValidateMetadata(WithQueryParamsInPath.class, "empty").template())
      .hasPath("/")
      .hasQueries(
          entry("flag", new ArrayList<>()),
          entry("Action", asList("GetUser")),
          entry("Version", asList("2010-05-08")));
}