You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@gobblin.apache.org by hu...@apache.org on 2018/08/02 18:53:59 UTC

incubator-gobblin git commit: [GOBBLIN-553] Fix FileAwareInputStreamDataWriterTest access to public key

Repository: incubator-gobblin
Updated Branches:
  refs/heads/master dcdf7cacd -> 7ab7f8b09


[GOBBLIN-553] Fix FileAwareInputStreamDataWriterTest access to public key

Closes #2414 from htran1/encryption_test_fix1


Project: http://git-wip-us.apache.org/repos/asf/incubator-gobblin/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-gobblin/commit/7ab7f8b0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-gobblin/tree/7ab7f8b0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-gobblin/diff/7ab7f8b0

Branch: refs/heads/master
Commit: 7ab7f8b098a1ca7e2b45fef98f2c28e470796199
Parents: dcdf7ca
Author: Hung Tran <hu...@linkedin.com>
Authored: Thu Aug 2 11:53:53 2018 -0700
Committer: Hung Tran <hu...@linkedin.com>
Committed: Thu Aug 2 11:53:53 2018 -0700

----------------------------------------------------------------------
 .../FileAwareInputStreamDataWriterTest.java     | 11 +++-
 .../crypto/GobblinEncryptionProviderTest.java   | 10 ++--
 .../src/test/resources/testPrivate.key          | 59 ++++++++++++++++++++
 .../src/test/resources/testPublic.key           | 30 ++++++++++
 4 files changed, 103 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-gobblin/blob/7ab7f8b0/gobblin-data-management/src/test/java/org/apache/gobblin/data/management/copy/writer/FileAwareInputStreamDataWriterTest.java
----------------------------------------------------------------------
diff --git a/gobblin-data-management/src/test/java/org/apache/gobblin/data/management/copy/writer/FileAwareInputStreamDataWriterTest.java b/gobblin-data-management/src/test/java/org/apache/gobblin/data/management/copy/writer/FileAwareInputStreamDataWriterTest.java
index e772158..517077e 100644
--- a/gobblin-data-management/src/test/java/org/apache/gobblin/data/management/copy/writer/FileAwareInputStreamDataWriterTest.java
+++ b/gobblin-data-management/src/test/java/org/apache/gobblin/data/management/copy/writer/FileAwareInputStreamDataWriterTest.java
@@ -23,6 +23,7 @@ import java.io.IOException;
 import java.util.List;
 import java.util.Properties;
 
+import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang.RandomStringUtils;
 import org.apache.hadoop.conf.Configuration;
