details:   /erp/devel/pi/rev/f13b5702fe93
changeset: 10974:f13b5702fe93
user:      Martin Taal <martin.taal <at> openbravo.com>
date:      Wed Mar 02 15:20:39 2011 +0100
summary:   Restored testcases, rollback part of changeset 
https://code.openbravo.com/erp/devel/pi/rev/3ec8fa8b6742

diffstat:

 src-test/org/openbravo/test/xml/EntityXMLImportTestSingle.java  |  138 
+++++++++-
 src-test/org/openbravo/test/xml/EntityXMLImportTestWarning.java |   94 ++++++-
 2 files changed, 215 insertions(+), 17 deletions(-)

diffs (truncated from 332 to 300 lines):

diff -r 232a76498246 -r f13b5702fe93 
src-test/org/openbravo/test/xml/EntityXMLImportTestSingle.java
--- a/src-test/org/openbravo/test/xml/EntityXMLImportTestSingle.java    Wed Mar 
02 14:00:22 2011 +0100
+++ b/src-test/org/openbravo/test/xml/EntityXMLImportTestSingle.java    Wed Mar 
02 15:20:39 2011 +0100
@@ -11,7 +11,7 @@
  * under the License. 
  * The Original Code is Openbravo ERP. 
  * The Initial Developer of the Original Code is Openbravo SLU 
