From b1c8641a63a67e3c64d948f9e8dce5c01e11e2dd Mon Sep 17 00:00:00 2001 From: mcentner Date: Wed, 5 May 2010 15:29:01 +0000 Subject: Merged feature branch mocca-1.2.13-id@r724 back to trunk. git-svn-id: https://joinup.ec.europa.eu/svn/mocca/trunk@725 8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4 --- .../java/at/gv/egiz/bku/binding/FormDataTest.java | 90 ++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 bkucommon/src/test/java/at/gv/egiz/bku/binding/FormDataTest.java (limited to 'bkucommon/src/test/java/at/gv/egiz/bku/binding/FormDataTest.java') diff --git a/bkucommon/src/test/java/at/gv/egiz/bku/binding/FormDataTest.java b/bkucommon/src/test/java/at/gv/egiz/bku/binding/FormDataTest.java new file mode 100644 index 00000000..4f6e0664 --- /dev/null +++ b/bkucommon/src/test/java/at/gv/egiz/bku/binding/FormDataTest.java @@ -0,0 +1,90 @@ +/* +* Copyright 2008 Federal Chancellery Austria and +* Graz University of Technology +* +* 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 at.gv.egiz.bku.binding; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.net.MalformedURLException; + +import org.junit.Test; +import static org.junit.Assert.*; + +import at.gv.egiz.bku.binding.FormDataURLSupplier; +import at.gv.egiz.bku.utils.StreamUtil; +import at.gv.egiz.bku.utils.urldereferencer.StreamData; +import at.gv.egiz.bku.utils.urldereferencer.URLDereferencerImpl; + +public class FormDataTest implements FormDataURLSupplier { + + protected InputStream testStream = null; + protected String contentType = null; + protected String paramName = ""; + + @Override + public InputStream getFormData(String parameterName) { + if (paramName.equals(parameterName)) { + return testStream; + } else { + return null; + } + } + + @Override + public String getFormDataContentType(String parameterName) { + if (paramName.equals(parameterName)) { + return contentType; + } else { + return null; + } + } + + @Test(expected = MalformedURLException.class) + public void testInvalidFormdataUrl() throws IOException { + String url = "abs://whatknowi"; + FormDataURLDereferencer dereferencer = new FormDataURLDereferencer(URLDereferencerImpl.getInstance(), this); + StreamData sd = dereferencer.dereference(url); + assertNull(sd); + url = ":://whatknowi"; + sd = URLDereferencerImpl.getInstance().dereference(url); + assertNull(sd); + url = ""; + sd = URLDereferencerImpl.getInstance().dereference(url); + } + + @Test + public void testFormData() throws IOException { + paramName = "Müllcontainer"; + testStream = new ByteArrayInputStream("HelloWorld".getBytes("UTF-8")); + String url = "formdata:"+paramName; + FormDataURLDereferencer dereferencer = new FormDataURLDereferencer(URLDereferencerImpl.getInstance(), this); + StreamData sd = dereferencer.dereference(url); + assertNotNull(sd); + String result = StreamUtil.asString(sd.getStream(), "UTF-8"); + assertEquals("HelloWorld", result); + } + + @Test(expected=IOException.class) + public void testFormDataNotFound() throws IOException { + paramName = "Müllcontainer"; + testStream = new ByteArrayInputStream("HelloWorld".getBytes("UTF-8")); + String url = "formdata:"+paramName+"2"; + FormDataURLDereferencer dereferencer = new FormDataURLDereferencer(URLDereferencerImpl.getInstance(), this); + dereferencer.dereference(url); + } + +} -- cgit v1.2.3