OSDN Git Service

Move URLTest tests to libcore.
authorJesse Wilson <jessewilson@google.com>
Fri, 21 Jan 2011 18:37:19 +0000 (10:37 -0800)
committerJesse Wilson <jessewilson@google.com>
Fri, 21 Jan 2011 18:37:19 +0000 (10:37 -0800)
These tests were migrated to libcore in change ID I5a6bcdf1c03d0c36b11552ae086d0dece0440f64.

Change-Id: Idc2d8fc3681b77c9a4c19a192a202bc556a48d23

tests/CoreTests/android/core/URLTest.java [deleted file]

diff --git a/tests/CoreTests/android/core/URLTest.java b/tests/CoreTests/android/core/URLTest.java
deleted file mode 100644 (file)
index 5efcd5b..0000000
+++ /dev/null
@@ -1,228 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.core;
-
-import android.test.suitebuilder.annotation.Suppress;
-import junit.framework.TestCase;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.io.PrintWriter;
-import java.net.HttpURLConnection;
-import java.net.ServerSocket;
-import java.net.Socket;
-import java.net.URL;
-import java.net.URLConnection;
-import java.util.HashMap;
-import java.util.Map;
-
-public class URLTest extends TestCase {
-
-    private static void get(String u) throws IOException {
-        URL url = new URL(u);
-        URLConnection cn = url.openConnection();
-        cn.connect();
-//        System.out.println("Content-Type: " + cn.getContentType());
-//        System.out.println("Content-Length: " + cn.getContentLength());
-
-        InputStream stream = cn.getInputStream();
-        if (stream == null) {
-            throw new RuntimeException("stream is null");
-        }
-        byte[] data = new byte[1024];
-        stream.read(data);
-
-//            if (true) {
-//                System.out.print("data=");
-//                System.out.write(data);
-//                System.out.println();
-//            }
-
-//                System.out.println("Content-Type: " + cn.getContentType());
-//                System.out.print("data:");
-//                System.out.write(data);
-//                System.out.println();
-
-        assertTrue(new String(data).indexOf("<html>") >= 0);
-    }
-
-    @Suppress
-    public void testGetHTTP() throws Exception {
-        get("http://www.google.com");
-    }
-
-    @Suppress
-    public void testGetHTTPS() throws Exception {
-        get("https://www.fortify.net/cgi/ssl_2.pl");
-    }
-
-    /**
-     * Dummy HTTP server class for testing keep-alive behavior. Listens a
-     * single time and responds to a given number of requests on the same
-     * socket. Then closes the socket.
-     */
-    private static class DummyServer implements Runnable {
-
-        private int keepAliveCount;
-        private Map<String, String> headers = new HashMap<String, String>();
-
-        public DummyServer(int keepAliveCount) {
-            this.keepAliveCount = keepAliveCount;
-        }
-
-        public void run() {
-            try {
-                ServerSocket server = new ServerSocket(8182);
-                Socket socket = server.accept();
-
-                InputStream input = socket.getInputStream();
-                BufferedReader reader = new BufferedReader(new InputStreamReader(input));
-                try {
-                    for (int i = 0; i < keepAliveCount; i++) {
-                        reader.readLine();
-                        headers.clear();
-                        while (true) {
-                            String header = reader.readLine();
-                            if (header.length() == 0) {
-                                break;
-                            }
-                            int colon = header.indexOf(":");
-                            String key = header.substring(0, colon);
-                            String value = header.substring(colon + 1).trim();
-                            headers.put(key, value);
-                        }
-
-                        OutputStream output = socket.getOutputStream();
-                        PrintWriter writer = new PrintWriter(output);
-
-                        try {
-                            writer.println("HTTP/1.1 200 OK");
-                            String body = "Hello, Android world #" + i + "!";
-                            writer.println("Content-Length: " + body.length());
-                            writer.println("");
-                            writer.print(body);
-                            writer.flush();
-                        } finally {
-                            writer.close();
-                        }
-                    }
-                } finally {
-                    reader.close();
-                }
-                socket.close();
-                server.close();
-            } catch (Exception ex) {
-                throw new RuntimeException(ex);
-            }
-        }
-    }
-
-    /**
-     * Does a request to the given URL, reads and returns the result.
-     */
-    private String request(URL url) throws Exception {
-        URLConnection connection = url.openConnection();
-        connection.connect();
-
-        InputStream input = connection.getInputStream();
-        BufferedReader reader = new BufferedReader(new InputStreamReader(input));
-        try {
-            return reader.readLine();
-        } finally {
-            reader.close();
-        }
-    }
-
-    /**
-     * Test case for HTTP keep-alive behavior.
-     */
-    @Suppress
-    public void testGetKeepAlive() throws Exception {
-        new Thread(new DummyServer(3)).start();
-        Thread.sleep(100);
-
-        // We expect the request to work three times, then it fails.
-        URL url = new URL("http://localhost:8182");
-        assertEquals("Hello, Android world #0!", request(url));
-        assertEquals("Hello, Android world #1!", request(url));
-        assertEquals("Hello, Android world #2!", request(url));
-
-        try {
-            request(url);
-            fail("ConnectException expected.");
-        } catch (Exception ex) {
-            // Ok.
-        }
-    }
-
-    @Suppress
-    public void testUserAgentHeader() throws Exception {
-        DummyServer server = new DummyServer(1);
-        new Thread(server).start();
-        Thread.sleep(100);
-
-        // We expect the request to work three times, then it fails.
-        request(new URL("http://localhost:8182"));
-
-        String userAgent = server.headers.get("User-Agent");
-        assertTrue("Unexpected User-Agent: " + userAgent, userAgent.matches(
-                "Dalvik/[\\d.]+ \\(Linux; U; Android \\w+(;.*)?( Build/\\w+)?\\)"));
-    }
-
-    /**
-     * Regression for issue 1001814.
-     */
-    @Suppress
-    public void testHttpConnectionTimeout() throws Exception {
-        int timeout = 5000;
-        HttpURLConnection cn = null;
-        long start = 0;
-        try {
-            start = System.currentTimeMillis();
-            URL url = new URL("http://123.123.123.123");
-            cn = (HttpURLConnection) url.openConnection();
-            cn.setConnectTimeout(5000);
-            cn.connect();
-            fail("should have thrown an exception");
-        } catch (IOException ioe) {
-            long delay = System.currentTimeMillis() - start;
-            if (Math.abs(timeout - delay) > 1000) {
-                fail("Timeout was not accurate. it needed " + delay +
-                        " instead of " + timeout + "miliseconds");
-            }
-        } finally {
-            if (cn != null) {
-                cn.disconnect();
-            }
-        }
-    }
-
-    /** 
-     * Regression test for issue 1158780 where using '{' and '}' in an URL threw
-     * an NPE. The RI accepts this URL and returns the status 404.
-     */
-    @Suppress
-    public void testMalformedUrl() throws Exception {
-        URL url = new URL("http://www.google.com/cgi-bin/myscript?g={United+States}+Borders+Mexico+{Climate+change}+Marketing+{Automotive+industry}+News+Health+Internet");
-        HttpURLConnection conn = (HttpURLConnection)url.openConnection();
-        int status = conn.getResponseCode();
-        android.util.Log.d("URLTest", "status: " + status);
-    }
-}