1
0
mirror of https://github.com/square/okhttp.git synced 2026-01-25 16:01:38 +03:00

Merge pull request #261 from square/jwilson/home_for_mockwebserver

Make a home for MockWebServer in OkHttp.
This commit is contained in:
Jesse Wilson
2013-08-03 14:48:06 -07:00
24 changed files with 120 additions and 15 deletions

57
mockwebserver/pom.xml Normal file
View File

@@ -0,0 +1,57 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.squareup.okhttp</groupId>
<artifactId>parent</artifactId>
<version>1.1.2-SNAPSHOT</version>
</parent>
<artifactId>mockwebserver</artifactId>
<name>MockWebServer</name>
<dependencies>
<dependency>
<groupId>com.squareup.okhttp</groupId>
<artifactId>okhttp-protocols</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
</dependency>
<dependency>
<groupId>org.mortbay.jetty.npn</groupId>
<artifactId>npn-boot</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.mockwebserver</groupId>
<artifactId>mockwebserver</artifactId>
</dependency>
</dependencies>
<build>
<!-- Don't restrict test code to Java 1.5 APIs. -->
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>animal-sniffer-maven-plugin</artifactId>
<configuration>
<signature>
<groupId>org.codehaus.mojo.signature</groupId>
<artifactId>java16</artifactId>
<version>1.0</version>
</signature>
</configuration>
</plugin>
</plugins>
</build>
</project>

27
okhttp-protocols/pom.xml Normal file
View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.squareup.okhttp</groupId>
<artifactId>parent</artifactId>
<version>1.1.2-SNAPSHOT</version>
</parent>
<artifactId>okhttp-protocols</artifactId>
<name>OkHttp SPDY and HTTP/2.0 internals</name>
<dependencies>
<dependency>
<groupId>org.mortbay.jetty.npn</groupId>
<artifactId>npn-boot</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>

View File

@@ -16,7 +16,6 @@
*/
package com.squareup.okhttp.internal;
import com.squareup.okhttp.OkHttpClient;
import java.io.IOException;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
@@ -362,7 +361,7 @@ public class Platform {
JettyNpnProvider provider =
(JettyNpnProvider) Proxy.getInvocationHandler(getMethod.invoke(null, socket));
if (!provider.unsupported && provider.selected == null) {
Logger logger = Logger.getLogger(OkHttpClient.class.getName());
Logger logger = Logger.getLogger("com.squareup.okhttp.OkHttpClient");
logger.log(Level.INFO,
"NPN callback dropped so SPDY is disabled. " + "Is npn-boot on the boot class path?");
return null;

View File

@@ -13,6 +13,11 @@
<name>OkHttp</name>
<dependencies>
<dependency>
<groupId>com.squareup.okhttp</groupId>
<artifactId>okhttp-protocols</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.mortbay.jetty.npn</groupId>
<artifactId>npn-boot</artifactId>
@@ -24,15 +29,16 @@
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.mockwebserver</groupId>
<artifactId>mockwebserver</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.squareup.okhttp</groupId>
<artifactId>mockwebserver</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>

View File

@@ -18,9 +18,18 @@ package com.squareup.okhttp.internal;
import com.google.mockwebserver.MockResponse;
import com.google.mockwebserver.MockWebServer;
import com.google.mockwebserver.RecordedRequest;
import com.squareup.okhttp.Failure;
import com.squareup.okhttp.MediaType;
import com.squareup.okhttp.OkHttpClient;
import com.squareup.okhttp.Request;
import com.squareup.okhttp.Response;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import org.junit.After;
import org.junit.Test;

View File

@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.squareup.okhttp.internal.spdy;
package com.squareup.okhttp.internal.http;
import com.google.mockwebserver.MockResponse;
import com.google.mockwebserver.RecordedRequest;
@@ -86,6 +86,7 @@ public final class HttpOverSpdyTest {
}
@After public void tearDown() throws Exception {
Authenticator.setDefault(null);
server.shutdown();
}

View File

@@ -20,26 +20,29 @@ import java.util.Arrays;
import java.util.List;
import org.junit.Test;
import static junit.framework.Assert.assertNull;
import static org.junit.Assert.assertEquals;
public final class RawHeadersTest {
@Test public void parseNameValueBlock() throws IOException {
List<String> nameValueBlock =
Arrays.asList("cache-control", "no-cache, no-store", "set-cookie", "Cookie1\u0000Cookie2",
":status", "200 OK");
// TODO: fromNameValueBlock should synthesize a request status line
List<String> nameValueBlock = Arrays.asList(
"cache-control", "no-cache, no-store",
"set-cookie", "Cookie1\u0000Cookie2",
":status", "200 OK",
":version", "HTTP/1.1");
RawHeaders rawHeaders = RawHeaders.fromNameValueBlock(nameValueBlock);
assertEquals(3, rawHeaders.length());
assertEquals("HTTP/1.1 200 OK", rawHeaders.getStatusLine());
assertEquals("no-cache, no-store", rawHeaders.get("cache-control"));
assertEquals("Cookie2", rawHeaders.get("set-cookie"));
assertEquals("200 OK", rawHeaders.get(":status"));
assertEquals("cache-control", rawHeaders.getFieldName(0));
assertEquals("no-cache, no-store", rawHeaders.getValue(0));
assertEquals("set-cookie", rawHeaders.getFieldName(1));
assertEquals("Cookie1", rawHeaders.getValue(1));
assertEquals("set-cookie", rawHeaders.getFieldName(2));
assertEquals("Cookie2", rawHeaders.getValue(2));
assertEquals(":status", rawHeaders.getFieldName(3));
assertEquals("200 OK", rawHeaders.getValue(3));
assertNull(rawHeaders.get(":status"));
assertNull(rawHeaders.get(":version"));
}
@Test public void toNameValueBlock() {

View File

@@ -112,6 +112,7 @@ public final class URLConnectionTest {
}
@After public void tearDown() throws Exception {
Authenticator.setDefault(null);
System.clearProperty("proxyHost");
System.clearProperty("proxyPort");
System.clearProperty("http.proxyHost");

View File

@@ -21,6 +21,8 @@
<modules>
<module>okhttp</module>
<module>okhttp-apache</module>
<module>okhttp-protocols</module>
<module>mockwebserver</module>
<module>samples</module>
</modules>