chemistry-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sklev...@apache.org
Subject svn commit: r1041059 - in /incubator/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-fit/src/test/java/org/apache/chemistry/opencmis/fit/runtime: ./ atom/ webservices/
Date Wed, 01 Dec 2010 15:40:29 GMT
Author: sklevenz
Date: Wed Dec  1 15:40:28 2010
New Revision: 1041059

URL: http://svn.apache.org/viewvc?rev=1041059&view=rev
Log:
Spend some FIT tests for testing transient API.

Added:
    incubator/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-fit/src/test/java/org/apache/chemistry/opencmis/fit/runtime/AbstractTransientObjectIT.java
    incubator/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-fit/src/test/java/org/apache/chemistry/opencmis/fit/runtime/atom/TransientObjectAtomPubIT.java
    incubator/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-fit/src/test/java/org/apache/chemistry/opencmis/fit/runtime/webservices/TransientObjectWebServicesIT.java
Modified:
    incubator/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-fit/src/test/java/org/apache/chemistry/opencmis/fit/runtime/AbstractWriteObjectIT.java

Added: incubator/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-fit/src/test/java/org/apache/chemistry/opencmis/fit/runtime/AbstractTransientObjectIT.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-fit/src/test/java/org/apache/chemistry/opencmis/fit/runtime/AbstractTransientObjectIT.java?rev=1041059&view=auto
==============================================================================
--- incubator/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-fit/src/test/java/org/apache/chemistry/opencmis/fit/runtime/AbstractTransientObjectIT.java
(added)
+++ incubator/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-fit/src/test/java/org/apache/chemistry/opencmis/fit/runtime/AbstractTransientObjectIT.java
Wed Dec  1 15:40:28 2010
@@ -0,0 +1,253 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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 org.apache.chemistry.opencmis.fit.runtime;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.fail;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+
+import org.apache.chemistry.opencmis.client.api.CmisObject;
+import org.apache.chemistry.opencmis.client.api.Document;
+import org.apache.chemistry.opencmis.client.api.Folder;
+import org.apache.chemistry.opencmis.client.api.ObjectId;
+import org.apache.chemistry.opencmis.client.api.OperationContext;
+import org.apache.chemistry.opencmis.client.api.TransientDocument;
+import org.apache.chemistry.opencmis.client.api.TransientFolder;
+import org.apache.chemistry.opencmis.commons.PropertyIds;
+import org.apache.chemistry.opencmis.commons.data.ContentStream;
+import org.apache.chemistry.opencmis.commons.enums.VersioningState;
+import org.apache.chemistry.opencmis.commons.exceptions.CmisObjectNotFoundException;
+import org.junit.Test;
+
+public abstract class AbstractTransientObjectIT extends AbstractSessionTest {
+	@Test
+	public void transientUpdate() throws Exception {
+		ObjectId parentId = this.session.createObjectId(this.fixture
+				.getTestRootId());
+		String filename1 = UUID.randomUUID().toString();
+		String typeId = FixtureData.DOCUMENT_TYPE_ID.value();
+
+		Map<String, Object> properties = new HashMap<String, Object>();
+		properties.put(PropertyIds.NAME, filename1);
+		properties.put(PropertyIds.OBJECT_TYPE_ID, typeId);
+
+		String mimetype = "text/html; charset=UTF-8";
+		String content1 = "Im Walde rauscht ein Wasserfall. Wenn's nicht mehr rauscht ist's Wasser
all.";
+
+		byte[] buf1 = content1.getBytes("UTF-8");
+		ByteArrayInputStream in1 = new ByteArrayInputStream(buf1);
+		ContentStream contentStream1 = this.session.getObjectFactory()
+				.createContentStream(filename1, buf1.length, mimetype, in1);
+		assertNotNull(contentStream1);
+
+		ObjectId id = this.session.createDocument(properties, parentId,
+				contentStream1, VersioningState.NONE);
+		assertNotNull(id);
+
+		// prepare new non-cache operation context
+		OperationContext oc = this.session.createOperationContext();
+		oc.setFilterString("*");
+		oc.setCacheEnabled(false);
+
+		// set new name and save
+		Document doc2 = (Document) this.session.getObject(id, oc);
+		TransientDocument tdoc2 = doc2.getTransientDocument();
+
+		assertEquals(filename1, tdoc2.getName());
+
+		ContentStream cs2 = tdoc2.getContentStream();
+		assertNotNull(cs2);
+		assertContent(buf1, readContent(cs2));
+
+		String filename2 = UUID.randomUUID().toString();
+		tdoc2.setName(filename2);
+		assertEquals(filename2, tdoc2.getName());
+
+		ObjectId id2 = tdoc2.save();
+		assertNotNull(id2);
+
+		// set new content and save
+		Document doc3 = (Document) this.session.getObject(id2, oc);
+		TransientDocument tdoc3 = doc3.getTransientDocument();
+
+		assertEquals(filename2, tdoc3.getName());
+
+		ContentStream cs3 = tdoc3.getContentStream();
+		assertNotNull(cs3);
+		assertContent(buf1, readContent(cs3));
+
+		String content3 = "Es rauscht noch.";
+
+		byte[] buf3 = content3.getBytes("UTF-8");
+		ByteArrayInputStream in3 = new ByteArrayInputStream(buf3);
+		ContentStream contentStream3 = this.session.getObjectFactory()
+				.createContentStream(tdoc3.getName(), buf3.length, mimetype,
+						in3);
+		assertNotNull(contentStream3);
+
+		tdoc3.setContentStream(contentStream3, true);
+
+		ObjectId id3 = tdoc3.save();
+		assertNotNull(id3);
+
+		// set new name, delete content and save
+		Document doc4 = (Document) this.session.getObject(id3, oc);
+		TransientDocument tdoc4 = doc4.getTransientDocument();
+
+		assertEquals(tdoc3.getName(), tdoc4.getName());
+
+		ContentStream cs4 = tdoc4.getContentStream();
+		assertNotNull(cs4);
+		assertContent(buf3, readContent(cs4));
+
+		String filename4 = UUID.randomUUID().toString();
+		tdoc4.setName(filename4);
+		assertEquals(filename4, tdoc4.getName());
+
+		tdoc4.deleteContentStream();
+
+		ObjectId id4 = tdoc4.save();
+		assertNotNull(id4);
+
+		// delete object
+		Document doc5 = (Document) this.session.getObject(id4, oc);
+		TransientDocument tdoc5 = doc5.getTransientDocument();
+
+		assertEquals(filename4, tdoc5.getName());
+
+		ContentStream cs5 = tdoc4.getContentStream();
+		assertNull(cs5);
+
+		assertEquals(false, tdoc5.isMarkedForDelete());
+
+		tdoc5.delete(true);
+
+		assertEquals(true, tdoc5.isMarkedForDelete());
+
+		ObjectId id5 = tdoc5.save();
+		assertNull(id5);
+
+		// check
+		try {
+			this.session.getObject(id4, oc);
+			fail("CmisObjectNotFoundException expected!");
+		} catch (CmisObjectNotFoundException e) {
+			// expected
+		}
+	}
+
+	@Test
+	public void transientFolderSessionCheck() throws UnsupportedEncodingException {
+	    String path = "/" + Fixture.TEST_ROOT_FOLDER_NAME + "/" + FixtureData.FOLDER1_NAME;
+		Folder folder1 = (Folder) this.session.getObjectByPath(path);
+		assertNotNull("folder not found: " + path, folder1);
+
+		TransientFolder tfolder = folder1.getTransientFolder();
+		assertNotNull(tfolder);
+
+		String newFolderName = UUID.randomUUID().toString();
+		tfolder.setPropertyValue(PropertyIds.NAME, newFolderName);
+		
+		Folder folder2 = (Folder) this.session2.getObjectByPath(path);
+		assertNotNull(folder2);
+		assertEquals(folder2.getProperty(PropertyIds.NAME).getValueAsString(), FixtureData.FOLDER1_NAME.toString());
+		assertEquals(tfolder.getProperty(PropertyIds.NAME).getValueAsString(), newFolderName);
+		
+		tfolder.save();
+
+		ObjectId id = this.session2.createObjectId(tfolder.getId());
+		
+		// prepare new non-cache operation context
+		OperationContext oc = this.session.createOperationContext();
+		oc.setFilterString("*");
+		oc.setCacheEnabled(false);
+		
+		Folder folder3 = (Folder) this.session2.getObject(id, oc);
+		assertNotNull(folder3);
+		assertEquals(folder3.getProperty(PropertyIds.NAME).getValueAsString(), newFolderName);
+	}
+
+	@Test
+	public void transientDocumentSessionCheck() throws UnsupportedEncodingException {
+	    String path = "/" + Fixture.TEST_ROOT_FOLDER_NAME + "/" + FixtureData.DOCUMENT1_NAME;
+		Document document1 = (Document) this.session.getObjectByPath(path);
+		assertNotNull("document not found: " + path, document1);
+
+		TransientDocument tdoc = document1.getTransientDocument();
+		assertNotNull(tdoc);
+
+		String newDocName = UUID.randomUUID().toString();
+		tdoc.setPropertyValue(PropertyIds.NAME, newDocName);
+		
+		Document  doc2 = (Document) this.session2.getObjectByPath(path);
+		assertNotNull(doc2);
+		assertEquals(doc2.getProperty(PropertyIds.NAME).getValueAsString(), FixtureData.DOCUMENT1_NAME.toString());
+		assertEquals(tdoc.getProperty(PropertyIds.NAME).getValueAsString(), newDocName);
+		
+		tdoc.save();
+
+		ObjectId id = this.session2.createObjectId(tdoc.getId());
+		
+		// prepare new non-cache operation context
+		OperationContext oc = this.session.createOperationContext();
+		oc.setFilterString("*");
+		oc.setCacheEnabled(false);
+		
+		Document doc3 = (Document) this.session2.getObject(id, oc);
+		assertNotNull(doc3);
+		assertEquals(doc3.getProperty(PropertyIds.NAME).getValueAsString(), newDocName);
+	}
+
+	
+	private byte[] readContent(ContentStream contentStream) throws Exception {
+		assertNotNull(contentStream);
+		assertNotNull(contentStream.getStream());
+
+		InputStream stream = contentStream.getStream();
+		ByteArrayOutputStream baos = new ByteArrayOutputStream();
+
+		byte[] buffer = new byte[4096];
+		int b;
+		while ((b = stream.read(buffer)) > -1) {
+			baos.write(buffer, 0, b);
+		}
+
+		return baos.toByteArray();
+	}
+
+	private void assertContent(byte[] expected, byte[] actual) {
+		assertNotNull(expected);
+		assertNotNull(actual);
+
+		assertEquals("Content size:", expected.length, actual.length);
+
+		for (int i = 0; i < expected.length; i++) {
+			assertEquals("Content not equal.", expected[i], actual[i]);
+		}
+	}
+}

