aboutsummaryrefslogtreecommitdiffstats
path: root/OpenPGP-Keychain
diff options
context:
space:
mode:
authorVincent Breitmoser <valodim@mugenguild.com>2014-03-22 14:57:08 +0100
committerVincent Breitmoser <valodim@mugenguild.com>2014-04-01 16:12:57 +0200
commit62388e3fdbe4ade7628ed938c4f91a4f39654c4e (patch)
treef2df6260561594b08e0c3f02f98be8fbd1ce2336 /OpenPGP-Keychain
parent6f36b72eee8ed2a0baa768e696bbb6e9632ed795 (diff)
downloadopen-keychain-62388e3fdbe4ade7628ed938c4f91a4f39654c4e.tar.gz
open-keychain-62388e3fdbe4ade7628ed938c4f91a4f39654c4e.tar.bz2
open-keychain-62388e3fdbe4ade7628ed938c4f91a4f39654c4e.zip
test: add junit+robolectric to buildfiles and stub test file
Diffstat (limited to 'OpenPGP-Keychain')
-rw-r--r--OpenPGP-Keychain/build.gradle42
-rw-r--r--OpenPGP-Keychain/src/main/res/layout/key_server_preference.xml2
-rw-r--r--OpenPGP-Keychain/src/test/java/org/sufficientlysecure/keychain/PgpKeyOperationTest.java46
-rw-r--r--OpenPGP-Keychain/src/test/java/org/sufficientlysecure/keychain/RobolectricGradleTestRunner.java23
4 files changed, 112 insertions, 1 deletions
diff --git a/OpenPGP-Keychain/build.gradle b/OpenPGP-Keychain/build.gradle
index 04ee46715..7fd1fecce 100644
--- a/OpenPGP-Keychain/build.gradle
+++ b/OpenPGP-Keychain/build.gradle
@@ -1,5 +1,12 @@
apply plugin: 'android'
+sourceSets {
+ testLocal {
+ java.srcDir file('src/test/java')
+ resources.srcDir file('src/test/resources')
+ }
+}
+
dependencies {
compile 'com.android.support:support-v4:19.0.1'
compile 'com.android.support:appcompat-v7:19.0.1'
@@ -15,6 +22,25 @@ dependencies {
compile project(':libraries:spongycastle:pkix')
compile project(':libraries:spongycastle:prov')
compile project(':libraries:Android-AppMsg:library')
+
+ // Dependencies for the `testLocal` task, make sure to list all your global dependencies here as well
+ testLocalCompile 'junit:junit:4.11'
+ testLocalCompile 'org.robolectric:robolectric:2.1.+'
+ testLocalCompile 'com.google.android:android:4.1.1.4'
+ testLocalCompile 'com.android.support:support-v4:19.0.1'
+ testLocalCompile 'com.android.support:appcompat-v7:19.0.1'
+ testLocalCompile project(':OpenPGP-Keychain-API:libraries:openpgp-api-library')
+ testLocalCompile project(':OpenPGP-Keychain-API:libraries:openkeychain-api-library')
+ testLocalCompile project(':libraries:HtmlTextView')
+ testLocalCompile project(':libraries:StickyListHeaders:library')
+ testLocalCompile project(':libraries:AndroidBootstrap')
+ testLocalCompile project(':libraries:zxing')
+ testLocalCompile project(':libraries:zxing-android-integration')
+ testLocalCompile project(':libraries:spongycastle:core')
+ testLocalCompile project(':libraries:spongycastle:pg')
+ testLocalCompile project(':libraries:spongycastle:pkix')
+ testLocalCompile project(':libraries:spongycastle:prov')
+ testLocalCompile project(':libraries:Android-AppMsg:library')
}
android {
@@ -61,3 +87,19 @@ android {
htmlOutput file("lint-report.html")
}
}
+
+task localTest(type: Test, dependsOn: assemble) {
+ testClassesDir = sourceSets.testLocal.output.classesDir
+
+ android.sourceSets.main.java.srcDirs.each { dir ->
+ def buildDir = dir.getAbsolutePath().split('/')
+ buildDir = (buildDir[0..(buildDir.length - 4)] + ['build', 'classes', 'debug']).join('/')
+
+ sourceSets.testLocal.compileClasspath += files(buildDir)
+ sourceSets.testLocal.runtimeClasspath += files(buildDir)
+ }
+
+ classpath = sourceSets.testLocal.runtimeClasspath
+}
+
+check.dependsOn localTest
diff --git a/OpenPGP-Keychain/src/main/res/layout/key_server_preference.xml b/OpenPGP-Keychain/src/main/res/layout/key_server_preference.xml
index eddbe3cbf..b8897a7b3 100644
--- a/OpenPGP-Keychain/src/main/res/layout/key_server_preference.xml
+++ b/OpenPGP-Keychain/src/main/res/layout/key_server_preference.xml
@@ -6,7 +6,7 @@
android:orientation="vertical" >
<LinearLayout
- android:id="@+android:id/text_layout"
+ android:id="@+id/text_layout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
diff --git a/OpenPGP-Keychain/src/test/java/org/sufficientlysecure/keychain/PgpKeyOperationTest.java b/OpenPGP-Keychain/src/test/java/org/sufficientlysecure/keychain/PgpKeyOperationTest.java
new file mode 100644
index 000000000..72f29a1e3
--- /dev/null
+++ b/OpenPGP-Keychain/src/test/java/org/sufficientlysecure/keychain/PgpKeyOperationTest.java
@@ -0,0 +1,46 @@
+package org.sufficientlysecure.keychain;
+
+import org.junit.Before;
+import org.junit.After;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.Robolectric;
+
+import org.sufficientlysecure.keychain.pgp.*;
+import org.spongycastle.openpgp.*;
+
+@RunWith(RobolectricGradleTestRunner.class)
+public class PgpKeyOperationTest {
+
+ PGPSecretKey key;
+
+ @Before
+ public void setUp() throws Exception {
+
+ /* Input */
+ int algorithm = Id.choice.algorithm.dsa;
+ String passphrase = "swag";
+ int keysize = 2048;
+ boolean masterKey = true;
+
+ /* Operation */
+ PgpKeyOperation keyOperations = new PgpKeyOperation(null);
+ key = keyOperations.createKey(algorithm, keysize, passphrase, masterKey);
+
+ System.err.println("initialized, test key: " + PgpKeyHelper.convertKeyIdToHex(key.getKeyID()));
+ }
+
+ @After
+ public void tearDown() {
+ }
+
+ @Test
+ public void createTest() {
+ }
+
+ @Test
+ public void certifyKey() {
+ System.err.println("swag");
+ }
+
+}
diff --git a/OpenPGP-Keychain/src/test/java/org/sufficientlysecure/keychain/RobolectricGradleTestRunner.java b/OpenPGP-Keychain/src/test/java/org/sufficientlysecure/keychain/RobolectricGradleTestRunner.java
new file mode 100644
index 000000000..b64ffde07
--- /dev/null
+++ b/OpenPGP-Keychain/src/test/java/org/sufficientlysecure/keychain/RobolectricGradleTestRunner.java
@@ -0,0 +1,23 @@
+package org.sufficientlysecure.keychain;
+
+import org.junit.runners.model.InitializationError;
+import org.robolectric.AndroidManifest;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+import org.robolectric.res.Fs;
+import org.robolectric.res.FsFile;
+
+import org.sufficientlysecure.keychain.KeychainApplication;
+
+public class RobolectricGradleTestRunner extends RobolectricTestRunner {
+ public RobolectricGradleTestRunner(Class<?> testClass) throws InitializationError {
+ super(testClass);
+ }
+
+ @Override protected AndroidManifest getAppManifest(Config config) {
+ String myAppPath = KeychainApplication.class.getProtectionDomain().getCodeSource().getLocation().getPath();
+ String manifestPath = myAppPath + "../../../src/main/AndroidManifest.xml";
+ return createAppManifest(Fs.fileFromPath(manifestPath));
+ }
+}
+