You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2016/08/18 07:42:06 UTC
cayenne git commit: splitting integration tests from unit tests
Repository: cayenne
Updated Branches:
refs/heads/master 0933c1944 -> 30c2c6f12
splitting integration tests from unit tests
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/30c2c6f1
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/30c2c6f1
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/30c2c6f1
Branch: refs/heads/master
Commit: 30c2c6f122f2a0590ef4fcd52f2010a65d6baf80
Parents: 0933c19
Author: Andrus Adamchik <an...@objectstyle.com>
Authored: Thu Aug 18 10:41:01 2016 +0300
Committer: Andrus Adamchik <an...@objectstyle.com>
Committed: Thu Aug 18 10:41:01 2016 +0300
----------------------------------------------------------------------
.../cayenne/crypto/Runtime_AES128_GZIP_IT.java | 166 ++++++++++++++++++
.../crypto/Runtime_AES128_GZIP_Test.java | 166 ------------------
.../cayenne/crypto/Runtime_AES128_IT.java | 122 ++++++++++++++
.../cayenne/crypto/Runtime_AES128_Test.java | 122 --------------
.../value/DefaultValueTransformerFactoryIT.java | 168 +++++++++++++++++++
.../DefaultValueTransformerFactoryTest.java | 168 -------------------
6 files changed, 456 insertions(+), 456 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/30c2c6f1/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/Runtime_AES128_GZIP_IT.java
----------------------------------------------------------------------
diff --git a/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/Runtime_AES128_GZIP_IT.java b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/Runtime_AES128_GZIP_IT.java
new file mode 100644
index 0000000..1013c91
--- /dev/null
+++ b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/Runtime_AES128_GZIP_IT.java
@@ -0,0 +1,166 @@
+/*****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ ****************************************************************/
+package org.apache.cayenne.crypto;
+
+import org.apache.cayenne.ObjectContext;
+import org.apache.cayenne.crypto.db.Table2;
+import org.apache.cayenne.crypto.transformer.bytes.Header;
+import org.apache.cayenne.crypto.unit.CryptoUnitUtils;
+import org.apache.cayenne.query.SelectQuery;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.sql.SQLException;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+public class Runtime_AES128_GZIP_IT extends Runtime_AES128_Base {
+
+ private static final int GZIP_THRESHOLD = 150;
+
+ @Before
+ public void setUp() throws Exception {
+ super.setUp(true);
+ }
+
+ @Test
+ public void testInsert() throws SQLException {
+
+ ObjectContext context = runtime.newContext();
+
+ // make sure compression is on...
+ byte[] cryptoBytes = CryptoUnitUtils.bytesOfSize(GZIP_THRESHOLD + 100);
+
+ Table2 t1 = context.newObject(Table2.class);
+ t1.setPlainBytes("plain_1".getBytes());
+ t1.setCryptoBytes(cryptoBytes);
+
+ context.commitChanges();
+
+ Object[] data = table2.select();
+ assertArrayEquals("plain_1".getBytes(), (byte[]) data[1]);
+
+ Header h = Header.create((byte[]) data[2], 0);
+ assertTrue(h.isCompressed());
+ assertArrayEquals(cryptoBytes,
+ CryptoUnitUtils.gunzip(CryptoUnitUtils.decrypt_AES_CBC((byte[]) data[2], runtime)));
+ }
+
+ @Test
+ public void testInsert_Small() throws SQLException {
+
+ ObjectContext context = runtime.newContext();
+
+ // make sure compression is on...
+ byte[] cryptoBytes = CryptoUnitUtils.bytesOfSize(GZIP_THRESHOLD - 20);
+
+ Table2 t1 = context.newObject(Table2.class);
+ t1.setPlainBytes("plain_1".getBytes());
+ t1.setCryptoBytes(cryptoBytes);
+
+ context.commitChanges();
+
+ Object[] data = table2.select();
+ assertArrayEquals("plain_1".getBytes(), (byte[]) data[1]);
+
+ Header h = Header.create((byte[]) data[2], 0);
+ assertFalse(h.isCompressed());
+ assertArrayEquals(cryptoBytes, CryptoUnitUtils.decrypt_AES_CBC((byte[]) data[2], runtime));
+ }
+
+ @Test
+ public void testInsert_MultipleObjects() throws SQLException {
+
+ ObjectContext context = runtime.newContext();
+
+ // make sure compression is on...
+ byte[] cryptoBytes1 = CryptoUnitUtils.bytesOfSize(GZIP_THRESHOLD + 101);
+ byte[] cryptoBytes2 = CryptoUnitUtils.bytesOfSize(GZIP_THRESHOLD + 102);
+
+ Table2 t1 = context.newObject(Table2.class);
+ t1.setPlainBytes("a".getBytes());
+ t1.setCryptoBytes(cryptoBytes1);
+
+ Table2 t2 = context.newObject(Table2.class);
+ t2.setPlainBytes("b".getBytes());
+ t2.setCryptoBytes(cryptoBytes2);
+
+ Table2 t3 = context.newObject(Table2.class);
+ t3.setPlainBytes("c".getBytes());
+ t3.setCryptoBytes(null);
+
+ context.commitChanges();
+
+ List<Object[]> data = table2.selectAll();
+ assertEquals(3, data.size());
+
+ Map<String, byte[]> cipherByPlain = new HashMap<>();
+ for (Object[] r : data) {
+ cipherByPlain.put(new String((byte[]) r[1]), (byte[]) r[2]);
+ }
+
+ assertArrayEquals(cryptoBytes1,
+ CryptoUnitUtils.gunzip(CryptoUnitUtils.decrypt_AES_CBC(cipherByPlain.get("a"), runtime)));
+ assertArrayEquals(cryptoBytes2,
+ CryptoUnitUtils.gunzip(CryptoUnitUtils.decrypt_AES_CBC(cipherByPlain.get("b"), runtime)));
+ assertNull(cipherByPlain.get("c"));
+ }
+
+ @Test
+ public void test_SelectQuery() throws SQLException {
+
+ // make sure compression is on...
+ byte[] cryptoBytes1 = CryptoUnitUtils.bytesOfSize(GZIP_THRESHOLD + 101);
+ byte[] cryptoBytes2 = CryptoUnitUtils.bytesOfSize(GZIP_THRESHOLD + 102);
+
+ ObjectContext context = runtime.newContext();
+
+ Table2 t1 = context.newObject(Table2.class);
+ t1.setPlainBytes("a".getBytes());
+ t1.setCryptoBytes(cryptoBytes1);
+
+ Table2 t2 = context.newObject(Table2.class);
+ t2.setPlainBytes("b".getBytes());
+ t2.setCryptoBytes(cryptoBytes2);
+
+ Table2 t3 = context.newObject(Table2.class);
+ t3.setPlainBytes("c".getBytes());
+ t3.setCryptoBytes(null);
+
+ context.commitChanges();
+
+ SelectQuery<Table2> select = SelectQuery.query(Table2.class);
+ select.addOrdering(Table2.PLAIN_BYTES.asc());
+
+ List<Table2> result = runtime.newContext().select(select);
+
+ assertEquals(3, result.size());
+ assertArrayEquals(cryptoBytes1, result.get(0).getCryptoBytes());
+ assertArrayEquals(cryptoBytes2, result.get(1).getCryptoBytes());
+ assertArrayEquals(null, result.get(2).getCryptoBytes());
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/30c2c6f1/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/Runtime_AES128_GZIP_Test.java
----------------------------------------------------------------------
diff --git a/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/Runtime_AES128_GZIP_Test.java b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/Runtime_AES128_GZIP_Test.java
deleted file mode 100644
index 035578d..0000000
--- a/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/Runtime_AES128_GZIP_Test.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- ****************************************************************/
-package org.apache.cayenne.crypto;
-
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-import java.sql.SQLException;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.cayenne.ObjectContext;
-import org.apache.cayenne.crypto.db.Table2;
-import org.apache.cayenne.crypto.transformer.bytes.Header;
-import org.apache.cayenne.crypto.unit.CryptoUnitUtils;
-import org.apache.cayenne.query.SelectQuery;
-import org.junit.Before;
-import org.junit.Test;
-
-public class Runtime_AES128_GZIP_Test extends Runtime_AES128_Base {
-
- private static final int GZIP_THRESHOLD = 150;
-
- @Before
- public void setUp() throws Exception {
- super.setUp(true);
- }
-
- @Test
- public void testInsert() throws SQLException {
-
- ObjectContext context = runtime.newContext();
-
- // make sure compression is on...
- byte[] cryptoBytes = CryptoUnitUtils.bytesOfSize(GZIP_THRESHOLD + 100);
-
- Table2 t1 = context.newObject(Table2.class);
- t1.setPlainBytes("plain_1".getBytes());
- t1.setCryptoBytes(cryptoBytes);
-
- context.commitChanges();
-
- Object[] data = table2.select();
- assertArrayEquals("plain_1".getBytes(), (byte[]) data[1]);
-
- Header h = Header.create((byte[]) data[2], 0);
- assertTrue(h.isCompressed());
- assertArrayEquals(cryptoBytes,
- CryptoUnitUtils.gunzip(CryptoUnitUtils.decrypt_AES_CBC((byte[]) data[2], runtime)));
- }
-
- @Test
- public void testInsert_Small() throws SQLException {
-
- ObjectContext context = runtime.newContext();
-
- // make sure compression is on...
- byte[] cryptoBytes = CryptoUnitUtils.bytesOfSize(GZIP_THRESHOLD - 20);
-
- Table2 t1 = context.newObject(Table2.class);
- t1.setPlainBytes("plain_1".getBytes());
- t1.setCryptoBytes(cryptoBytes);
-
- context.commitChanges();
-
- Object[] data = table2.select();
- assertArrayEquals("plain_1".getBytes(), (byte[]) data[1]);
-
- Header h = Header.create((byte[]) data[2], 0);
- assertFalse(h.isCompressed());
- assertArrayEquals(cryptoBytes, CryptoUnitUtils.decrypt_AES_CBC((byte[]) data[2], runtime));
- }
-
- @Test
- public void testInsert_MultipleObjects() throws SQLException {
-
- ObjectContext context = runtime.newContext();
-
- // make sure compression is on...
- byte[] cryptoBytes1 = CryptoUnitUtils.bytesOfSize(GZIP_THRESHOLD + 101);
- byte[] cryptoBytes2 = CryptoUnitUtils.bytesOfSize(GZIP_THRESHOLD + 102);
-
- Table2 t1 = context.newObject(Table2.class);
- t1.setPlainBytes("a".getBytes());
- t1.setCryptoBytes(cryptoBytes1);
-
- Table2 t2 = context.newObject(Table2.class);
- t2.setPlainBytes("b".getBytes());
- t2.setCryptoBytes(cryptoBytes2);
-
- Table2 t3 = context.newObject(Table2.class);
- t3.setPlainBytes("c".getBytes());
- t3.setCryptoBytes(null);
-
- context.commitChanges();
-
- List<Object[]> data = table2.selectAll();
- assertEquals(3, data.size());
-
- Map<String, byte[]> cipherByPlain = new HashMap<>();
- for (Object[] r : data) {
- cipherByPlain.put(new String((byte[]) r[1]), (byte[]) r[2]);
- }
-
- assertArrayEquals(cryptoBytes1,
- CryptoUnitUtils.gunzip(CryptoUnitUtils.decrypt_AES_CBC(cipherByPlain.get("a"), runtime)));
- assertArrayEquals(cryptoBytes2,
- CryptoUnitUtils.gunzip(CryptoUnitUtils.decrypt_AES_CBC(cipherByPlain.get("b"), runtime)));
- assertNull(cipherByPlain.get("c"));
- }
-
- @Test
- public void test_SelectQuery() throws SQLException {
-
- // make sure compression is on...
- byte[] cryptoBytes1 = CryptoUnitUtils.bytesOfSize(GZIP_THRESHOLD + 101);
- byte[] cryptoBytes2 = CryptoUnitUtils.bytesOfSize(GZIP_THRESHOLD + 102);
-
- ObjectContext context = runtime.newContext();
-
- Table2 t1 = context.newObject(Table2.class);
- t1.setPlainBytes("a".getBytes());
- t1.setCryptoBytes(cryptoBytes1);
-
- Table2 t2 = context.newObject(Table2.class);
- t2.setPlainBytes("b".getBytes());
- t2.setCryptoBytes(cryptoBytes2);
-
- Table2 t3 = context.newObject(Table2.class);
- t3.setPlainBytes("c".getBytes());
- t3.setCryptoBytes(null);
-
- context.commitChanges();
-
- SelectQuery<Table2> select = SelectQuery.query(Table2.class);
- select.addOrdering(Table2.PLAIN_BYTES.asc());
-
- List<Table2> result = runtime.newContext().select(select);
-
- assertEquals(3, result.size());
- assertArrayEquals(cryptoBytes1, result.get(0).getCryptoBytes());
- assertArrayEquals(cryptoBytes2, result.get(1).getCryptoBytes());
- assertArrayEquals(null, result.get(2).getCryptoBytes());
- }
-
-}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/30c2c6f1/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/Runtime_AES128_IT.java
----------------------------------------------------------------------
diff --git a/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/Runtime_AES128_IT.java b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/Runtime_AES128_IT.java
new file mode 100644
index 0000000..e337d65
--- /dev/null
+++ b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/Runtime_AES128_IT.java
@@ -0,0 +1,122 @@
+/*****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ ****************************************************************/
+package org.apache.cayenne.crypto;
+
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+
+import java.sql.SQLException;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.cayenne.ObjectContext;
+import org.apache.cayenne.crypto.db.Table2;
+import org.apache.cayenne.crypto.unit.CryptoUnitUtils;
+import org.apache.cayenne.query.SelectQuery;
+import org.junit.Before;
+import org.junit.Test;
+
+public class Runtime_AES128_IT extends Runtime_AES128_Base {
+
+ @Before
+ public void setUp() throws Exception {
+ super.setUp(false);
+ }
+
+ @Test
+ public void testInsert() throws SQLException {
+
+ ObjectContext context = runtime.newContext();
+
+ Table2 t1 = context.newObject(Table2.class);
+ t1.setPlainBytes("plain_1".getBytes());
+ t1.setCryptoBytes("crypto_1".getBytes());
+
+ context.commitChanges();
+
+ Object[] data = table2.select();
+ assertArrayEquals("plain_1".getBytes(), (byte[]) data[1]);
+ assertArrayEquals("crypto_1".getBytes(), CryptoUnitUtils.decrypt_AES_CBC((byte[]) data[2], runtime));
+ }
+
+ @Test
+ public void testInsert_MultipleObjects() throws SQLException {
+
+ ObjectContext context = runtime.newContext();
+
+ Table2 t1 = context.newObject(Table2.class);
+ t1.setPlainBytes("a".getBytes());
+ t1.setCryptoBytes("crypto_1".getBytes());
+
+ Table2 t2 = context.newObject(Table2.class);
+ t2.setPlainBytes("b".getBytes());
+ t2.setCryptoBytes("crypto_2".getBytes());
+
+ Table2 t3 = context.newObject(Table2.class);
+ t3.setPlainBytes("c".getBytes());
+ t3.setCryptoBytes(null);
+
+ context.commitChanges();
+
+ List<Object[]> data = table2.selectAll();
+ assertEquals(3, data.size());
+
+ Map<String, byte[]> cipherByPlain = new HashMap<>();
+ for (Object[] r : data) {
+ cipherByPlain.put(new String((byte[]) r[1]), (byte[]) r[2]);
+ }
+
+ assertArrayEquals("crypto_1".getBytes(), CryptoUnitUtils.decrypt_AES_CBC(cipherByPlain.get("a"), runtime));
+ assertArrayEquals("crypto_2".getBytes(), CryptoUnitUtils.decrypt_AES_CBC(cipherByPlain.get("b"), runtime));
+ assertNull(cipherByPlain.get("c"));
+ }
+
+ @Test
+ public void test_SelectQuery() throws SQLException {
+
+ ObjectContext context = runtime.newContext();
+
+ Table2 t1 = context.newObject(Table2.class);
+ t1.setPlainBytes("a".getBytes());
+ t1.setCryptoBytes("crypto_1".getBytes());
+
+ Table2 t2 = context.newObject(Table2.class);
+ t2.setPlainBytes("b".getBytes());
+ t2.setCryptoBytes("crypto_2".getBytes());
+
+ Table2 t3 = context.newObject(Table2.class);
+ t3.setPlainBytes("c".getBytes());
+ t3.setCryptoBytes(null);
+
+ context.commitChanges();
+
+ SelectQuery<Table2> select = SelectQuery.query(Table2.class);
+ select.addOrdering(Table2.PLAIN_BYTES.asc());
+
+ List<Table2> result = runtime.newContext().select(select);
+
+ assertEquals(3, result.size());
+ assertArrayEquals("crypto_1".getBytes(), result.get(0).getCryptoBytes());
+ assertArrayEquals("crypto_2".getBytes(), result.get(1).getCryptoBytes());
+ assertArrayEquals(null, result.get(2).getCryptoBytes());
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/30c2c6f1/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/Runtime_AES128_Test.java
----------------------------------------------------------------------
diff --git a/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/Runtime_AES128_Test.java b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/Runtime_AES128_Test.java
deleted file mode 100644
index 61b3453..0000000
--- a/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/Runtime_AES128_Test.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- ****************************************************************/
-package org.apache.cayenne.crypto;
-
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-
-import java.sql.SQLException;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.cayenne.ObjectContext;
-import org.apache.cayenne.crypto.db.Table2;
-import org.apache.cayenne.crypto.unit.CryptoUnitUtils;
-import org.apache.cayenne.query.SelectQuery;
-import org.junit.Before;
-import org.junit.Test;
-
-public class Runtime_AES128_Test extends Runtime_AES128_Base {
-
- @Before
- public void setUp() throws Exception {
- super.setUp(false);
- }
-
- @Test
- public void testInsert() throws SQLException {
-
- ObjectContext context = runtime.newContext();
-
- Table2 t1 = context.newObject(Table2.class);
- t1.setPlainBytes("plain_1".getBytes());
- t1.setCryptoBytes("crypto_1".getBytes());
-
- context.commitChanges();
-
- Object[] data = table2.select();
- assertArrayEquals("plain_1".getBytes(), (byte[]) data[1]);
- assertArrayEquals("crypto_1".getBytes(), CryptoUnitUtils.decrypt_AES_CBC((byte[]) data[2], runtime));
- }
-
- @Test
- public void testInsert_MultipleObjects() throws SQLException {
-
- ObjectContext context = runtime.newContext();
-
- Table2 t1 = context.newObject(Table2.class);
- t1.setPlainBytes("a".getBytes());
- t1.setCryptoBytes("crypto_1".getBytes());
-
- Table2 t2 = context.newObject(Table2.class);
- t2.setPlainBytes("b".getBytes());
- t2.setCryptoBytes("crypto_2".getBytes());
-
- Table2 t3 = context.newObject(Table2.class);
- t3.setPlainBytes("c".getBytes());
- t3.setCryptoBytes(null);
-
- context.commitChanges();
-
- List<Object[]> data = table2.selectAll();
- assertEquals(3, data.size());
-
- Map<String, byte[]> cipherByPlain = new HashMap<>();
- for (Object[] r : data) {
- cipherByPlain.put(new String((byte[]) r[1]), (byte[]) r[2]);
- }
-
- assertArrayEquals("crypto_1".getBytes(), CryptoUnitUtils.decrypt_AES_CBC(cipherByPlain.get("a"), runtime));
- assertArrayEquals("crypto_2".getBytes(), CryptoUnitUtils.decrypt_AES_CBC(cipherByPlain.get("b"), runtime));
- assertNull(cipherByPlain.get("c"));
- }
-
- @Test
- public void test_SelectQuery() throws SQLException {
-
- ObjectContext context = runtime.newContext();
-
- Table2 t1 = context.newObject(Table2.class);
- t1.setPlainBytes("a".getBytes());
- t1.setCryptoBytes("crypto_1".getBytes());
-
- Table2 t2 = context.newObject(Table2.class);
- t2.setPlainBytes("b".getBytes());
- t2.setCryptoBytes("crypto_2".getBytes());
-
- Table2 t3 = context.newObject(Table2.class);
- t3.setPlainBytes("c".getBytes());
- t3.setCryptoBytes(null);
-
- context.commitChanges();
-
- SelectQuery<Table2> select = SelectQuery.query(Table2.class);
- select.addOrdering(Table2.PLAIN_BYTES.asc());
-
- List<Table2> result = runtime.newContext().select(select);
-
- assertEquals(3, result.size());
- assertArrayEquals("crypto_1".getBytes(), result.get(0).getCryptoBytes());
- assertArrayEquals("crypto_2".getBytes(), result.get(1).getCryptoBytes());
- assertArrayEquals(null, result.get(2).getCryptoBytes());
- }
-
-}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/30c2c6f1/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/DefaultValueTransformerFactoryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/DefaultValueTransformerFactoryIT.java b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/DefaultValueTransformerFactoryIT.java
new file mode 100644
index 0000000..1bb896a
--- /dev/null
+++ b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/DefaultValueTransformerFactoryIT.java
@@ -0,0 +1,168 @@
+/*****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ ****************************************************************/
+package org.apache.cayenne.crypto.transformer.value;
+
+import org.apache.cayenne.configuration.server.ServerRuntime;
+import org.apache.cayenne.crypto.key.KeySource;
+import org.apache.cayenne.map.DbAttribute;
+import org.apache.cayenne.map.DbEntity;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import java.sql.Types;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+public class DefaultValueTransformerFactoryIT {
+
+ private static DbEntity t1;
+ private static DbEntity t2;
+ private static DbEntity t3;
+
+ @BeforeClass
+ public static void beforeClass() throws Exception {
+ ServerRuntime runtime = new ServerRuntime("cayenne-crypto.xml");
+ t1 = runtime.getChannel().getEntityResolver().getDbEntity("TABLE1");
+ t2 = runtime.getChannel().getEntityResolver().getDbEntity("TABLE2");
+ t3 = runtime.getChannel().getEntityResolver().getDbEntity("TABLE3");
+ }
+
+ @Test
+ public void testGetJavaType() {
+
+ DefaultValueTransformerFactory f = new DefaultValueTransformerFactory(mock(KeySource.class));
+
+ DbAttribute t1_ct = t1.getAttribute("CRYPTO_STRING");
+ assertEquals("java.lang.String", f.getJavaType(t1_ct));
+
+ DbAttribute t2_cb = t2.getAttribute("CRYPTO_BYTES");
+ assertEquals("byte[]", f.getJavaType(t2_cb));
+
+ DbEntity fakeEntity = mock(DbEntity.class);
+ when(fakeEntity.getDataMap()).thenReturn(t1.getDataMap());
+
+ DbAttribute fakeA1 = mock(DbAttribute.class);
+ when(fakeA1.getName()).thenReturn("fake1");
+ when(fakeA1.getEntity()).thenReturn(fakeEntity);
+ when(fakeA1.getType()).thenReturn(Types.VARBINARY);
+
+ assertEquals("byte[]", f.getJavaType(fakeA1));
+
+ DbAttribute fakeA2 = mock(DbAttribute.class);
+ when(fakeA2.getName()).thenReturn("fake2");
+ when(fakeA2.getEntity()).thenReturn(fakeEntity);
+ when(fakeA2.getType()).thenReturn(Types.VARCHAR);
+
+ assertEquals("java.lang.String", f.getJavaType(fakeA2));
+ }
+
+ @Test
+ public void testCreateEncryptor() {
+ DefaultValueTransformerFactory f = new DefaultValueTransformerFactory(mock(KeySource.class));
+
+ DbAttribute t1_ct = t1.getAttribute("CRYPTO_STRING");
+
+ ValueEncryptor t1 = f.createEncryptor(t1_ct);
+ assertNotNull(t1);
+ assertTrue(t1 instanceof DefaultValueEncryptor);
+ assertSame(Utf8StringConverter.INSTANCE, ((DefaultValueEncryptor) t1).getPreConverter());
+ assertSame(Base64StringConverter.INSTANCE, ((DefaultValueEncryptor) t1).getPostConverter());
+
+ DbAttribute t2_cb = t2.getAttribute("CRYPTO_BYTES");
+
+ ValueEncryptor t2 = f.createEncryptor(t2_cb);
+ assertNotNull(t2);
+ assertTrue(t2 instanceof DefaultValueEncryptor);
+ assertSame(BytesToBytesConverter.INSTANCE, ((DefaultValueEncryptor) t2).getPreConverter());
+ assertSame(BytesToBytesConverter.INSTANCE, ((DefaultValueEncryptor) t2).getPostConverter());
+ }
+
+ @Test
+ public void testCreateDecryptor() {
+ DefaultValueTransformerFactory f = new DefaultValueTransformerFactory(mock(KeySource.class));
+
+ DbAttribute t1_ct = t1.getAttribute("CRYPTO_STRING");
+
+ ValueDecryptor t1 = f.createDecryptor(t1_ct);
+ assertNotNull(t1);
+ assertTrue(t1 instanceof DefaultValueDecryptor);
+ assertSame(Base64StringConverter.INSTANCE, ((DefaultValueDecryptor) t1).getPreConverter());
+ assertSame(Utf8StringConverter.INSTANCE, ((DefaultValueDecryptor) t1).getPostConverter());
+
+ DbAttribute t2_cb = t2.getAttribute("CRYPTO_BYTES");
+
+ ValueDecryptor t2 = f.createDecryptor(t2_cb);
+ assertNotNull(t2);
+ assertTrue(t2 instanceof DefaultValueDecryptor);
+ assertSame(BytesToBytesConverter.INSTANCE, ((DefaultValueDecryptor) t2).getPreConverter());
+ assertSame(BytesToBytesConverter.INSTANCE, ((DefaultValueDecryptor) t2).getPostConverter());
+
+ DbAttribute t3_cb = t3.getAttribute("CRYPTO_BYTES");
+
+ ValueDecryptor t3 = f.createDecryptor(t3_cb);
+ assertNotNull(t3);
+ assertTrue(t3 instanceof DefaultValueDecryptor);
+ assertSame(BytesToBytesConverter.INSTANCE, ((DefaultValueDecryptor) t3).getPreConverter());
+ assertSame(Utf8StringConverter.INSTANCE, ((DefaultValueDecryptor) t3).getPostConverter());
+ }
+
+ @Test
+ public void testEncryptor() {
+ DefaultValueTransformerFactory f = new DefaultValueTransformerFactory(mock(KeySource.class));
+
+ DbAttribute t1_ct = t1.getAttribute("CRYPTO_STRING");
+
+ ValueEncryptor t1 = f.encryptor(t1_ct);
+ assertNotNull(t1);
+ assertSame(t1, f.encryptor(t1_ct));
+ assertSame(t1, f.encryptor(t1_ct));
+
+ DbAttribute t2_cb = t2.getAttribute("CRYPTO_BYTES");
+
+ ValueEncryptor t2 = f.encryptor(t2_cb);
+ assertNotNull(t2);
+ assertSame(t2, f.encryptor(t2_cb));
+ assertSame(t2, f.encryptor(t2_cb));
+ }
+
+ @Test
+ public void testDecryptor() {
+ DefaultValueTransformerFactory f = new DefaultValueTransformerFactory(mock(KeySource.class));
+
+ DbAttribute t1_ct = t1.getAttribute("CRYPTO_STRING");
+
+ ValueDecryptor t1 = f.decryptor(t1_ct);
+ assertNotNull(t1);
+ assertSame(t1, f.decryptor(t1_ct));
+ assertSame(t1, f.decryptor(t1_ct));
+
+ DbAttribute t2_cb = t2.getAttribute("CRYPTO_BYTES");
+
+ ValueDecryptor t2 = f.decryptor(t2_cb);
+ assertNotNull(t2);
+ assertSame(t2, f.decryptor(t2_cb));
+ assertSame(t2, f.decryptor(t2_cb));
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/30c2c6f1/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/DefaultValueTransformerFactoryTest.java
----------------------------------------------------------------------
diff --git a/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/DefaultValueTransformerFactoryTest.java b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/DefaultValueTransformerFactoryTest.java
deleted file mode 100644
index 5e9120e..0000000
--- a/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/DefaultValueTransformerFactoryTest.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- ****************************************************************/
-package org.apache.cayenne.crypto.transformer.value;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-import java.sql.Types;
-
-import org.apache.cayenne.configuration.server.ServerRuntime;
-import org.apache.cayenne.crypto.key.KeySource;
-import org.apache.cayenne.map.DbAttribute;
-import org.apache.cayenne.map.DbEntity;
-import org.junit.Before;
-import org.junit.Test;
-
-public class DefaultValueTransformerFactoryTest {
-
- private DbEntity t1;
- private DbEntity t2;
- private DbEntity t3;
-
- @Before
- public void setUp() throws Exception {
- ServerRuntime runtime = new ServerRuntime("cayenne-crypto.xml");
- this.t1 = runtime.getChannel().getEntityResolver().getDbEntity("TABLE1");
- this.t2 = runtime.getChannel().getEntityResolver().getDbEntity("TABLE2");
- this.t3 = runtime.getChannel().getEntityResolver().getDbEntity("TABLE3");
- }
-
- @Test
- public void testGetJavaType() {
-
- DefaultValueTransformerFactory f = new DefaultValueTransformerFactory(mock(KeySource.class));
-
- DbAttribute t1_ct = t1.getAttribute("CRYPTO_STRING");
- assertEquals("java.lang.String", f.getJavaType(t1_ct));
-
- DbAttribute t2_cb = t2.getAttribute("CRYPTO_BYTES");
- assertEquals("byte[]", f.getJavaType(t2_cb));
-
- DbEntity fakeEntity = mock(DbEntity.class);
- when(fakeEntity.getDataMap()).thenReturn(t1.getDataMap());
-
- DbAttribute fakeA1 = mock(DbAttribute.class);
- when(fakeA1.getName()).thenReturn("fake1");
- when(fakeA1.getEntity()).thenReturn(fakeEntity);
- when(fakeA1.getType()).thenReturn(Types.VARBINARY);
-
- assertEquals("byte[]", f.getJavaType(fakeA1));
-
- DbAttribute fakeA2 = mock(DbAttribute.class);
- when(fakeA2.getName()).thenReturn("fake2");
- when(fakeA2.getEntity()).thenReturn(fakeEntity);
- when(fakeA2.getType()).thenReturn(Types.VARCHAR);
-
- assertEquals("java.lang.String", f.getJavaType(fakeA2));
- }
-
- @Test
- public void testCreateEncryptor() {
- DefaultValueTransformerFactory f = new DefaultValueTransformerFactory(mock(KeySource.class));
-
- DbAttribute t1_ct = t1.getAttribute("CRYPTO_STRING");
-
- ValueEncryptor t1 = f.createEncryptor(t1_ct);
- assertNotNull(t1);
- assertTrue(t1 instanceof DefaultValueEncryptor);
- assertSame(Utf8StringConverter.INSTANCE, ((DefaultValueEncryptor) t1).getPreConverter());
- assertSame(Base64StringConverter.INSTANCE, ((DefaultValueEncryptor) t1).getPostConverter());
-
- DbAttribute t2_cb = t2.getAttribute("CRYPTO_BYTES");
-
- ValueEncryptor t2 = f.createEncryptor(t2_cb);
- assertNotNull(t2);
- assertTrue(t2 instanceof DefaultValueEncryptor);
- assertSame(BytesToBytesConverter.INSTANCE, ((DefaultValueEncryptor) t2).getPreConverter());
- assertSame(BytesToBytesConverter.INSTANCE, ((DefaultValueEncryptor) t2).getPostConverter());
- }
-
- @Test
- public void testCreateDecryptor() {
- DefaultValueTransformerFactory f = new DefaultValueTransformerFactory(mock(KeySource.class));
-
- DbAttribute t1_ct = t1.getAttribute("CRYPTO_STRING");
-
- ValueDecryptor t1 = f.createDecryptor(t1_ct);
- assertNotNull(t1);
- assertTrue(t1 instanceof DefaultValueDecryptor);
- assertSame(Base64StringConverter.INSTANCE, ((DefaultValueDecryptor) t1).getPreConverter());
- assertSame(Utf8StringConverter.INSTANCE, ((DefaultValueDecryptor) t1).getPostConverter());
-
- DbAttribute t2_cb = t2.getAttribute("CRYPTO_BYTES");
-
- ValueDecryptor t2 = f.createDecryptor(t2_cb);
- assertNotNull(t2);
- assertTrue(t2 instanceof DefaultValueDecryptor);
- assertSame(BytesToBytesConverter.INSTANCE, ((DefaultValueDecryptor) t2).getPreConverter());
- assertSame(BytesToBytesConverter.INSTANCE, ((DefaultValueDecryptor) t2).getPostConverter());
-
- DbAttribute t3_cb = t3.getAttribute("CRYPTO_BYTES");
-
- ValueDecryptor t3 = f.createDecryptor(t3_cb);
- assertNotNull(t3);
- assertTrue(t3 instanceof DefaultValueDecryptor);
- assertSame(BytesToBytesConverter.INSTANCE, ((DefaultValueDecryptor) t3).getPreConverter());
- assertSame(Utf8StringConverter.INSTANCE, ((DefaultValueDecryptor) t3).getPostConverter());
- }
-
- @Test
- public void testEncryptor() {
- DefaultValueTransformerFactory f = new DefaultValueTransformerFactory(mock(KeySource.class));
-
- DbAttribute t1_ct = t1.getAttribute("CRYPTO_STRING");
-
- ValueEncryptor t1 = f.encryptor(t1_ct);
- assertNotNull(t1);
- assertSame(t1, f.encryptor(t1_ct));
- assertSame(t1, f.encryptor(t1_ct));
-
- DbAttribute t2_cb = t2.getAttribute("CRYPTO_BYTES");
-
- ValueEncryptor t2 = f.encryptor(t2_cb);
- assertNotNull(t2);
- assertSame(t2, f.encryptor(t2_cb));
- assertSame(t2, f.encryptor(t2_cb));
- }
-
- @Test
- public void testDecryptor() {
- DefaultValueTransformerFactory f = new DefaultValueTransformerFactory(mock(KeySource.class));
-
- DbAttribute t1_ct = t1.getAttribute("CRYPTO_STRING");
-
- ValueDecryptor t1 = f.decryptor(t1_ct);
- assertNotNull(t1);
- assertSame(t1, f.decryptor(t1_ct));
- assertSame(t1, f.decryptor(t1_ct));
-
- DbAttribute t2_cb = t2.getAttribute("CRYPTO_BYTES");
-
- ValueDecryptor t2 = f.decryptor(t2_cb);
- assertNotNull(t2);
- assertSame(t2, f.decryptor(t2_cb));
- assertSame(t2, f.decryptor(t2_cb));
- }
-
-}