Modified: incubator/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-fit/src/test/java/org/apache/chemistry/opencmis/fit/runtime/AbstractWriteObjectIT.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-fit/src/test/java/org/apache/chemistry/opencmis/fit/runtime/AbstractWriteObjectIT.java?rev=1041059&r1=1041058&r2=1041059&view=diff
==============================================================================
--- incubator/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-fit/src/test/java/org/apache/chemistry/opencmis/fit/runtime/AbstractWriteObjectIT.java
(original)
+++ incubator/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-fit/src/test/java/org/apache/chemistry/opencmis/fit/runtime/AbstractWriteObjectIT.java
Wed Dec  1 15:40:28 2010
@@ -433,143 +433,4 @@ public abstract class AbstractWriteObjec
         assertEquals(content2, content3);
     }
 
-    @Test
-    public void transientUpdate() throws Exception {
-        ObjectId parentId = this.session.createObjectId(this.fixture.getTestRootId());
-        String filename1 = UUID.randomUUID().toString();
-        String typeId = FixtureData.DOCUMENT_TYPE_ID.value();
-
-        Map<String, Object> properties = new HashMap<String, Object>();
-        properties.put(PropertyIds.NAME, filename1);
-        properties.put(PropertyIds.OBJECT_TYPE_ID, typeId);
-
-        String mimetype = "text/html; charset=UTF-8";
-        String content1 = "Im Walde rauscht ein Wasserfall. Wenn's nicht mehr rauscht ist's
Wasser all.";
-
-        byte[] buf1 = content1.getBytes("UTF-8");
-        ByteArrayInputStream in1 = new ByteArrayInputStream(buf1);
-        ContentStream contentStream1 = this.session.getObjectFactory().createContentStream(filename1,
buf1.length,
-                mimetype, in1);
-        assertNotNull(contentStream1);
-
-        ObjectId id = this.session.createDocument(properties, parentId, contentStream1, VersioningState.NONE);
-        assertNotNull(id);
-
-        // prepare new non-cache operation context
-        OperationContext oc = this.session.createOperationContext();
-        oc.setFilterString("*");
-        oc.setCacheEnabled(false);
-
-        // set new name and save
-        Document doc2 = (Document) this.session.getObject(id, oc);
-        TransientDocument tdoc2 = doc2.getTransientDocument();
-
-        assertEquals(filename1, tdoc2.getName());
-
-        ContentStream cs2 = tdoc2.getContentStream();
-        assertNotNull(cs2);
-        assertContent(buf1, readContent(cs2));
-
-        String filename2 = UUID.randomUUID().toString();
-        tdoc2.setName(filename2);
-        assertEquals(filename2, tdoc2.getName());
-
-        ObjectId id2 = tdoc2.save();
-        assertNotNull(id2);
-
-        // set new content and save
-        Document doc3 = (Document) this.session.getObject(id2, oc);
-        TransientDocument tdoc3 = doc3.getTransientDocument();
-
-        assertEquals(filename2, tdoc3.getName());
-
-        ContentStream cs3 = tdoc3.getContentStream();
-        assertNotNull(cs3);
-        assertContent(buf1, readContent(cs3));
-
-        String content3 = "Es rauscht noch.";
-
-        byte[] buf3 = content3.getBytes("UTF-8");
-        ByteArrayInputStream in3 = new ByteArrayInputStream(buf3);
-        ContentStream contentStream3 = this.session.getObjectFactory().createContentStream(tdoc3.getName(),
-                buf3.length, mimetype, in3);
-        assertNotNull(contentStream3);
-
-        tdoc3.setContentStream(contentStream3, true);
-
-        ObjectId id3 = tdoc3.save();
-        assertNotNull(id3);
-
-        // set new name, delete content and save
-        Document doc4 = (Document) this.session.getObject(id3, oc);
-        TransientDocument tdoc4 = doc4.getTransientDocument();
-
-        assertEquals(tdoc3.getName(), tdoc4.getName());
-
-        ContentStream cs4 = tdoc4.getContentStream();
-        assertNotNull(cs4);
-        assertContent(buf3, readContent(cs4));
-
-        String filename4 = UUID.randomUUID().toString();
-        tdoc4.setName(filename4);
-        assertEquals(filename4, tdoc4.getName());
-
-        tdoc4.deleteContentStream();
-
-        ObjectId id4 = tdoc4.save();
-        assertNotNull(id4);
-
-        // delete object
-        Document doc5 = (Document) this.session.getObject(id4, oc);
-        TransientDocument tdoc5 = doc5.getTransientDocument();
-
-        assertEquals(filename4, tdoc5.getName());
-
-        ContentStream cs5 = tdoc4.getContentStream();
-        assertNull(cs5);
-
-        assertEquals(false, tdoc5.isMarkedForDelete());
-
-        tdoc5.delete(true);
-
-        assertEquals(true, tdoc5.isMarkedForDelete());
-
-        ObjectId id5 = tdoc5.save();
-        assertNull(id5);
-
-        // check
-        try {
-            this.session.getObject(id4, oc);
-            fail("CmisObjectNotFoundException expected!");
-        } catch (CmisObjectNotFoundException e) {
-            // expected
-        }
-    }
-
-    private byte[] readContent(ContentStream contentStream) throws Exception {
-        assertNotNull(contentStream);
-        assertNotNull(contentStream.getStream());
-
-        InputStream stream = contentStream.getStream();
-        ByteArrayOutputStream baos = new ByteArrayOutputStream();
-
-        byte[] buffer = new byte[4096];
-        int b;
-        while ((b = stream.read(buffer)) > -1) {
-            baos.write(buffer, 0, b);
-        }
-
-        return baos.toByteArray();
-    }
-
-    private void assertContent(byte[] expected, byte[] actual) {
-        assertNotNull(expected);
-        assertNotNull(actual);
-
-        assertEquals("Content size:", expected.length, actual.length);
-
-        for (int i = 0; i < expected.length; i++) {
-            assertEquals("Content not equal.", expected[i], actual[i]);
-        }
-    }
 }

