### Question:
DownloadUrlConnection implements DownloadConnection, DownloadConnection.Connected { @Override public Map<String, List<String>> getResponseHeaderFields() { return connection.getHeaderFields(); } DownloadUrlConnection(URLConnection connection);   DownloadUrlConnection(URLConnection connection, IRedirectHandler redirectHandler);  DownloadUrlConnection(String originUrl, Configuration configuration);  DownloadUrlConnection(URL url, Configuration configuration);  DownloadUrlConnection(
            URL url,
            Configuration configuration,
            IRedirectHandler redirectHandler);  DownloadUrlConnection(String originUrl); @Override void addHeader(String name, String value); @Override Connected execute(); @Override int getResponseCode(); @Override InputStream getInputStream(); @Override boolean setRequestMethod(@NonNull String method); @Override Map<String, List<String>> getResponseHeaderFields(); @Override String getResponseHeaderField(String name); @Override String getRedirectLocation(); @Override void release(); @Override Map<String, List<String>> getRequestProperties(); @Override String getRequestProperty(String key);  }### Answer:
@Test public void getResponseHeaderFields() throws Exception { when(urlConnection.getHeaderFields()).thenReturn(headerFields); assertThat(downloadUrlConnection.getResponseHeaderFields()).isEqualTo(headerFields); }