@Test
  void autoDiscoverParamNames() throws Exception {
    final MethodMetadata md =
        parseAndValidateMetadata(
            AutoDiscoverParamNames.class,
            "recordsByNameAndType",
            int.class,
            String.class,
            String.class);

    assertThat(md.template())
        .hasQueries(entry("name", asList("{name}")), entry("type", asList("{type}")));

    assertThat(md.indexToName())
        .containsExactly(
            entry(0, asList("domainId")), entry(1, asList("name")), entry(2, asList("type")));
  }
Tests interfaces defined per {@link Contract.Default} are interpreted into expected {@link feign
.RequestTemplate template} instances.
core/src/test/java/feign/DefaultContractTest.java