MCPcopy Index your code
hub / github.com/OpenFeign/feign / Issue63Test

Class Issue63Test

form/src/test/java/feign/form/issues/Issue63Test.java:32–68  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

30
31// https://github.com/OpenFeign/feign-form/issues/63
32class Issue63Test {
33
34 @Test
35 void test() {
36 try (var server = UndertowServer.builder().callback(this::handleRequest).start()) {
37 var client =
38 Feign.builder()
39 .encoder(new FormEncoder(new JacksonEncoder()))
40 .target(Client.class, server.getConnectUrl());
41
42 var data = new HashMap<String, String>();
43 data.put("from", "+987654321");
44 data.put("to", "+123456789");
45 data.put("body", "hello world");
46
47 assertThat(client.map(data)).isEqualTo("ok");
48 }
49 }
50
51 private void handleRequest(HttpServerExchange exchange, byte[] message) {
52 // assert request
53 assertThat(exchange.getRequestHeaders().getFirst(io.undertow.util.Headers.CONTENT_TYPE))
54 .isEqualTo("application/x-www-form-urlencoded; charset=UTF-8");
55 assertThat(message).asString().isEqualTo("from=%2B987654321&to=%2B123456789&body=hello+world");
56
57 // build response
58 exchange.getResponseHeaders().put(io.undertow.util.Headers.CONTENT_TYPE, "text/plain");
59 exchange.getResponseSender().send("ok");
60 }
61
62 interface Client {
63
64 @RequestLine("POST")
65 @Headers("Content-Type: application/x-www-form-urlencoded; charset=utf-8")
66 String map(Map<String, String> data);
67 }
68}

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected