From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5352 invoked by alias); 4 Feb 2006 14:07:55 -0000 Received: (qmail 5335 invoked by uid 22791); 4 Feb 2006 14:07:54 -0000 X-Spam-Check-By: sourceware.org Received: from mail.gmx.net (HELO mail.gmx.net) (213.165.64.21) by sourceware.org (qpsmtpd/0.31) with SMTP; Sat, 04 Feb 2006 14:07:52 +0000 Received: (qmail invoked by alias); 04 Feb 2006 14:07:48 -0000 Received: from p5481A115.dip0.t-ipconnect.de (EHLO [192.168.0.203]) [84.129.161.21] by mail.gmx.net (mp039) with SMTP; 04 Feb 2006 15:07:48 +0100 X-Authenticated: #1941950 Message-ID: <43E4B5F1.8050002@gmx.de> Date: Sat, 04 Feb 2006 14:07:00 -0000 From: Wolfgang Baer User-Agent: Debian Thunderbird 1.0.7 (X11/20051017) MIME-Version: 1.0 To: mauve-patches@sources.redhat.com Subject: FYI: New tests for HttpURLConnection Content-Type: multipart/mixed; boundary="------------000307010607040608050502" X-Y-GMX-Trusted: 0 X-IsSubscribed: yes Mailing-List: contact mauve-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: mauve-patches-owner@sourceware.org X-SW-Source: 2006/txt/msg00108.txt.bz2 This is a multi-part message in MIME format. --------------000307010607040608050502 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-length: 932 Hi, working on cups exposed some more api incompabilities in our HttpURLConnection implementation. So most of these new tests fail currently and I will try to follow up with patches on classpath-patches for approval. One existing test is removed as the used HTTP server doesn't send the tested header key anymore and therefore this test wrongly fails. 2006-02-04 Wolfgang Baer * gnu/testlet/java/net/HttpURLConnection: New directory. * gnu/testlet/java/net/HttpURLConnection/fileNotFound.java, * gnu/testlet/java/net/HttpURLConnection/nullPointerException.java, * gnu/testlet/java/net/HttpURLConnection/illegalStateException.java, * gnu/testlet/java/net/HttpURLConnection/getRequestProperty.java, * gnu/testlet/java/net/HttpURLConnection/getOutputStream.java: New tests. * gnu/testlet/java/net/URLConnection/URLConnectionTest.java: (test_getHeaderField): Removed failing wrong test. Regards, Wolfgang --------------000307010607040608050502 Content-Type: text/x-patch; name="URLConnectionPatch.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="URLConnectionPatch.patch" Content-length: 1193 Index: URLConnectionTest.java =================================================================== RCS file: /cvs/mauve/mauve/gnu/testlet/java/net/URLConnection/URLConnectionTest.java,v retrieving revision 1.3 diff -u -r1.3 URLConnectionTest.java --- URLConnectionTest.java 3 May 2004 03:21:15 -0000 1.3 +++ URLConnectionTest.java 4 Feb 2006 14:03:29 -0000 @@ -295,9 +295,7 @@ String str2 = conn.getHeaderField("Server"); harness.debug("header-2: " + str2); String str3 = conn.getHeaderField("Last-Modified"); - harness.debug("header-3: " + str3); - String str4 = conn.getHeaderField("Transfer-Encoding"); - harness.debug("header-4: " + str4); + harness.debug("header-3: " + str3); String str5 = conn.getHeaderField("Content-Type"); harness.debug("header-5: " + str5); @@ -309,10 +307,6 @@ "Error in test_getHeaderField - 1 " + " 2 header field wrong" ); - harness.check ( str4, "chunked", - "Error in test_getHeaderField - 2 " + - " 4 header field wrong" ); - harness.check ( str5.indexOf("text/html") != -1, "Error in test_getHeaderField - 3 " + " 5 header field wrong" ); --------------000307010607040608050502 Content-Type: text/x-java; name="fileNotFound.java" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="fileNotFound.java" Content-length: 1590 //Tags: JDK1.1 //Copyright (C) 2006 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve is free software; you can redistribute it and/or modify //it under the terms of the GNU General Public License as published by //the Free Software Foundation; either version 2, or (at your option) //any later version. //Mauve is distributed in the hope that it will be useful, //but WITHOUT ANY WARRANTY; without even the implied warranty of //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //GNU General Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 51 Franklin Street, Fifth Floor, //Boston, MA, 02110-1301 USA. package gnu.testlet.java.net.HttpURLConnection; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOException; import java.net.HttpURLConnection; import java.net.URL; /** * Tests that a 404 passes to the caller without exception. */ public class fileNotFound implements Testlet { public void test(TestHarness h) { try { URL url = new URL("http://www.redhat.com/mauve/testarea/edeltraut.html"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); h.check(conn.getResponseCode() == 404); conn.disconnect(); } catch (IOException e) { e.printStackTrace(); } } } --------------000307010607040608050502 Content-Type: text/x-java; name="getOutputStream.java" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="getOutputStream.java" Content-length: 2629 //Tags: JDK1.1 //Copyright (C) 2006 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve is free software; you can redistribute it and/or modify //it under the terms of the GNU General Public License as published by //the Free Software Foundation; either version 2, or (at your option) //any later version. //Mauve is distributed in the hope that it will be useful, //but WITHOUT ANY WARRANTY; without even the implied warranty of //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //GNU General Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 51 Franklin Street, Fifth Floor, //Boston, MA, 02110-1301 USA. package gnu.testlet.java.net.HttpURLConnection; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOException; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.ProtocolException; import java.net.URL; /** * Test calling behaviour of getOutputStream. Implicit * opening of connection, failing if doOutput is false ... */ public class getOutputStream implements Testlet { public void test(TestHarness h) { try { URL url = new URL("http://sources.redhat.com/mauve/testarea/index.html"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); conn.setDoOutput(false); try { // doOutput must be true to succeed conn.getOutputStream(); h.check(false); } catch (ProtocolException e1) { h.check(true); } conn.setDoOutput(true); // getOutputStream must implicit open the connection OutputStream stream = conn.getOutputStream(); try { // and therefore throw this expection // no other way to test if we are connected conn.getRequestProperties(); h.check(false); } catch (IllegalStateException e) { h.check(true); } // subsequent calls to getOutputStream must be ignored // and the identical stream returned OutputStream stream2 = conn.getOutputStream(); h.check(stream == stream2); } catch (IOException e) { e.printStackTrace(); } } } --------------000307010607040608050502 Content-Type: text/x-java; name="getRequestProperty.java" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="getRequestProperty.java" Content-length: 1533 //Tags: JDK1.1 //Copyright (C) 2006 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve is free software; you can redistribute it and/or modify //it under the terms of the GNU General Public License as published by //the Free Software Foundation; either version 2, or (at your option) //any later version. //Mauve is distributed in the hope that it will be useful, //but WITHOUT ANY WARRANTY; without even the implied warranty of //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //GNU General Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 51 Franklin Street, Fifth Floor, //Boston, MA, 02110-1301 USA. package gnu.testlet.java.net.HttpURLConnection; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.net.HttpURLConnection; import java.net.URL; /** * Tests the getRequestProperty method */ public class getRequestProperty implements Testlet { public void test(TestHarness h) { try { URL url = new URL("http://sources.redhat.com/mauve/testarea/index.html"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); String str = conn.getRequestProperty(null); h.check(str == null); } catch (Exception e) { e.printStackTrace(); } } } --------------000307010607040608050502 Content-Type: text/x-java; name="illegalStateException.java" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="illegalStateException.java" Content-length: 4361 //Tags: JDK1.1 //Copyright (C) 2006 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve is free software; you can redistribute it and/or modify //it under the terms of the GNU General Public License as published by //the Free Software Foundation; either version 2, or (at your option) //any later version. //Mauve is distributed in the hope that it will be useful, //but WITHOUT ANY WARRANTY; without even the implied warranty of //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //GNU General Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 51 Franklin Street, Fifth Floor, //Boston, MA, 02110-1301 USA. package gnu.testlet.java.net.HttpURLConnection; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOException; import java.net.HttpURLConnection; import java.net.URL; /** * Test correct throwing of IllegalStateExceptions * for the connected connection. */ public class illegalStateException implements Testlet { public void test(TestHarness h) { try { URL url = new URL("http://sources.redhat.com/mauve/testarea/index.html"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); conn.connect(); try { conn.getRequestProperties(); h.check(false); } catch (IllegalStateException e) { h.check(true); } // For some reasons SUN does not whats defined // in the API and does NOT throw a IllegalStateException // for this method - Tested with JDK1.4/1.5 // to be compatible with SUN we also don't do it try { conn.getRequestProperty("accept"); h.check(true); } catch (IllegalStateException e) { h.check(false); } try { conn.setDoInput(true); h.check(false); } catch (IllegalStateException e) { h.check(true); } try { conn.setDoOutput(true); h.check(false); } catch (IllegalStateException e) { h.check(true); } try { conn.setAllowUserInteraction(true); h.check(false); } catch (IllegalStateException e) { h.check(true); } try { conn.setUseCaches(true); h.check(false); } catch (IllegalStateException e) { h.check(true); } try { conn.setIfModifiedSince(100000L); h.check(false); } catch (IllegalStateException e) { h.check(true); } try { conn.setRequestProperty("ssss", "dddd"); h.check(false); } catch (IllegalStateException e) { h.check(true); } try { // if already connected the IllegalStateException // must take precedence over the NPE conn.setRequestProperty(null, "dddd"); h.check(false); } catch (IllegalStateException e) { h.check(true); } catch (NullPointerException e) { h.check(false); } try { conn.addRequestProperty("ssss", "dddd"); h.check(false); } catch (IllegalStateException e) { h.check(true); } try { // if already connected the IllegalStateException // must take precedence over the NPE conn.addRequestProperty(null, "dddd"); h.check(false); } catch (IllegalStateException e) { h.check(true); } catch (NullPointerException e) { h.check(false); } } catch (IOException e) { e.printStackTrace(); } } } --------------000307010607040608050502 Content-Type: text/x-java; name="nullPointerException.java" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="nullPointerException.java" Content-length: 2020 //Tags: JDK1.1 //Copyright (C) 2006 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve is free software; you can redistribute it and/or modify //it under the terms of the GNU General Public License as published by //the Free Software Foundation; either version 2, or (at your option) //any later version. //Mauve is distributed in the hope that it will be useful, //but WITHOUT ANY WARRANTY; without even the implied warranty of //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //GNU General Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 51 Franklin Street, Fifth Floor, //Boston, MA, 02110-1301 USA. package gnu.testlet.java.net.HttpURLConnection; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOException; import java.net.HttpURLConnection; import java.net.URL; /** * Test correct throwing of NPEs in unconnected connections. */ public class nullPointerException implements Testlet { public void test(TestHarness h) { try { URL url = new URL("http://sources.redhat.com/mauve/testarea/index.html"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); String str = conn.getRequestProperty(null); h.check(str == null); try { conn.setRequestProperty(null, "dddd"); h.check(false); } catch (NullPointerException e) { h.check(true); } try { conn.addRequestProperty(null, "dddd"); h.check(false); } catch (NullPointerException e) { h.check(true); } } catch (IOException e) { e.printStackTrace(); } } } --------------000307010607040608050502--