killbill-aplcache

server: fix test failure in TestExportAccount Signed-off-by:

5/7/2018 2:49:08 PM

Details

diff --git a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestExportAccount.java b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestExportAccount.java
index 72e1f04..7a26a04 100644
--- a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestExportAccount.java
+++ b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestExportAccount.java
@@ -17,6 +17,7 @@
 
 package org.killbill.billing.jaxrs;
 
+import java.io.ByteArrayOutputStream;
 import java.io.OutputStream;
 
 import org.killbill.billing.client.model.gen.Account;
@@ -26,20 +27,13 @@ import org.testng.annotations.Test;
 
 public class TestExportAccount extends TestJaxrsBase {
 
-    @BeforeMethod(groups = "slow")
-    public void beforeMethod() throws Exception {
-        super.beforeMethod();
-    }
-
     @Test(groups = "slow")
     public void testExportAccount() throws Exception {
-
         final Account emptyAccount = new Account();
         final Account account = accountApi.createAccount(emptyAccount, requestOptions);
-        final OutputStream outputStream = System.out;
+        final OutputStream outputStream = new ByteArrayOutputStream();
         final int statusCode = exportApi.exportDataForAccount(account.getAccountId(), outputStream, requestOptions);
         outputStream.flush();
         Assert.assertEquals(statusCode, 200);
     }
-
 }
diff --git a/util/src/main/java/org/killbill/billing/util/export/dao/DatabaseExportDao.java b/util/src/main/java/org/killbill/billing/util/export/dao/DatabaseExportDao.java
index 05bea16..61db3ab 100644
--- a/util/src/main/java/org/killbill/billing/util/export/dao/DatabaseExportDao.java
+++ b/util/src/main/java/org/killbill/billing/util/export/dao/DatabaseExportDao.java
@@ -18,6 +18,7 @@ package org.killbill.billing.util.export.dao;
 
 import java.io.IOException;
 import java.sql.Blob;
+import java.sql.Clob;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -169,11 +170,15 @@ public class DatabaseExportDao {
 
                         for (final String k : row.keySet()) {
                             final Object value = row.get(k);
-                            // For h2, transform a JdbcBlob into a byte[]
+                            // For h2, transform a JdbcBlob and a JdbcClob into a byte[]
                             // See also LowerToCamelBeanMapper
                             if (value instanceof Blob) {
                                 final Blob blob = (Blob) value;
                                 row.put(k, blob.getBytes(0, (int) blob.length()));
+                            } else if (value instanceof Clob) {
+                                // TODO Update LowerToCamelBeanMapper?
+                                final Clob clob = (Clob) value;
+                                row.put(k, clob.getSubString(1, (int) clob.length()));
                             }
                         }