vgritsenko 2003/08/13 11:54:22
Modified: java/tests/src/org/apache/xindice/integration/client/services
MetaTest.java
Log:
Set meta data tests
Revision Changes Path
1.3 +161 -35
xml-xindice/java/tests/src/org/apache/xindice/integration/client/services/MetaTest.java
Index: MetaTest.java
===================================================================
RCS file:
/home/cvs/xml-xindice/java/tests/src/org/apache/xindice/integration/client/services/MetaTest.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- MetaTest.java 8 Aug 2003 22:44:25 -0000 1.2
+++ MetaTest.java 13 Aug 2003 18:54:22 -0000 1.3
@@ -73,65 +73,191 @@
*/
public class MetaTest extends AbstractXmlDbClientTest {
+ static final String DOCUMENT_ID1 = "doc1";
+ static final String DOCUMENT_ID2 = "doc2";
+
+ static final String DOCUMENT1 =
+ "<?xml version=\"1.0\"?>" +
+ "<person>" +
+ " <first>John</first>" +
+ " <last>Smith</last>" +
+ " <age>30</age>" +
+ " <phone type=\"work\">555-345-6789</phone>" +
+ "</person>";
+
+ static final String DOCUMENT2 =
+ "<?xml version=\"1.0\"?>" +
+ "<person>" +
+ " <first>John</first>" +
+ " <last>Smith</last>" +
+ " <age>31</age>" +
+ " <phone type=\"work\">555-345-6789</phone>" +
+ "</person>";
+
+ static final String ATTRIBUTE_ID = "MetaDataAttribute";
+
public void setUp() throws Exception {
super.setUp();
- String document1 = "<?xml version=\"1.0\"?>" +
- "<person>" +
- "<first>John</first>" +
- "<last>Smith</last>" +
- "<age>30</age>" +
- "<phone type=\"work\">555-345-6789</phone>" +
- "</person>";
-
- this.client.insertDocument(TEST_COLLECTION_PATH, "doc1", document1);
+ this.client.insertDocument(TEST_COLLECTION_PATH, DOCUMENT_ID1,
DOCUMENT1);
}
public void tearDown() throws Exception {
- this.client.removeDocument(TEST_COLLECTION_PATH, "doc1");
+ this.client.removeDocument(TEST_COLLECTION_PATH, DOCUMENT_ID1);
super.tearDown();
}
- public void testGetMetaData() throws Exception {
+ public void testMetaServicePresent() throws Exception {
// Get meta service
Collection col = this.client.getCollection(TEST_COLLECTION_PATH);
MetaService service = (MetaService) col.getService("MetaService",
"1.0");
assertNotNull("MetaService is not found!", service);
+ }
+
+ public void testGetCollectionMetaData() throws Exception {
+ // Get meta service
+ Collection col = this.client.getCollection(TEST_COLLECTION_PATH);
+ MetaService service = (MetaService) col.getService("MetaService",
"1.0");
+
+ // Get meta data
+ MetaData data = service.getMetaData();
+ assertNotNull("MetaData is not found for the collection!", data);
+ assertTrue("Creation time is 0!", data.getCreatedTime() != 0);
+ assertTrue("Modification time is 0!", data.getLastModifiedTime() !=
0);
+ long created0 = data.getCreatedTime();
+ long modified0 = data.getLastModifiedTime();
+
+ // Sleep and get it again
+ Thread.sleep(150);
+ data = service.getMetaData();
+ long created1 = data.getCreatedTime();
+ long modified1 = data.getLastModifiedTime();
+ assertEquals("Creation time changed on 2nd get (diff: "+ (created1 -
created0) +")!", created0, created1);
+ assertEquals("Modification time changed on 2nd get (diff: "+
(modified1 - modified0) +")!", modified0, modified1);
+
+ // Sleep, add new document, and get metadata again
+ Thread.sleep(150);
+ this.client.insertDocument(TEST_COLLECTION_PATH, DOCUMENT_ID2,
DOCUMENT2);
+
+ data = service.getMetaData();
+ assertNotNull("MetaData is not found for the collection after
update!", data);
+ long created2 = data.getCreatedTime();
+ long modified2 = data.getLastModifiedTime();
+ assertEquals("Creation time changed on update (diff: "+ (created2 -
created1) +")!", created1, created2);
+ assertTrue("Modification time has not changed on update!", modified1
!= modified2);
+ }
+
+ public void testGetDocumentMetaData() throws Exception {
+ // Get meta service
+ Collection col = this.client.getCollection(TEST_COLLECTION_PATH);
+ MetaService service = (MetaService) col.getService("MetaService",
"1.0");
// Get meta data
- MetaData data = service.getMetaData("doc1");
- assertNotNull("MetaData is not found for doc1!", data);
- assertTrue("Created time is 0!", data.getCreatedTime() != 0);
- assertTrue("Modified time is 0!", data.getLastModifiedTime() != 0);
+ MetaData data = service.getMetaData(DOCUMENT_ID1);
+ assertNotNull("MetaData is not found for document " + DOCUMENT_ID1 +
"!", data);
+ assertTrue("Creation time is 0!", data.getCreatedTime() != 0);
+ assertTrue("Modification time is 0!", data.getLastModifiedTime() !=
0);
long created0 = data.getCreatedTime();
long modified0 = data.getLastModifiedTime();
// Sleep and get it again
- Thread.sleep(500);
- data = service.getMetaData("doc1");
+ Thread.sleep(150);
+ data = service.getMetaData(DOCUMENT_ID1);
long created1 = data.getCreatedTime();
long modified1 = data.getLastModifiedTime();
- assertEquals("Created time changed on 2nd get (diff: "+ (created1 -
created0) +")!", created0, created1);
- assertEquals("Modified time changed on 2nd get (diff: "+ (modified1
- modified0) +")!", modified0, modified1);
+ assertEquals("Creation time changed on 2nd get (diff: "+ (created1 -
created0) +")!", created0, created1);
+ assertEquals("Modification time changed on 2nd get (diff: "+
(modified1 - modified0) +")!", modified0, modified1);
// Sleep and update the document and get data again
- Thread.sleep(500);
- String document1 = "<?xml version=\"1.0\"?>" +
- "<person>" +
- "<first>John</first>" +
- "<last>Smith</last>" +
- "<age>31</age>" +
- "<phone type=\"work\">555-345-6789</phone>" +
- "</person>";
- this.client.updateDocument(TEST_COLLECTION_PATH, "doc1", document1);
+ Thread.sleep(150);
+ this.client.updateDocument(TEST_COLLECTION_PATH, DOCUMENT_ID1,
DOCUMENT2);
- data = service.getMetaData("doc1");
- assertNotNull("MetaData is not found for doc1 after update!", data);
+ data = service.getMetaData(DOCUMENT_ID1);
+ assertNotNull("MetaData is not found for document " + DOCUMENT_ID1 +
" after update!", data);
long created2 = data.getCreatedTime();
long modified2 = data.getLastModifiedTime();
- assertEquals("Created time changed on update (diff: "+ (created2 -
created1) +")!", created1, created2);
- assertTrue("Modified time has not changed on update", modified1 !=
modified2);
+ assertEquals("Creation time changed on update (diff: "+ (created2 -
created1) +")!", created1, created2);
+ assertTrue("Modification time has not changed on update!", modified1
!= modified2);
}
-}
+ public void testSetCollectionMetaData() throws Exception {
+ // Get meta service
+ Collection col = this.client.getCollection(TEST_COLLECTION_PATH);
+ MetaService service = (MetaService) col.getService("MetaService",
"1.0");
+
+ // Get meta data
+ MetaData data = service.getMetaData();
+ long created0 = data.getCreatedTime();
+ long modified0 = data.getLastModifiedTime();
+
+ // Sleep and set metadata
+ Thread.sleep(150);
+ data.setContext(created0 - 500, modified0 - 500);
+ service.setMetaData(data);
+
+ // Get metadata again
+ data = service.getMetaData();
+ long created1 = data.getCreatedTime();
+ long modified1 = data.getLastModifiedTime();
+ assertEquals("Creation time changed on set (diff: "+ (created1 -
created0) +")!", created0, created1);
+ assertEquals("Modification time changed on set (diff: "+ (modified1
- modified0) +")!", modified0, modified1);
+ }
+
+ public void testSetDocumentMetaData() throws Exception {
+ // Get meta service
+ Collection col = this.client.getCollection(TEST_COLLECTION_PATH);
+ MetaService service = (MetaService) col.getService("MetaService",
"1.0");
+
+ // Get meta data
+ MetaData data = service.getMetaData(DOCUMENT_ID1);
+ long created0 = data.getCreatedTime();
+ long modified0 = data.getLastModifiedTime();
+
+ // Sleep and set metadata
+ Thread.sleep(150);
+ data.setContext(created0 - 500, modified0 - 500);
+ service.setMetaData(DOCUMENT_ID1, data);
+
+ // Get metadata again
+ data = service.getMetaData(DOCUMENT_ID1);
+ long created1 = data.getCreatedTime();
+ long modified1 = data.getLastModifiedTime();
+ assertEquals("Creation time changed on set (diff: "+ (created1 -
created0) +")!", created0, created1);
+ assertEquals("Modification time changed on set (diff: "+ (modified1
- modified0) +")!", modified0, modified1);
+ }
+
+ public void testSetCollectionMetaDataProperty() throws Exception {
+ // Get meta service
+ Collection col = this.client.getCollection(TEST_COLLECTION_PATH);
+ MetaService service = (MetaService) col.getService("MetaService",
"1.0");
+
+ // Get meta data
+ String value0 = "MetaAttributeValue" + System.currentTimeMillis();
+ MetaData data = service.getMetaData();
+ data.setAttribute(ATTRIBUTE_ID, value0);
+ service.setMetaData(data);
+
+ // Get metadata again
+ data = service.getMetaData();
+ String value1 = (String)data.getAttribute(ATTRIBUTE_ID);
+ assertEquals("Attribute value does not match!", value0, value1);
+ }
+
+ public void testSetDocumentMetaDataProperty() throws Exception {
+ // Get meta service
+ Collection col = this.client.getCollection(TEST_COLLECTION_PATH);
+ MetaService service = (MetaService) col.getService("MetaService",
"1.0");
+
+ // Get meta data
+ String value0 = "MetaAttributeValue" + System.currentTimeMillis();
+ MetaData data = service.getMetaData(DOCUMENT_ID1);
+ data.setAttribute(ATTRIBUTE_ID, value0);
+ service.setMetaData(DOCUMENT_ID1, data);
+
+ // Get metadata again
+ data = service.getMetaData(DOCUMENT_ID1);
+ String value1 = (String)data.getAttribute(ATTRIBUTE_ID);
+ assertEquals("Attribute value does not match!", value0, value1);
+ }
+}