- * All portions are Copyright (C) 2008 Openbravo SLU 
+ * All portions are Copyright (C) 2008-2011 Openbravo SLU 
  * All Rights Reserved. 
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -57,18 +57,60 @@
    * insert.
    */
   public void testImportNoUpdate() {
-  return;
+    setTestAdminContext();
+
+    final String xml = exportTax();
+    final Client c = OBDal.getInstance().get(Client.class, TEST_CLIENT_ID);
+    final Organization o = OBDal.getInstance().get(Organization.class, 
TEST_ORG_ID);
+    final ImportResult ir = 
DataImportService.getInstance().importDataFromXML(c, o, xml);
+
+    log.debug("WARNING>>>>");
+    assertTrue(ir.getWarningMessages(), ir.getWarningMessages() == null);
+    assertEquals(0, ir.getUpdatedObjects().size());
+    assertEquals(0, ir.getInsertedObjects().size());
+    if (ir.hasErrorOccured()) {
+      fail(ir.getErrorMessages());
+    }
   }
 
   private String exportTax() {
-  return "";
+    final OBCriteria<?> obc = 
OBDal.getInstance().createCriteria(TaxRate.class);
+
+    final EntityXMLConverter exc = EntityXMLConverter.newInstance();
+    exc.setOptionIncludeChildren(true);
+    exc.setOptionIncludeReferenced(true);
+    exc.setAddSystemAttributes(false);
+
+    @SuppressWarnings("unchecked")
+    final List<BaseOBObject> list = (List<BaseOBObject>) obc.list();
+    final String xml = exc.toXML(list);
+    log.debug(xml);
+    return xml;
   }
 
   /**
    * Export {@link Greeting} from one org and import in the other
    */
   public void test1Greeting() {
-  return;
+    cleanRefDataLoaded();
+    setTestUserContext();
+    addReadWriteAccess(Greeting.class);
+
+    createTestData();
+
+    final int cnt = count(Greeting.class);
+    addReadWriteAccess(Greeting.class);
+    final String xml = getXML(Greeting.class);
+    // insert in org 1000001
+    setUserContext(QA_TEST_ADMIN_USER_ID);
+    final ImportResult ir = DataImportService.getInstance().importDataFromXML(
+        OBDal.getInstance().get(Client.class, QA_TEST_CLIENT_ID),
+        OBDal.getInstance().get(Organization.class, QA_TEST_ORG_ID), xml);
+    assertEquals(cnt, ir.getInsertedObjects().size());
+    assertEquals(0, ir.getUpdatedObjects().size());
+    if (ir.hasErrorOccured()) {
+      fail(ir.getErrorMessages());
+    }
   }
 
   /**
@@ -76,7 +118,20 @@
    * object.
    */
   public void test2Greeting() {
-  return;
+    setTestUserContext();
+    addReadWriteAccess(Greeting.class);
+
+    final String xml = getXML(Greeting.class);
+    setUserContext(QA_TEST_ADMIN_USER_ID);
+    // insert in org 1000002
+    final ImportResult ir = DataImportService.getInstance().importDataFromXML(
+        OBDal.getInstance().get(Client.class, QA_TEST_CLIENT_ID),
+        OBDal.getInstance().get(Organization.class, QA_TEST_ORG_ID), xml);
+    assertEquals(0, ir.getInsertedObjects().size());
+    assertEquals(0, ir.getUpdatedObjects().size());
+    if (ir.hasErrorOccured()) {
+      fail(ir.getErrorMessages());
+    }
   }
 
   /**
@@ -84,36 +139,95 @@
    * imports again. The result should be twenty updates.
    */
   public void test3Greeting() {
-  return;
+    setUserContext(QA_TEST_ADMIN_USER_ID);
+
+    createTestData();
+
+    String xml = getXML(Greeting.class);
+    xml = xml.replaceAll(">Greeting", ">Greetings");
+    final ImportResult ir = DataImportService.getInstance().importDataFromXML(
+        OBDal.getInstance().get(Client.class, QA_TEST_CLIENT_ID),
+        OBDal.getInstance().get(Organization.class, QA_TEST_ORG_ID), xml);
+    assertEquals(0, ir.getInsertedObjects().size());
+    assertEquals(DATA_SET_SIZE, ir.getUpdatedObjects().size());
+    if (ir.hasErrorOccured()) {
+      fail(ir.getErrorMessages());
+    }
   }
 
   /**
    * Remove the test data from QA_TEST_ORG_ID.
    */
   public void test4Greeting() {
-  return;
+    setUserContext(QA_TEST_ADMIN_USER_ID);
+
+    createTestData();
+
+    final Organization org = OBDal.getInstance().get(Organization.class, 
QA_TEST_ORG_ID);
+    final OBCriteria<Greeting> obc = 
OBDal.getInstance().createCriteria(Greeting.class);
+    obc.setFilterOnReadableClients(false);
+    obc.setFilterOnReadableOrganization(false);
+    obc.add(Expression.eq(PROPERTY_ORGANIZATION, org));
+    // assertEquals(7, obc.list().size());
+    for (final Greeting g : obc.list()) {
+      OBDal.getInstance().remove(g);
+    }
   }
 
   /**
    * Checks that the testdata was indeed removed.
    */
   public void test5Greeting() {
-  return;
+    setUserContext(QA_TEST_ADMIN_USER_ID);
+
+    createTestData();
+
+    final Organization org = OBDal.getInstance().get(Organization.class, 
QA_TEST_ORG_ID); // FIXME
+    final OBCriteria<Greeting> obc = 
OBDal.getInstance().createCriteria(Greeting.class);
+    obc.setFilterOnReadableClients(false);
+    obc.setFilterOnReadableOrganization(false);
+    obc.add(Expression.eq(PROPERTY_ORGANIZATION, org));
+    assertEquals(0, obc.list().size());
   }
 
   /**
    * Same test as before exporting and then importing in same organization.
    */
   public void test6Greeting() {
-  return;
+    doTestNoChange(Greeting.class);
   }
 
   // do it again, no change!
   private <T extends BaseOBObject> void doTestNoChange(Class<T> clz) {
-  return;
+    setTestUserContext();
+    addReadWriteAccess(Greeting.class);
+
+    createTestData();
+
+    final String xml = getXML(clz);
+    final ImportResult ir = DataImportService.getInstance().importDataFromXML(
+        OBContext.getOBContext().getCurrentClient(),
+        OBContext.getOBContext().getCurrentOrganization(), xml);
+    assertTrue(ir.getInsertedObjects().size() == 0);
+    assertTrue(ir.getUpdatedObjects().size() == 0);
   }
 
   private void createTestData() {
-  return;
+    final List<Greeting> greetings = 
OBDal.getInstance().createQuery(Greeting.class, "").list();
+    if (greetings.size() > 0) {
+      DATA_SET_SIZE = greetings.size();
+      return;
+    }
+
+    for (int i = 0; i < DATA_SET_SIZE; i++) {
+      final Greeting greeting = OBProvider.getInstance().get(Greeting.class);
+      greeting.setDefault(i == 0);
+      greeting.setName("Greeting " + i);
+      greeting.setOnlyPrintFirstName((i % 2) == 0);
+      greeting.setTitle("Greeting " + i);
+      OBDal.getInstance().save(greeting);
+    }
+    OBDal.getInstance().commitAndClose();
+
   }
-}
+}
\ No newline at end of file
diff -r 232a76498246 -r f13b5702fe93 
src-test/org/openbravo/test/xml/EntityXMLImportTestWarning.java
--- a/src-test/org/openbravo/test/xml/EntityXMLImportTestWarning.java   Wed Mar 
02 14:00:22 2011 +0100
+++ b/src-test/org/openbravo/test/xml/EntityXMLImportTestWarning.java   Wed Mar 
02 15:20:39 2011 +0100
@@ -11,7 +11,7 @@
  * under the License. 
  * The Original Code is Openbravo ERP. 
  * The Initial Developer of the Original Code is Openbravo SLU 