@@ -199,9 +200,13 @@ public class FileAwareInputStreamDataWriterTest {
     state.setProp(ConfigurationKeys.WRITER_OUTPUT_DIR, new Path(testTempPath, "output").toString());
     state.setProp(ConfigurationKeys.WRITER_FILE_PATH, RandomStringUtils.randomAlphabetic(5));
     state.setProp("writer.encrypt." + EncryptionConfigParser.ENCRYPTION_ALGORITHM_KEY, "gpg");
-    state.setProp("writer.encrypt." + EncryptionConfigParser.ENCRYPTION_KEYSTORE_PATH_KEY,
-        GPGFileEncryptor.class.getResource(
-            GPGFileEncryptorTest.PUBLIC_KEY).toString());
+
+    File publicKeyFile = new File(testTempPath.toString(), "public.key");
+
+    FileUtils.copyInputStreamToFile(GPGFileEncryptor.class.getResourceAsStream(GPGFileEncryptorTest.PUBLIC_KEY),
+        publicKeyFile);
+
+    state.setProp("writer.encrypt." + EncryptionConfigParser.ENCRYPTION_KEYSTORE_PATH_KEY, publicKeyFile.getAbsolutePath());
     state.setProp("writer.encrypt." + EncryptionConfigParser.ENCRYPTION_KEYSTORE_PASSWORD_KEY,
         GPGFileEncryptorTest.PASSPHRASE);
     state.setProp("writer.encrypt." + EncryptionConfigParser.ENCRYPTION_KEY_NAME,

http://git-wip-us.apache.org/repos/asf/incubator-gobblin/blob/7ab7f8b0/gobblin-modules/gobblin-crypto-provider/src/test/java/org/apache/gobblin/crypto/GobblinEncryptionProviderTest.java
----------------------------------------------------------------------
diff --git a/gobblin-modules/gobblin-crypto-provider/src/test/java/org/apache/gobblin/crypto/GobblinEncryptionProviderTest.java b/gobblin-modules/gobblin-crypto-provider/src/test/java/org/apache/gobblin/crypto/GobblinEncryptionProviderTest.java
index 682e03d..421c7ba 100644
--- a/gobblin-modules/gobblin-crypto-provider/src/test/java/org/apache/gobblin/crypto/GobblinEncryptionProviderTest.java
+++ b/gobblin-modules/gobblin-crypto-provider/src/test/java/org/apache/gobblin/crypto/GobblinEncryptionProviderTest.java
@@ -34,6 +34,8 @@ import org.apache.gobblin.codec.StreamCodec;
 
 public class GobblinEncryptionProviderTest {
   private static final long KEY_ID = -4435883136602571409L;
+  private static final String PRIVATE_KEY = "/testPrivate.key";
+  private static final String PUBLIC_KEY = "/testPublic.key";
 
   @Test
   public void testCanBuildAes() throws IOException {
@@ -61,7 +63,7 @@ public class GobblinEncryptionProviderTest {
     Map<String, Object> encryptionProperties = new HashMap<>();
     encryptionProperties.put(EncryptionConfigParser.ENCRYPTION_ALGORITHM_KEY, GPGCodec.TAG);
     encryptionProperties.put(EncryptionConfigParser.ENCRYPTION_KEYSTORE_PATH_KEY, GPGFileEncryptor.class.getResource(
-        GPGFileEncryptorTest.PUBLIC_KEY).toString());
+        PUBLIC_KEY).toString());
     encryptionProperties.put(EncryptionConfigParser.ENCRYPTION_KEY_NAME, String.valueOf(GPGFileEncryptorTest.KEY_ID));
 
     testGPG(encryptionProperties);
@@ -72,7 +74,7 @@ public class GobblinEncryptionProviderTest {
     Map<String, Object> encryptionProperties = new HashMap<>();
     encryptionProperties.put(EncryptionConfigParser.ENCRYPTION_ALGORITHM_KEY, GPGCodec.TAG);
     encryptionProperties.put(EncryptionConfigParser.ENCRYPTION_KEYSTORE_PATH_KEY, GPGFileEncryptor.class.getResource(
-        GPGFileEncryptorTest.PUBLIC_KEY).toString());
+        PUBLIC_KEY).toString());
     encryptionProperties.put(EncryptionConfigParser.ENCRYPTION_KEY_NAME, String.valueOf(GPGFileEncryptorTest.KEY_ID));
     encryptionProperties.put(EncryptionConfigParser.ENCRYPTION_CIPHER_KEY, "CAST5");
 
@@ -84,7 +86,7 @@ public class GobblinEncryptionProviderTest {
     Map<String, Object> encryptionProperties = new HashMap<>();
     encryptionProperties.put(EncryptionConfigParser.ENCRYPTION_ALGORITHM_KEY, GPGCodec.TAG);
     encryptionProperties.put(EncryptionConfigParser.ENCRYPTION_KEYSTORE_PATH_KEY, GPGFileEncryptor.class.getResource(
-        GPGFileEncryptorTest.PUBLIC_KEY).toString());
+        PUBLIC_KEY).toString());
     encryptionProperties.put(EncryptionConfigParser.ENCRYPTION_KEY_NAME, String.valueOf(GPGFileEncryptorTest.KEY_ID));
     encryptionProperties.put(EncryptionConfigParser.ENCRYPTION_CIPHER_KEY, "BadCipher");
 
@@ -98,7 +100,7 @@ public class GobblinEncryptionProviderTest {
     Map<String, Object> decryptionProperties = new HashMap<>();
     decryptionProperties.put(EncryptionConfigParser.ENCRYPTION_ALGORITHM_KEY, GPGCodec.TAG);
     decryptionProperties.put(EncryptionConfigParser.ENCRYPTION_KEYSTORE_PATH_KEY, GPGFileEncryptor.class.getResource(
-        GPGFileEncryptorTest.PRIVATE_KEY).toString());
+        PRIVATE_KEY).toString());
     decryptionProperties.put(EncryptionConfigParser.ENCRYPTION_KEYSTORE_PASSWORD_KEY, GPGFileEncryptorTest.PASSPHRASE);
     StreamCodec decryptor = EncryptionFactory.buildStreamCryptoProvider(decryptionProperties);
     Assert.assertNotNull(decryptor);

http://git-wip-us.apache.org/repos/asf/incubator-gobblin/blob/7ab7f8b0/gobblin-modules/gobblin-crypto-provider/src/test/resources/testPrivate.key
----------------------------------------------------------------------
diff --git a/gobblin-modules/gobblin-crypto-provider/src/test/resources/testPrivate.key b/gobblin-modules/gobblin-crypto-provider/src/test/resources/testPrivate.key
new file mode 100644
index 0000000..530e2bf
--- /dev/null
+++ b/gobblin-modules/gobblin-crypto-provider/src/test/resources/testPrivate.key
@@ -0,0 +1,59 @@
+-----BEGIN PGP PRIVATE KEY BLOCK-----
+Version: GnuPG v2.0.14 (GNU/Linux)
+
+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
+=27va
+-----END PGP PRIVATE KEY BLOCK-----

