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);
  +    }
  +}
  
  
  

Reply via email to