- * All portions are Copyright (C) 2008 Openbravo SLU 
+ * All portions are Copyright (C) 2008-2011 Openbravo SLU 
  * All Rights Reserved. 
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -46,7 +46,42 @@
    * because of access definitions for the user.
    */
   public void testNotWritableUpdate() {
-  return;
+    cleanRefDataLoaded();
+    setTestUserContext();
+    addReadWriteAccess(Region.class);
+
+    final List<Region> gs = getList(Region.class);
+    String xml = getXML(gs);
+
+    // change the xml to force an update
+    xml = xml.replaceAll("</name>", "t</name>");
+
+    final Client c = OBDal.getInstance().get(Client.class, TEST_CLIENT_ID);
+    final Organization o = OBDal.getInstance().get(Organization.class, 
TEST_ORG_ID);
+    setTestUserContext();
+    OBContext.getOBContext().setCurrentOrganization(o);
+    OBContext.getOBContext().setCurrentClient(c);
+
+    // remove the entity to force a not-write situation
+    final Entity entity = ModelProvider.getInstance().getEntity(Region.class);
+    
OBContext.getOBContext().getEntityAccessChecker().getWritableEntities().remove(entity);
+    
OBContext.getOBContext().getEntityAccessChecker().getReadableEntities().add(entity);
+
+    final ImportResult ir = 
DataImportService.getInstance().importDataFromXML(c, o, xml);
+    if (ir.getException() != null) {
+      ir.getException().printStackTrace(System.err);
+      fail(ir.getException().getMessage());
+    } else if (ir.getErrorMessages() != null) {
+      fail(ir.getErrorMessages());
+    } else {
+      // assertEquals(0, ir.getUpdatedObjects().size());
+      // assertEquals(0, ir.getUpdatedObjects().size());
+      assertTrue(ir.getWarningMessages() != null);
+      assertTrue(ir.getWarningMessages().indexOf("updating") != -1);
+      assertTrue(ir.getWarningMessages().indexOf(" because it is not 
writable") != -1);
+    }
+    // force a rollback, so that the db is not changed
+    rollback();
   }
 
   /**
@@ -54,7 +89,30 @@
    * it (because of access definitions).
    */
   public void testNotWritableInsertError() {
-    return;
+    cleanRefDataLoaded();
+    setTestUserContext();
+    addReadWriteAccess(Warehouse.class);
+
+    final List<Warehouse> ws = getList(Warehouse.class);
+    String xml = getXML(ws);
+
+    // change the xml to force an update
+    xml = xml.replaceAll("</name>", "t</name>");
+    xml = xml.replaceAll("</id>", "new</id>");
+    final Client c = OBDal.getInstance().get(Client.class, QA_TEST_CLIENT_ID);
+    final Organization o = OBDal.getInstance().get(Organization.class, 
QA_TEST_ORG_ID);
+    setUserContext(QA_TEST_ADMIN_USER_ID);
+
+    // remove the entity from the writable entities to force an access error
+    final Entity entity = 
ModelProvider.getInstance().getEntity(Warehouse.class);
+    
OBContext.getOBContext().getEntityAccessChecker().getWritableEntities().remove(entity);
+
+    final ImportResult ir = 
DataImportService.getInstance().importDataFromXML(c, o, xml);
+    assertTrue("No error messages, error messages expected", 
ir.getErrorMessages() != null);
+    assertTrue("Incorrect error", ir.getErrorMessages().indexOf("Object 
Warehouse") != -1);
+    assertTrue("Incorrect error", ir.getErrorMessages().indexOf("is new but 
not writable") != -1);
+    // force a rollback, so that the db is not changed
+    rollback();
   }
 
   /**
@@ -63,7 +121,33 @@
    * * (0), while the update/import is in another organization.
    */
   public void testUpdatingOtherOrganizationWarning() {
-  return;
+    cleanRefDataLoaded();
+    setTestUserContext();
+    addReadWriteAccess(Warehouse.class);
+
+    final List<Warehouse> ws = getList(Warehouse.class);

------------------------------------------------------------------------------
Free Software Download: Index, Search & Analyze Logs and other IT data in 
Real-Time with Splunk. Collect, index and harness all the fast moving IT data 
generated by your applications, servers and devices whether physical, virtual
or in the cloud. Deliver compliance at lower cost and gain new business 
insights. http://p.sf.net/sfu/splunk-dev2dev 
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to