]> git.aero2k.de Git - tmp/jakarta-migration.git/commitdiff
CSPACE-5155: Updated Concept services tests to reflect addition of repeatable term...
authorAron Roberts <aron@socrates.berkeley.edu>
Tue, 8 May 2012 19:28:49 +0000 (12:28 -0700)
committerAron Roberts <aron@socrates.berkeley.edu>
Tue, 8 May 2012 19:28:49 +0000 (12:28 -0700)
services/common/src/main/cspace/config/services/tenants/tenant-bindings-proto.xml
services/concept/client/src/main/java/org/collectionspace/services/client/ConceptAuthorityClientUtils.java
services/concept/client/src/test/java/org/collectionspace/services/client/test/ConceptAuthorityServiceTest.java

index b9fc75a15cb69e543f3aceb7676153921ed97b51..01a2ab54d41b346c212da26e10dcf8ee1b5a1802 100644 (file)
                         <service:col>inauthority</service:col>
                     </service:field>
                     <service:field>
-                        <service:table>concepts_common</service:table>
-                        <service:col>displayname</service:col>
+                        <service:table>concepttermgroup</service:table>
+                        <service:col>termdisplayname</service:col>
                     </service:field>
                     <service:field>
                         <service:table>concepts_common</service:table>
                         <types:item xmlns:types="http://collectionspace.org/services/config/types">
                             <types:key>termRef</types:key>
                             <types:value>recordType</types:value>
+                        </types:item>
+                         <types:item xmlns:types="http://collectionspace.org/services/config/types">
+                            <types:key>termRef</types:key>
+                            <types:value>conceptTermGroupList/*/termType</types:value>
                         </types:item>
                         <types:item xmlns:types="http://collectionspace.org/services/config/types">
                             <types:key>termRef</types:key>
-                            <types:value>termStatus</types:value>
+                            <types:value>conceptTermGroupList/*termLanguage</types:value>
+                        </types:item>
+                        <types:item xmlns:types="http://collectionspace.org/services/config/types">
+                            <types:key>termRef</types:key>
+                            <types:value>conceptTermGroupList/*termStatus</types:value>
                         </types:item>
                     </service:properties>
                     <service:content contentType="application/xml">
index f817b2db5fb3b173b22f9225b19967d81858c2ec..39bbdc7a0743f51e6af8120c2b600423c065ca15 100644 (file)
@@ -2,6 +2,8 @@ package org.collectionspace.services.client;
 
 import java.io.File;
 import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
 
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.MultivaluedMap;
@@ -9,6 +11,8 @@ import javax.ws.rs.core.Response;
 
 import org.apache.commons.io.FileUtils;
 import org.collectionspace.services.client.test.ServiceRequestType;
+import org.collectionspace.services.common.api.Tools;
+import org.collectionspace.services.concept.ConceptTermGroup;
 import org.collectionspace.services.concept.ConceptauthoritiesCommon;
 import org.dom4j.DocumentException;
 import org.jboss.resteasy.client.ClientResponse;
@@ -145,5 +149,21 @@ public class ConceptAuthorityClientUtils {
         return "Status code '" + statusCode + "' in response is NOT within the expected set: " +
                 requestType.validStatusCodesAsString();
     }
+    
+     public static List<ConceptTermGroup> getTermGroupInstance(String identifier) {
+        if (Tools.isBlank(identifier)) {
+            identifier = getGeneratedIdentifier();
+        }
+        List<ConceptTermGroup> terms = new ArrayList<ConceptTermGroup>();
+        ConceptTermGroup term = new ConceptTermGroup();
+        term.setTermDisplayName(identifier);
+        term.setTermName(identifier);
+        terms.add(term);
+        return terms;
+    }
+    
+    private static String getGeneratedIdentifier() {
+        return "id" + new Date().getTime(); 
+   }
 
 }
index 4241ce8d7a6f8eaab8ca9cb0b595f2c6a70e1180..6d33ed7d514458bd132858fcf025dfdc32ce5b26 100644 (file)
  */
 package org.collectionspace.services.client.test;
 
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-
-import org.collectionspace.services.ConceptJAXBSchema;
 import org.collectionspace.services.client.AbstractCommonListUtils;
 import org.collectionspace.services.client.AuthorityClient;
 import org.collectionspace.services.client.CollectionSpaceClient;
-import org.collectionspace.services.client.PayloadOutputPart;
-import org.collectionspace.services.client.PoxPayloadIn;
-import org.collectionspace.services.client.PoxPayloadOut;
-import org.collectionspace.services.common.datetime.GregorianCalendarDateTimeUtils;
 import org.collectionspace.services.client.ConceptAuthorityClient;
 import org.collectionspace.services.client.ConceptAuthorityClientUtils;
-import org.collectionspace.services.jaxb.AbstractCommonList;
+import org.collectionspace.services.client.PoxPayloadOut;
+import org.collectionspace.services.common.datetime.GregorianCalendarDateTimeUtils;
+import org.collectionspace.services.concept.ConceptTermGroup;
+import org.collectionspace.services.concept.ConceptTermGroupList;
 import org.collectionspace.services.concept.ConceptauthoritiesCommon;
 import org.collectionspace.services.concept.ConceptsCommon;
+import org.collectionspace.services.jaxb.AbstractCommonList;
 import org.dom4j.DocumentException;
-
 import org.jboss.resteasy.client.ClientResponse;
-
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-
 import org.testng.Assert;
 import org.testng.annotations.AfterClass;
 import org.testng.annotations.Test;
