### Question:
RackResponsePropagator { public void propagate(RackResponse rackResponse, HttpServletResponse response) { propagateStatus(rackResponse, response); propagateHeaders(rackResponse, response); propagateBody(rackResponse, response); }  void propagate(RackResponse rackResponse, HttpServletResponse response);  }### Answer:
@Test public void propagateStatus() { rackResponse.status(404); subject.propagate(rackResponse.build(), response); verify(response).setStatus(404); }
@Test public void propagateHeadersSkipsHeadsRackHeaders() { rackResponse.header("rack.internal", "42"); subject.propagate(rackResponse.build(), response); verify(response, never()).addHeader(eq("rack.internal"), anyString()); }
@Test public void propagateHeadersMultipleValues() { rackResponse.header("Set-Cookie", "foo=bar\nbar=foo"); subject.propagate(rackResponse.build(), response); verify(response).addHeader("Set-Cookie", "foo=bar"); verify(response).addHeader("Set-Cookie", "bar=foo"); }