mirror of
https://github.com/moparisthebest/open-keychain
synced 2024-11-30 12:32:17 -05:00
test: add junit+robolectric to buildfiles and stub test file
This commit is contained in:
parent
6f36b72eee
commit
62388e3fdb
@ -1,5 +1,12 @@
|
|||||||
apply plugin: 'android'
|
apply plugin: 'android'
|
||||||
|
|
||||||
|
sourceSets {
|
||||||
|
testLocal {
|
||||||
|
java.srcDir file('src/test/java')
|
||||||
|
resources.srcDir file('src/test/resources')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
compile 'com.android.support:support-v4:19.0.1'
|
compile 'com.android.support:support-v4:19.0.1'
|
||||||
compile 'com.android.support:appcompat-v7: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:pkix')
|
||||||
compile project(':libraries:spongycastle:prov')
|
compile project(':libraries:spongycastle:prov')
|
||||||
compile project(':libraries:Android-AppMsg:library')
|
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 {
|
android {
|
||||||
@ -61,3 +87,19 @@ android {
|
|||||||
htmlOutput file("lint-report.html")
|
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
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
android:orientation="vertical" >
|
android:orientation="vertical" >
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+android:id/text_layout"
|
android:id="@+id/text_layout"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:gravity="center_vertical"
|
android:gravity="center_vertical"
|
||||||
|
@ -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");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -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));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user