@@ -123,8 +117,8 @@ public class ConceptAuthorityServiceTest extends AbstractAuthorityServiceTest<Co
         try {
                newID = ConceptAuthorityClientUtils.createItemInAuthority(authorityId,
                        commonPartXML, client );
-        } catch( DocumentException de ) {
-            logger.error("Problem creating item from XML: "+de.getLocalizedMessage());
+        } catch( Exception e ) {
+            logger.error("Problem creating item from XML: "+e.getLocalizedMessage());
             logger.debug("commonPartXML: "+commonPartXML);
             return null;
         }
@@ -355,23 +349,18 @@ public class ConceptAuthorityServiceTest extends AbstractAuthorityServiceTest<Co
 
     private String createCommonPartXMLForItem(String shortId, String name ) {
        
-        String commonPartXML = 
-                       "<ns2:concepts_common xmlns:ns2=\"http://collectionspace.org/services/concept\">" + 
-               " <shortIdentifier>"+shortId+"</shortIdentifier>"+
-               " <displayName>"+name+"</displayName>"+
-               " <displayNameComputed>false</displayNameComputed>"+
-               " <termStatus>Imagined</termStatus>"+
-               /*
-               " <conceptTermGroupList>"+
-               "  <conceptTermGroup>"+
-               "   <term>Another term</term>"+
-               "   <termType>alternate</termType>"+
-               "   <source>My Imagination</source>"+
-               "  </conceptTermGroup>"+
-               " </conceptTermGroupList>"+
-               */
-               "</ns2:concepts_common>";
-        return commonPartXML;
+        StringBuilder commonPartXML = new StringBuilder("");
+        commonPartXML.append("<ns2:concepts_common xmlns:ns2=\"http://collectionspace.org/services/concept\">");
+        commonPartXML.append("    <shortIdentifier>"+shortId+"</shortIdentifier>");
+        commonPartXML.append("    <conceptTermGroupList>");
+        commonPartXML.append("        <conceptTermGroup>");
+        commonPartXML.append("            <termDisplayName>"+name+"</termDisplayName>");
+        commonPartXML.append("            <termName>"+name+"</termName>");
+        commonPartXML.append("            <termStatus>"+name+"</termStatus>");
+        commonPartXML.append("        </conceptTermGroup>");
+        commonPartXML.append("    </conceptTermGroupList>");
+        commonPartXML.append("</ns2:concepts_common>");
+        return commonPartXML.toString();
     }
 
        @Override
@@ -400,6 +389,7 @@ public class ConceptAuthorityServiceTest extends AbstractAuthorityServiceTest<Co
                 "Display name in updated object did not match submitted data.");
        }
 
+        @Override
        protected void compareReadInstances(ConceptauthoritiesCommon original,
                        ConceptauthoritiesCommon fromRead) throws Exception {
         Assert.assertNotNull(fromRead.getDisplayName());
@@ -409,21 +399,40 @@ public class ConceptAuthorityServiceTest extends AbstractAuthorityServiceTest<Co
        
        @Override
        protected ConceptsCommon updateItemInstance(ConceptsCommon conceptsCommon) {
-               ConceptsCommon result = new ConceptsCommon();
-               
-        result.setTermStatus("updated-" + conceptsCommon.getTermStatus());
-               result.setDisplayName("updated-" + conceptsCommon.getDisplayName());
-               
-               return result;
+           ConceptsCommon result = conceptsCommon;
+            ConceptTermGroupList termList = conceptsCommon.getConceptTermGroupList();
+            Assert.assertNotNull(termList);
+            List<ConceptTermGroup> terms = termList.getConceptTermGroup();
+            Assert.assertNotNull(terms);
+            Assert.assertTrue(terms.size() > 0);
+            terms.get(0).setTermDisplayName("updated-" + terms.get(0).getTermDisplayName());
+            terms.get(0).setTermName("updated-" + terms.get(0).getTermName());
+            terms.get(0).setTermStatus("updated-" + terms.get(0).getTermStatus());
+           result.setConceptTermGroupList(termList);
+            return result;
        }
 
        @Override
        protected void compareUpdatedItemInstances(ConceptsCommon original,
                        ConceptsCommon updated) throws Exception {
-        Assert.assertEquals(updated.getTermStatus(), original.getTermStatus(),
-                "Data in updated Concept did not match submitted data.");
-        Assert.assertEquals(updated.getDisplayName(), original.getDisplayName(),
-                "Data in updated Concept did not match submitted data.");
+            ConceptTermGroupList originalTermList = original.getConceptTermGroupList();
+            Assert.assertNotNull(originalTermList);
+            List<ConceptTermGroup> originalTerms = originalTermList.getConceptTermGroup();
+            Assert.assertNotNull(originalTerms);
+            Assert.assertTrue(originalTerms.size() > 0);
+            
+            ConceptTermGroupList updatedTermList = updated.getConceptTermGroupList();
+            Assert.assertNotNull(updatedTermList);
+            List<ConceptTermGroup> updatedTerms = updatedTermList.getConceptTermGroup();
+            Assert.assertNotNull(updatedTerms);
+            Assert.assertTrue(updatedTerms.size() > 0);
+            
+            Assert.assertEquals(updatedTerms.get(0).getTermDisplayName(),
+                originalTerms.get(0).getTermDisplayName(),
+                "Value in updated record did not match submitted data.");
+            Assert.assertEquals(updatedTerms.get(0).getTermStatus(),
+                originalTerms.get(0).getTermDisplayName(),
+                "Value in updated record did not match submitted data.");
        }
 
        @Override