http://git-wip-us.apache.org/repos/asf/incubator-gobblin/blob/7ab7f8b0/gobblin-modules/gobblin-crypto-provider/src/test/resources/testPublic.key
----------------------------------------------------------------------
diff --git a/gobblin-modules/gobblin-crypto-provider/src/test/resources/testPublic.key b/gobblin-modules/gobblin-crypto-provider/src/test/resources/testPublic.key
new file mode 100644
index 0000000..ee68362
--- /dev/null
+++ b/gobblin-modules/gobblin-crypto-provider/src/test/resources/testPublic.key
@@ -0,0 +1,30 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v2.0.14 (GNU/Linux)
+
+mQENBFrGokcBCAC7nwmzuuSZiWj03+mlcRuvQHCX0WEnOHxssgBXO30TEn4SeIoi
+fdgsQzVKpUvLdJK6IowQ/uYOO1llG/5EkFZKYBV91+MXuaauo5cpmN7VaFL5Cex1
+5wT2cQq1QUWIsJb0sssnHYlsMU6gNTL/vg5wqtVjK2wvbi2K3q+d3Azph7dYHvUE
+VB0IFFdaBweZHY9uMgtOy3EMB+LuNoRAwkh7go8UJNShI2xCFx/dKcHddRXDax3u
+vXasxnp+bUawFCNx55l0vpsMCmeWCWrLEaSeKKAPEq/cyDFQkOoUSlqsb7LsIT1u
+v6qgOc3Dfex7dwSJyJ/5UvYGyP64jJ0rB7wDABEBAAG0MEdvYmJsaW4gVGVzdCAo
+Z29iYmxpbikgPGdvYmJsaW5AZ29iYmxpbi5nb2JibGluPokBOAQTAQIAIgUCWsai
+RwIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQwnCTyiGofW8PEgf+NXJD
+20j/ornWKPmDG7/duwDnSvKbOCCG8/u/WAm7q+mJ9nFSBhY/jKpy1VwtT0h7hy/I
+f0qI8tiXzfE6aX2njIkUWTRj9DipB3I2SLz8d+ysGMTSa0gdmF2tX7hXQAh/gf8+
+GUR1HBIb9vvDHF9EHngP8kWlRvdiget0U77Z+FDRP+qOej1XYgxB6iCw4uI8dcNo
+yghA0weY/1u/GEMoe8aI4mNsOWxAsEybu5q1O3TWkstkm2TQtEgZD6NkWQe5x69s
+vun1oUq12s//7NdbGGfNbwYW4cm9PLmlNBapldfqjP9zmbbf4Y/Cm6ump0KQdeJN
+s4tFWvxeDdWHu6EdEbkBDQRaxqJHAQgAxAnoam2a/drd62+1TXbLJKUmAWaEoWzE
+onqrh0/L+v7CEluNPRArTCm7B54IcolYUJWejAFRRJaLz2zGBndwX4eyZvE2qWSe
+ujZ14Ja2SXR8ZcHXpsPd5TdPixYGKgge1zNZWUEV5ncXWqjKCwISTuxoh0hQu3YJ
+kolquZHJAs8LH3aKTZ9GUkyyS61rMKAarRIjr/+yURIasPPtvdnllYUf9bDOdNdT
+UFHdXwVG16r2/qLL8RZDXaNlKJ5xqYvKo4TdJQj1Cq4dcyNwQntrFU5JJfETaQAD
+ZMa15NSReoToKSMTX+IJ4Bsn8LGG3Qv42qWyBcubq0lM1tnyxmesQQARAQABiQEf
+BBgBAgAJBQJaxqJHAhsMAAoJEMJwk8ohqH1vVzoH/j9b9VK/Sb6CW/SP5+4Xe2Rq
+Ly9yilLJqSFWI27xRmCmvGMUm0sbFR/deitCW05e+BKIoO5yyOe8zAEpr1j+d4TJ
+CqYSyw/9oGLVjAHJnid4SO7uDjGvTInIy8oardvPj8675Ud+H0OO7upWLKqvbrQf
+WzxtS31geiUk2YKcB9dGn6MB3cZoLxjjlWSPkyuL3qbayCa0+Cz6uoKa+93Tt64S
+JamGqZlvmytw1E8y4Tx/7QiNs/7qaVqrYTsBj5tmd7ESmIbEaBPxSQXAR/9zYKrZ
+AEXotsW7COeATq1dC02PftnPugkH6Ue+NY9n8Ltm3+bNCZWOHJSatKGlvB4ODtI=
+=02M+
+-----END PGP PUBLIC KEY BLOCK-----