You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by fg...@apache.org on 2010/03/12 13:17:37 UTC
svn commit: r922231 - in
/incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src:
main/java/org/apache/chemistry/atompub/server/CMISObjectsCollection.java
test/java/org/apache/chemistry/atompub/server/AtomPubServerTestCase.java
Author: fguillaume
Date: Fri Mar 12 12:17:37 2010
New Revision: 922231
URL: http://svn.apache.org/viewvc?rev=922231&view=rev
Log:
CMIS-156: don't crash on invalid MIME types
Modified:
incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISObjectsCollection.java
incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/AtomPubServerTestCase.java
Modified: incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISObjectsCollection.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISObjectsCollection.java?rev=922231&r1=922230&r2=922231&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISObjectsCollection.java (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISObjectsCollection.java Fri Mar 12 12:17:37 2010
@@ -31,6 +31,7 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Map;
+import javax.activation.MimeType;
import javax.xml.namespace.QName;
import org.apache.abdera.factory.Factory;
@@ -552,7 +553,7 @@ public abstract class CMISObjectsCollect
} catch (ResponseContextException e) {
return createErrorResponse(e);
} catch (IllegalArgumentException e) {
- return createErrorResponse(new ResponseContextException(400, e));
+ return createErrorResponse(new ResponseContextException(400, e));
} catch (ConstraintViolationException e) {
return createErrorResponse(new ResponseContextException(409, e));
} catch (CMISRuntimeException e) {
@@ -758,7 +759,17 @@ public abstract class CMISObjectsCollect
@Override
public String getContentType(ObjectEntry object) {
try {
- return (String) object.getValue(Property.CONTENT_STREAM_MIME_TYPE);
+ String mimeType = (String) object.getValue(Property.CONTENT_STREAM_MIME_TYPE);
+ // make sure it's a valid MIME type otherwise Abdera will throw
+ try {
+ new MimeType(mimeType).toString();
+ } catch (Exception e) {
+ log.error("Object " + object.getId() + " has invalid "
+ + Property.CONTENT_STREAM_MIME_TYPE + " '" + mimeType
+ + "', will be served as 'application/octet-stream'");
+ mimeType = "application/octet-stream";
+ }
+ return mimeType;
} catch (IllegalArgumentException e) {
return null;
}
Modified: incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/AtomPubServerTestCase.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/AtomPubServerTestCase.java?rev=922231&r1=922230&r2=922231&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/AtomPubServerTestCase.java (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/AtomPubServerTestCase.java Fri Mar 12 12:17:37 2010
@@ -83,6 +83,8 @@ public abstract class AtomPubServerTestC
protected static String doc3id;
+ protected static String doc4id;
+
protected RepositoryService repositoryService;
public Server server;
@@ -188,6 +190,15 @@ public abstract class AtomPubServerTestC
doc3.save();
doc3id = doc3.getId();
+ Document doc4 = folder2.newDocument("doc");
+ doc4.setName("doc4");
+ doc4.setValue("title", "doc 4 title");
+ cs = new SimpleContentStream(TEST_FILE_CONTENT.getBytes("UTF-8"),
+ "invalid_mime", "doc4.txt");
+ doc4.setContentStream(cs);
+ doc4.save();
+ doc4id = doc4.getId();
+
conn.close();
return repo;
}
@@ -453,6 +464,17 @@ public abstract class AtomPubServerTestC
method.releaseConnection();
}
+ public void testBadContentType() throws Exception {
+ HttpMethod method = new GetMethod(base + "/file/" + doc4id);
+ int status = new HttpClient().executeMethod(method);
+ assertEquals(HttpStatus.SC_OK, status);
+ assertEquals("application/octet-stream", method.getResponseHeader(
+ "Content-Type").getValue());
+ byte[] body = method.getResponseBody();
+ assertEquals(TEST_FILE_CONTENT, new String(body, "UTF-8"));
+ method.releaseConnection();
+ }
+
public void testQueryPOST() throws Exception {
EntityProvider provider = new QueryEntityProvider("SELECT * FROM doc",
true, null, null);
Re: svn commit: r922231 - in /incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src:
main/java/org/apache/chemistry/atompub/server/CMISObjectsCollection.java
test/java/org/apache/chemistry/atompub/server/AtomPubServerTestCase.java
Posted by Dominique Pfister <do...@day.com>.
I can :) Should be fine now.
Dominique
On Tue, Mar 16, 2010 at 5:48 PM, Florent Guillaume <fg...@nuxeo.com> wrote:
> Argh yes, I missed that :)
> Do you want me to fix it or can you do it?
>
> Thanks,
> Florent
>
> 2010/3/16 Dominique Pfister <do...@day.com>:
>> Hi Florent,
>>
>> Your valid mime-type check now produces a log messages for every
>> non-document or document that has no content stream mime type set
>> (cmis:contentStreamMimeType is null), such as:
>>
>> 17:22:52,231 ERROR [CMISObjectsCollection] Object
>> 2e683c0a-f0e3-43fd-bbef-4b88745275af has invalid
>> cmis:contentStreamMimeType 'null', will be served as
>> 'application/octet-stream'
>>
>> I guess the object value should first be checked against null, what do
>> you think?
>>
>> Kind regards
>> Dominique
>>
>> On Fri, Mar 12, 2010 at 1:17 PM, <fg...@apache.org> wrote:
>>> Author: fguillaume
>>> Date: Fri Mar 12 12:17:37 2010
>>> New Revision: 922231
>>>
>>> URL: http://svn.apache.org/viewvc?rev=922231&view=rev
>>> Log:
>>> CMIS-156: don't crash on invalid MIME types
>>>
>>> Modified:
>>> incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISObjectsCollection.java
>>> incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/AtomPubServerTestCase.java
>>>
>>> Modified: incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISObjectsCollection.java
>>> URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISObjectsCollection.java?rev=922231&r1=922230&r2=922231&view=diff
>>> ==============================================================================
>>> --- incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISObjectsCollection.java (original)
>>> +++ incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISObjectsCollection.java Fri Mar 12 12:17:37 2010
>>> @@ -31,6 +31,7 @@ import java.util.LinkedList;
>>> import java.util.List;
>>> import java.util.Map;
>>>
>>> +import javax.activation.MimeType;
>>> import javax.xml.namespace.QName;
>>>
>>> import org.apache.abdera.factory.Factory;
>>> @@ -552,7 +553,7 @@ public abstract class CMISObjectsCollect
>>> } catch (ResponseContextException e) {
>>> return createErrorResponse(e);
>>> } catch (IllegalArgumentException e) {
>>> - return createErrorResponse(new ResponseContextException(400, e));
>>> + return createErrorResponse(new ResponseContextException(400, e));
>>> } catch (ConstraintViolationException e) {
>>> return createErrorResponse(new ResponseContextException(409, e));
>>> } catch (CMISRuntimeException e) {
>>> @@ -758,7 +759,17 @@ public abstract class CMISObjectsCollect
>>> @Override
>>> public String getContentType(ObjectEntry object) {
>>> try {
>>> - return (String) object.getValue(Property.CONTENT_STREAM_MIME_TYPE);
>>> + String mimeType = (String) object.getValue(Property.CONTENT_STREAM_MIME_TYPE);
>>> + // make sure it's a valid MIME type otherwise Abdera will throw
>>> + try {
>>> + new MimeType(mimeType).toString();
>>> + } catch (Exception e) {
>>> + log.error("Object " + object.getId() + " has invalid "
>>> + + Property.CONTENT_STREAM_MIME_TYPE + " '" + mimeType
>>> + + "', will be served as 'application/octet-stream'");
>>> + mimeType = "application/octet-stream";
>>> + }
>>> + return mimeType;
>>> } catch (IllegalArgumentException e) {
>>> return null;
>>> }
>>>
>>> Modified: incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/AtomPubServerTestCase.java
>>> URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/AtomPubServerTestCase.java?rev=922231&r1=922230&r2=922231&view=diff
>>> ==============================================================================
>>> --- incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/AtomPubServerTestCase.java (original)
>>> +++ incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/AtomPubServerTestCase.java Fri Mar 12 12:17:37 2010
>>> @@ -83,6 +83,8 @@ public abstract class AtomPubServerTestC
>>>
>>> protected static String doc3id;
>>>
>>> + protected static String doc4id;
>>> +
>>> protected RepositoryService repositoryService;
>>>
>>> public Server server;
>>> @@ -188,6 +190,15 @@ public abstract class AtomPubServerTestC
>>> doc3.save();
>>> doc3id = doc3.getId();
>>>
>>> + Document doc4 = folder2.newDocument("doc");
>>> + doc4.setName("doc4");
>>> + doc4.setValue("title", "doc 4 title");
>>> + cs = new SimpleContentStream(TEST_FILE_CONTENT.getBytes("UTF-8"),
>>> + "invalid_mime", "doc4.txt");
>>> + doc4.setContentStream(cs);
>>> + doc4.save();
>>> + doc4id = doc4.getId();
>>> +
>>> conn.close();
>>> return repo;
>>> }
>>> @@ -453,6 +464,17 @@ public abstract class AtomPubServerTestC
>>> method.releaseConnection();
>>> }
>>>
>>> + public void testBadContentType() throws Exception {
>>> + HttpMethod method = new GetMethod(base + "/file/" + doc4id);
>>> + int status = new HttpClient().executeMethod(method);
>>> + assertEquals(HttpStatus.SC_OK, status);
>>> + assertEquals("application/octet-stream", method.getResponseHeader(
>>> + "Content-Type").getValue());
>>> + byte[] body = method.getResponseBody();
>>> + assertEquals(TEST_FILE_CONTENT, new String(body, "UTF-8"));
>>> + method.releaseConnection();
>>> + }
>>> +
>>> public void testQueryPOST() throws Exception {
>>> EntityProvider provider = new QueryEntityProvider("SELECT * FROM doc",
>>> true, null, null);
>>>
>>>
>>>
>>
>
>
>
> --
> Florent Guillaume, Director of R&D, Nuxeo
> Open Source, Java EE based, Enterprise Content Management (ECM)
> http://www.nuxeo.com http://www.nuxeo.org +33 1 40 33 79 87
>
Re: svn commit: r922231 - in /incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src:
main/java/org/apache/chemistry/atompub/server/CMISObjectsCollection.java
test/java/org/apache/chemistry/atompub/server/AtomPubServerTestCase.java
Posted by Florent Guillaume <fg...@nuxeo.com>.
Argh yes, I missed that :)
Do you want me to fix it or can you do it?
Thanks,
Florent
2010/3/16 Dominique Pfister <do...@day.com>:
> Hi Florent,
>
> Your valid mime-type check now produces a log messages for every
> non-document or document that has no content stream mime type set
> (cmis:contentStreamMimeType is null), such as:
>
> 17:22:52,231 ERROR [CMISObjectsCollection] Object
> 2e683c0a-f0e3-43fd-bbef-4b88745275af has invalid
> cmis:contentStreamMimeType 'null', will be served as
> 'application/octet-stream'
>
> I guess the object value should first be checked against null, what do
> you think?
>
> Kind regards
> Dominique
>
> On Fri, Mar 12, 2010 at 1:17 PM, <fg...@apache.org> wrote:
>> Author: fguillaume
>> Date: Fri Mar 12 12:17:37 2010
>> New Revision: 922231
>>
>> URL: http://svn.apache.org/viewvc?rev=922231&view=rev
>> Log:
>> CMIS-156: don't crash on invalid MIME types
>>
>> Modified:
>> incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISObjectsCollection.java
>> incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/AtomPubServerTestCase.java
>>
>> Modified: incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISObjectsCollection.java
>> URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISObjectsCollection.java?rev=922231&r1=922230&r2=922231&view=diff
>> ==============================================================================
>> --- incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISObjectsCollection.java (original)
>> +++ incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISObjectsCollection.java Fri Mar 12 12:17:37 2010
>> @@ -31,6 +31,7 @@ import java.util.LinkedList;
>> import java.util.List;
>> import java.util.Map;
>>
>> +import javax.activation.MimeType;
>> import javax.xml.namespace.QName;
>>
>> import org.apache.abdera.factory.Factory;
>> @@ -552,7 +553,7 @@ public abstract class CMISObjectsCollect
>> } catch (ResponseContextException e) {
>> return createErrorResponse(e);
>> } catch (IllegalArgumentException e) {
>> - return createErrorResponse(new ResponseContextException(400, e));
>> + return createErrorResponse(new ResponseContextException(400, e));
>> } catch (ConstraintViolationException e) {
>> return createErrorResponse(new ResponseContextException(409, e));
>> } catch (CMISRuntimeException e) {
>> @@ -758,7 +759,17 @@ public abstract class CMISObjectsCollect
>> @Override
>> public String getContentType(ObjectEntry object) {
>> try {
>> - return (String) object.getValue(Property.CONTENT_STREAM_MIME_TYPE);
>> + String mimeType = (String) object.getValue(Property.CONTENT_STREAM_MIME_TYPE);
>> + // make sure it's a valid MIME type otherwise Abdera will throw
>> + try {
>> + new MimeType(mimeType).toString();
>> + } catch (Exception e) {
>> + log.error("Object " + object.getId() + " has invalid "
>> + + Property.CONTENT_STREAM_MIME_TYPE + " '" + mimeType
>> + + "', will be served as 'application/octet-stream'");
>> + mimeType = "application/octet-stream";
>> + }
>> + return mimeType;
>> } catch (IllegalArgumentException e) {
>> return null;
>> }
>>
>> Modified: incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/AtomPubServerTestCase.java
>> URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/AtomPubServerTestCase.java?rev=922231&r1=922230&r2=922231&view=diff
>> ==============================================================================
>> --- incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/AtomPubServerTestCase.java (original)
>> +++ incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/AtomPubServerTestCase.java Fri Mar 12 12:17:37 2010
>> @@ -83,6 +83,8 @@ public abstract class AtomPubServerTestC
>>
>> protected static String doc3id;
>>
>> + protected static String doc4id;
>> +
>> protected RepositoryService repositoryService;
>>
>> public Server server;
>> @@ -188,6 +190,15 @@ public abstract class AtomPubServerTestC
>> doc3.save();
>> doc3id = doc3.getId();
>>
>> + Document doc4 = folder2.newDocument("doc");
>> + doc4.setName("doc4");
>> + doc4.setValue("title", "doc 4 title");
>> + cs = new SimpleContentStream(TEST_FILE_CONTENT.getBytes("UTF-8"),
>> + "invalid_mime", "doc4.txt");
>> + doc4.setContentStream(cs);
>> + doc4.save();
>> + doc4id = doc4.getId();
>> +
>> conn.close();
>> return repo;
>> }
>> @@ -453,6 +464,17 @@ public abstract class AtomPubServerTestC
>> method.releaseConnection();
>> }
>>
>> + public void testBadContentType() throws Exception {
>> + HttpMethod method = new GetMethod(base + "/file/" + doc4id);
>> + int status = new HttpClient().executeMethod(method);
>> + assertEquals(HttpStatus.SC_OK, status);
>> + assertEquals("application/octet-stream", method.getResponseHeader(
>> + "Content-Type").getValue());
>> + byte[] body = method.getResponseBody();
>> + assertEquals(TEST_FILE_CONTENT, new String(body, "UTF-8"));
>> + method.releaseConnection();
>> + }
>> +
>> public void testQueryPOST() throws Exception {
>> EntityProvider provider = new QueryEntityProvider("SELECT * FROM doc",
>> true, null, null);
>>
>>
>>
>
--
Florent Guillaume, Director of R&D, Nuxeo
Open Source, Java EE based, Enterprise Content Management (ECM)
http://www.nuxeo.com http://www.nuxeo.org +33 1 40 33 79 87
Re: svn commit: r922231 - in /incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src:
main/java/org/apache/chemistry/atompub/server/CMISObjectsCollection.java
test/java/org/apache/chemistry/atompub/server/AtomPubServerTestCase.java
Posted by Dominique Pfister <do...@day.com>.
Hi Florent,
Your valid mime-type check now produces a log messages for every
non-document or document that has no content stream mime type set
(cmis:contentStreamMimeType is null), such as:
17:22:52,231 ERROR [CMISObjectsCollection] Object
2e683c0a-f0e3-43fd-bbef-4b88745275af has invalid
cmis:contentStreamMimeType 'null', will be served as
'application/octet-stream'
I guess the object value should first be checked against null, what do
you think?
Kind regards
Dominique
On Fri, Mar 12, 2010 at 1:17 PM, <fg...@apache.org> wrote:
> Author: fguillaume
> Date: Fri Mar 12 12:17:37 2010
> New Revision: 922231
>
> URL: http://svn.apache.org/viewvc?rev=922231&view=rev
> Log:
> CMIS-156: don't crash on invalid MIME types
>
> Modified:
> incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISObjectsCollection.java
> incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/AtomPubServerTestCase.java
>
> Modified: incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISObjectsCollection.java
> URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISObjectsCollection.java?rev=922231&r1=922230&r2=922231&view=diff
> ==============================================================================
> --- incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISObjectsCollection.java (original)
> +++ incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISObjectsCollection.java Fri Mar 12 12:17:37 2010
> @@ -31,6 +31,7 @@ import java.util.LinkedList;
> import java.util.List;
> import java.util.Map;
>
> +import javax.activation.MimeType;
> import javax.xml.namespace.QName;
>
> import org.apache.abdera.factory.Factory;
> @@ -552,7 +553,7 @@ public abstract class CMISObjectsCollect
> } catch (ResponseContextException e) {
> return createErrorResponse(e);
> } catch (IllegalArgumentException e) {
> - return createErrorResponse(new ResponseContextException(400, e));
> + return createErrorResponse(new ResponseContextException(400, e));
> } catch (ConstraintViolationException e) {
> return createErrorResponse(new ResponseContextException(409, e));
> } catch (CMISRuntimeException e) {
> @@ -758,7 +759,17 @@ public abstract class CMISObjectsCollect
> @Override
> public String getContentType(ObjectEntry object) {
> try {
> - return (String) object.getValue(Property.CONTENT_STREAM_MIME_TYPE);
> + String mimeType = (String) object.getValue(Property.CONTENT_STREAM_MIME_TYPE);
> + // make sure it's a valid MIME type otherwise Abdera will throw
> + try {
> + new MimeType(mimeType).toString();
> + } catch (Exception e) {
> + log.error("Object " + object.getId() + " has invalid "
> + + Property.CONTENT_STREAM_MIME_TYPE + " '" + mimeType
> + + "', will be served as 'application/octet-stream'");
> + mimeType = "application/octet-stream";
> + }
> + return mimeType;
> } catch (IllegalArgumentException e) {
> return null;
> }
>
> Modified: incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/AtomPubServerTestCase.java
> URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/AtomPubServerTestCase.java?rev=922231&r1=922230&r2=922231&view=diff
> ==============================================================================
> --- incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/AtomPubServerTestCase.java (original)
> +++ incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/AtomPubServerTestCase.java Fri Mar 12 12:17:37 2010
> @@ -83,6 +83,8 @@ public abstract class AtomPubServerTestC
>
> protected static String doc3id;
>
> + protected static String doc4id;
> +
> protected RepositoryService repositoryService;
>
> public Server server;
> @@ -188,6 +190,15 @@ public abstract class AtomPubServerTestC
> doc3.save();
> doc3id = doc3.getId();
>
> + Document doc4 = folder2.newDocument("doc");
> + doc4.setName("doc4");
> + doc4.setValue("title", "doc 4 title");
> + cs = new SimpleContentStream(TEST_FILE_CONTENT.getBytes("UTF-8"),
> + "invalid_mime", "doc4.txt");
> + doc4.setContentStream(cs);
> + doc4.save();
> + doc4id = doc4.getId();
> +
> conn.close();
> return repo;
> }
> @@ -453,6 +464,17 @@ public abstract class AtomPubServerTestC
> method.releaseConnection();
> }
>
> + public void testBadContentType() throws Exception {
> + HttpMethod method = new GetMethod(base + "/file/" + doc4id);
> + int status = new HttpClient().executeMethod(method);
> + assertEquals(HttpStatus.SC_OK, status);
> + assertEquals("application/octet-stream", method.getResponseHeader(
> + "Content-Type").getValue());
> + byte[] body = method.getResponseBody();
> + assertEquals(TEST_FILE_CONTENT, new String(body, "UTF-8"));
> + method.releaseConnection();
> + }
> +
> public void testQueryPOST() throws Exception {
> EntityProvider provider = new QueryEntityProvider("SELECT * FROM doc",
> true, null, null);
>
>
>