Added: incubator/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-fit/src/test/java/org/apache/chemistry/opencmis/fit/runtime/atom/TransientObjectAtomPubIT.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-fit/src/test/java/org/apache/chemistry/opencmis/fit/runtime/atom/TransientObjectAtomPubIT.java?rev=1041059&view=auto
==============================================================================
--- incubator/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-fit/src/test/java/org/apache/chemistry/opencmis/fit/runtime/atom/TransientObjectAtomPubIT.java
(added)
+++ incubator/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-fit/src/test/java/org/apache/chemistry/opencmis/fit/runtime/atom/TransientObjectAtomPubIT.java
Wed Dec  1 15:40:28 2010
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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 org.apache.chemistry.opencmis.fit.runtime.atom;
+
+import org.apache.chemistry.opencmis.fit.runtime.AbstractTransientObjectIT;
+import org.apache.chemistry.opencmis.fit.runtime.Fixture;
+
+public class TransientObjectAtomPubIT extends AbstractTransientObjectIT {
+
+	@Override
+	public void initFixture(Fixture fixture) {
+        fixture.enableAtomPub();
+	}
+
+}

Added: incubator/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-fit/src/test/java/org/apache/chemistry/opencmis/fit/runtime/webservices/TransientObjectWebServicesIT.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-fit/src/test/java/org/apache/chemistry/opencmis/fit/runtime/webservices/TransientObjectWebServicesIT.java?rev=1041059&view=auto
==============================================================================
--- incubator/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-fit/src/test/java/org/apache/chemistry/opencmis/fit/runtime/webservices/TransientObjectWebServicesIT.java
(added)
+++ incubator/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-fit/src/test/java/org/apache/chemistry/opencmis/fit/runtime/webservices/TransientObjectWebServicesIT.java
Wed Dec  1 15:40:28 2010
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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 org.apache.chemistry.opencmis.fit.runtime.webservices;
+
+import org.apache.chemistry.opencmis.fit.runtime.AbstractTransientObjectIT;
+import org.apache.chemistry.opencmis.fit.runtime.Fixture;
+
+public class TransientObjectWebServicesIT extends AbstractTransientObjectIT {
+
+	@Override
+	public void initFixture(Fixture fixture) {
+		fixture.enableWebServices();
+	}
+
+}



Mime
View raw message