Merge branch 'bma/upgrade_gradle' into 'master'
Update gradle wrapper and build tools See merge request matrix-org/olm!20
This commit is contained in:
commit
3b3f2c71dc
16 changed files with 366 additions and 365 deletions
|
@ -120,8 +120,7 @@ endorsed by the Matrix.org Foundation C.I.C.
|
||||||
|
|
||||||
First: bump version numbers in ``common.mk``, ``CMakeLists.txt``,
|
First: bump version numbers in ``common.mk``, ``CMakeLists.txt``,
|
||||||
``javascript/package.json``, ``python/olm/__version__.py``, ``OLMKit.podspec``, ``Package.swift``,
|
``javascript/package.json``, ``python/olm/__version__.py``, ``OLMKit.podspec``, ``Package.swift``,
|
||||||
and ``android/olm-sdk/build.gradle`` (``versionCode``, ``versionName`` and
|
and ``android/olm-sdk/java/org/matrix/olm/OlmManager.java`` in function ``getVersion()```.
|
||||||
``version``).
|
|
||||||
|
|
||||||
Also, ensure the changelog is up to date, and that everything is committed to
|
Also, ensure the changelog is up to date, and that everything is committed to
|
||||||
git.
|
git.
|
||||||
|
|
|
@ -24,6 +24,6 @@ Development
|
||||||
-----------
|
-----------
|
||||||
import the project from the ``android/`` path.
|
import the project from the ``android/`` path.
|
||||||
|
|
||||||
The project contains some JNI files and some Java wraper files.
|
The project contains some JNI files and some Java wrapper files.
|
||||||
|
|
||||||
The project contains some tests under AndroidTests package.
|
The project contains some tests under AndroidTests package.
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
buildscript {
|
buildscript {
|
||||||
repositories {
|
repositories {
|
||||||
jcenter()
|
mavenCentral()
|
||||||
google()
|
google()
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath 'com.android.tools.build:gradle:3.1.3'
|
classpath 'com.android.tools.build:gradle:4.1.3'
|
||||||
|
|
||||||
// NOTE: Do not place your application dependencies here; they belong
|
// NOTE: Do not place your application dependencies here; they belong
|
||||||
// in the individual module build.gradle files
|
// in the individual module build.gradle files
|
||||||
|
@ -15,7 +15,7 @@ buildscript {
|
||||||
|
|
||||||
allprojects {
|
allprojects {
|
||||||
repositories {
|
repositories {
|
||||||
jcenter()
|
mavenCentral()
|
||||||
google()
|
google()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,4 +19,5 @@
|
||||||
#systemProp.https.proxyHost=batproxy
|
#systemProp.https.proxyHost=batproxy
|
||||||
#systemProp.http.proxyPort=8080
|
#systemProp.http.proxyPort=8080
|
||||||
|
|
||||||
|
android.useAndroidX=true
|
||||||
org.gradle.configureondemand=false
|
org.gradle.configureondemand=false
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
#Thu Oct 13 09:38:01 CEST 2016
|
#Thu Oct 13 09:38:01 CEST 2016
|
||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
|
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0-all.zip
|
||||||
|
distributionSha256Sum=81003f83b0056d20eedf48cddd4f52a9813163d4ba185bcf8abd34b8eeea4cbd
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-4.7-all.zip
|
|
||||||
|
|
|
@ -3,15 +3,17 @@ import org.apache.tools.ant.taskdefs.condition.Os
|
||||||
apply plugin: 'com.android.library'
|
apply plugin: 'com.android.library'
|
||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdkVersion 28
|
compileSdkVersion 30
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
minSdkVersion 11
|
minSdkVersion 14
|
||||||
targetSdkVersion 28
|
targetSdkVersion 30
|
||||||
versionCode 322
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
versionName "3.2.2"
|
|
||||||
version "3.2.2"
|
// The following argument makes the Android Test Orchestrator run its
|
||||||
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
|
// "pm clear" command after each test invocation. This command ensures
|
||||||
|
// that the app's state is completely cleared between tests.
|
||||||
|
testInstrumentationRunnerArguments clearPackageData: 'true'
|
||||||
}
|
}
|
||||||
buildTypes {
|
buildTypes {
|
||||||
debug {
|
debug {
|
||||||
|
@ -34,7 +36,7 @@ android {
|
||||||
jni.srcDirs = []
|
jni.srcDirs = []
|
||||||
}
|
}
|
||||||
|
|
||||||
task buildJavaDoc(type: Javadoc) {
|
task buildJavaDoc(type: Javadoc) {
|
||||||
source = android.sourceSets.main.java.srcDirs
|
source = android.sourceSets.main.java.srcDirs
|
||||||
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
|
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
|
||||||
destinationDir = file("./doc/")
|
destinationDir = file("./doc/")
|
||||||
|
@ -60,14 +62,15 @@ android {
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.withType(JavaCompile) {
|
tasks.withType(JavaCompile) {
|
||||||
compileTask -> if (compileTask.name.startsWith('compileDebugJava')) {
|
compileTask ->
|
||||||
println 'test compile: Debug'
|
if (compileTask.name.startsWith('compileDebugJava')) {
|
||||||
compileTask.dependsOn ndkBuildNativeDebug
|
println 'test compile: Debug'
|
||||||
} else if (compileTask.name.startsWith('compileReleaseJava')) {
|
compileTask.dependsOn ndkBuildNativeDebug
|
||||||
println 'test compile: Release'
|
} else if (compileTask.name.startsWith('compileReleaseJava')) {
|
||||||
compileTask.dependsOn ndkBuildNativeRelease
|
println 'test compile: Release'
|
||||||
}
|
compileTask.dependsOn ndkBuildNativeRelease
|
||||||
compileTask.dependsOn buildJavaDoc
|
}
|
||||||
|
compileTask.dependsOn buildJavaDoc
|
||||||
}
|
}
|
||||||
|
|
||||||
clean.dependsOn cleanNative
|
clean.dependsOn cleanNative
|
||||||
|
@ -117,9 +120,11 @@ def gitRevisionDate() {
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
testImplementation 'junit:junit:4.12'
|
testImplementation 'junit:junit:4.13.2'
|
||||||
androidTestImplementation 'junit:junit:4.12'
|
androidTestImplementation 'junit:junit:4.13.2'
|
||||||
androidTestImplementation 'com.android.support:support-annotations:28.0.0'
|
|
||||||
androidTestImplementation 'com.android.support.test:runner:1.0.2'
|
androidTestImplementation 'androidx.test:core:1.3.0'
|
||||||
androidTestImplementation 'com.android.support.test:rules:1.0.2'
|
androidTestImplementation 'androidx.test:runner:1.3.0'
|
||||||
|
androidTestImplementation 'androidx.test:rules:1.3.0'
|
||||||
|
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,12 +18,12 @@
|
||||||
package org.matrix.olm;
|
package org.matrix.olm;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.support.test.runner.AndroidJUnit4;
|
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import org.json.JSONException;
|
import androidx.test.core.app.ApplicationProvider;
|
||||||
import org.json.JSONObject;
|
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||||
|
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.AfterClass;
|
import org.junit.AfterClass;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
|
@ -41,11 +41,13 @@ import java.io.ObjectInputStream;
|
||||||
import java.io.ObjectOutputStream;
|
import java.io.ObjectOutputStream;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import static android.support.test.InstrumentationRegistry.getInstrumentation;
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.junit.Assert.assertFalse;
|
import static org.junit.Assert.assertFalse;
|
||||||
|
import static org.junit.Assert.assertNotEquals;
|
||||||
import static org.junit.Assert.assertNotNull;
|
import static org.junit.Assert.assertNotNull;
|
||||||
import static org.junit.Assert.assertNull;
|
import static org.junit.Assert.assertNull;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
|
import static org.junit.Assert.fail;
|
||||||
|
|
||||||
@RunWith(AndroidJUnit4.class)
|
@RunWith(AndroidJUnit4.class)
|
||||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||||
|
@ -59,15 +61,15 @@ public class OlmAccountTest {
|
||||||
private final String FILE_NAME = "SerialTestFile";
|
private final String FILE_NAME = "SerialTestFile";
|
||||||
|
|
||||||
@BeforeClass
|
@BeforeClass
|
||||||
public static void setUpClass(){
|
public static void setUpClass() {
|
||||||
// load native lib
|
// load native lib
|
||||||
mOlmManager = new OlmManager();
|
mOlmManager = new OlmManager();
|
||||||
|
|
||||||
String olmLibVersion = mOlmManager.getOlmLibVersion();
|
String olmLibVersion = mOlmManager.getOlmLibVersion();
|
||||||
assertNotNull(olmLibVersion);
|
assertNotNull(olmLibVersion);
|
||||||
String olmSdkVersion = mOlmManager.getDetailedVersion(getInstrumentation().getContext());
|
String olmSdkVersion = mOlmManager.getDetailedVersion(ApplicationProvider.getApplicationContext());
|
||||||
assertNotNull(olmLibVersion);
|
assertNotNull(olmLibVersion);
|
||||||
Log.d(LOG_TAG, "## setUpClass(): Versions - Android Olm SDK = "+olmSdkVersion+" Olm lib ="+olmLibVersion);
|
Log.d(LOG_TAG, "## setUpClass(): Versions - Android Olm SDK = " + olmSdkVersion + " Olm lib =" + olmLibVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
@AfterClass
|
@AfterClass
|
||||||
|
@ -77,7 +79,7 @@ public class OlmAccountTest {
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
if(mIsAccountCreated) {
|
if (mIsAccountCreated) {
|
||||||
assertNotNull(mOlmAccount);
|
assertNotNull(mOlmAccount);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -96,12 +98,12 @@ public class OlmAccountTest {
|
||||||
mOlmAccount = new OlmAccount();
|
mOlmAccount = new OlmAccount();
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
assertTrue("OlmAccount failed " + e.getMessage(), false);
|
fail("OlmAccount failed " + e.getMessage());
|
||||||
}
|
}
|
||||||
assertNotNull(mOlmAccount);
|
assertNotNull(mOlmAccount);
|
||||||
|
|
||||||
mOlmAccount.releaseAccount();
|
mOlmAccount.releaseAccount();
|
||||||
assertTrue(0 == mOlmAccount.getOlmAccountId());
|
assertEquals(0, mOlmAccount.getOlmAccountId());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -110,7 +112,7 @@ public class OlmAccountTest {
|
||||||
mOlmAccount = new OlmAccount();
|
mOlmAccount = new OlmAccount();
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
assertTrue("OlmAccount failed " + e.getMessage(), false);
|
fail("OlmAccount failed " + e.getMessage());
|
||||||
}
|
}
|
||||||
assertNotNull(mOlmAccount);
|
assertNotNull(mOlmAccount);
|
||||||
mIsAccountCreated = true;
|
mIsAccountCreated = true;
|
||||||
|
@ -119,8 +121,8 @@ public class OlmAccountTest {
|
||||||
@Test
|
@Test
|
||||||
public void test04GetOlmAccountId() {
|
public void test04GetOlmAccountId() {
|
||||||
long olmNativeInstance = mOlmAccount.getOlmAccountId();
|
long olmNativeInstance = mOlmAccount.getOlmAccountId();
|
||||||
Log.d(LOG_TAG,"## testGetOlmAccountId olmNativeInstance="+olmNativeInstance);
|
Log.d(LOG_TAG, "## testGetOlmAccountId olmNativeInstance=" + olmNativeInstance);
|
||||||
assertTrue(0!=olmNativeInstance);
|
assertTrue(0 != olmNativeInstance);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -134,18 +136,18 @@ public class OlmAccountTest {
|
||||||
try {
|
try {
|
||||||
identityKeys = mOlmAccount.identityKeys();
|
identityKeys = mOlmAccount.identityKeys();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue("identityKeys failed " + e.getMessage(), false);
|
fail("identityKeys failed " + e.getMessage());
|
||||||
}
|
}
|
||||||
assertNotNull(identityKeys);
|
assertNotNull(identityKeys);
|
||||||
Log.d(LOG_TAG,"## testIdentityKeys Keys="+identityKeys);
|
Log.d(LOG_TAG, "## testIdentityKeys Keys=" + identityKeys);
|
||||||
|
|
||||||
// is JSON_KEY_FINGER_PRINT_KEY present?
|
// is JSON_KEY_FINGER_PRINT_KEY present?
|
||||||
String fingerPrintKey = TestHelper.getFingerprintKey(identityKeys);
|
String fingerPrintKey = TestHelper.getFingerprintKey(identityKeys);
|
||||||
assertTrue("fingerprint key missing",!TextUtils.isEmpty(fingerPrintKey));
|
assertFalse("fingerprint key missing", TextUtils.isEmpty(fingerPrintKey));
|
||||||
|
|
||||||
// is JSON_KEY_IDENTITY_KEY present?
|
// is JSON_KEY_IDENTITY_KEY present?
|
||||||
String identityKey = TestHelper.getIdentityKey(identityKeys);
|
String identityKey = TestHelper.getIdentityKey(identityKeys);
|
||||||
assertTrue("identity key missing",!TextUtils.isEmpty(identityKey));
|
assertFalse("identity key missing", TextUtils.isEmpty(identityKey));
|
||||||
}
|
}
|
||||||
|
|
||||||
//****************************************************
|
//****************************************************
|
||||||
|
@ -154,9 +156,9 @@ public class OlmAccountTest {
|
||||||
@Test
|
@Test
|
||||||
public void test06MaxOneTimeKeys() {
|
public void test06MaxOneTimeKeys() {
|
||||||
long maxOneTimeKeys = mOlmAccount.maxOneTimeKeys();
|
long maxOneTimeKeys = mOlmAccount.maxOneTimeKeys();
|
||||||
Log.d(LOG_TAG,"## testMaxOneTimeKeys(): maxOneTimeKeys="+maxOneTimeKeys);
|
Log.d(LOG_TAG, "## testMaxOneTimeKeys(): maxOneTimeKeys=" + maxOneTimeKeys);
|
||||||
|
|
||||||
assertTrue(maxOneTimeKeys>0);
|
assertTrue(maxOneTimeKeys > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -172,7 +174,7 @@ public class OlmAccountTest {
|
||||||
error = e.getMessage();
|
error = e.getMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
assertTrue(null == error);
|
assertNull(error);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -186,21 +188,21 @@ public class OlmAccountTest {
|
||||||
try {
|
try {
|
||||||
oneTimeKeysJson = mOlmAccount.oneTimeKeys();
|
oneTimeKeysJson = mOlmAccount.oneTimeKeys();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
assertNotNull(oneTimeKeysJson);
|
assertNotNull(oneTimeKeysJson);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Map<String, String> map = oneTimeKeysJson.get(OlmAccount.JSON_KEY_ONE_TIME_KEY);
|
Map<String, String> map = oneTimeKeysJson.get(OlmAccount.JSON_KEY_ONE_TIME_KEY);
|
||||||
assertTrue(OlmAccount.JSON_KEY_ONE_TIME_KEY +" object is missing", null!=map);
|
assertNotNull(OlmAccount.JSON_KEY_ONE_TIME_KEY + " object is missing", map);
|
||||||
|
|
||||||
// test the count of the generated one time keys:
|
// test the count of the generated one time keys:
|
||||||
oneTimeKeysCount = map.size();
|
oneTimeKeysCount = map.size();
|
||||||
|
|
||||||
assertTrue("Expected count="+GENERATION_ONE_TIME_KEYS_NUMBER+" found="+oneTimeKeysCount,GENERATION_ONE_TIME_KEYS_NUMBER==oneTimeKeysCount);
|
assertEquals("Expected count=" + GENERATION_ONE_TIME_KEYS_NUMBER + " found=" + oneTimeKeysCount, GENERATION_ONE_TIME_KEYS_NUMBER, oneTimeKeysCount);
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue("Exception MSg="+e.getMessage(), false);
|
fail("Exception MSg=" + e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -210,7 +212,7 @@ public class OlmAccountTest {
|
||||||
try {
|
try {
|
||||||
olmSession = new OlmSession();
|
olmSession = new OlmSession();
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
assertTrue("Exception Msg="+e.getMessage(), false);
|
fail("Exception Msg=" + e.getMessage());
|
||||||
}
|
}
|
||||||
long sessionId = olmSession.getOlmSessionId();
|
long sessionId = olmSession.getOlmSessionId();
|
||||||
assertTrue(0 != sessionId);
|
assertTrue(0 != sessionId);
|
||||||
|
@ -222,11 +224,11 @@ public class OlmAccountTest {
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
errorMessage = e.getMessage();
|
errorMessage = e.getMessage();
|
||||||
}
|
}
|
||||||
assertTrue(null != errorMessage);
|
assertNotNull(errorMessage);
|
||||||
|
|
||||||
olmSession.releaseSession();
|
olmSession.releaseSession();
|
||||||
sessionId = olmSession.getOlmSessionId();
|
sessionId = olmSession.getOlmSessionId();
|
||||||
assertTrue(0 == sessionId);
|
assertEquals(0, sessionId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -234,19 +236,19 @@ public class OlmAccountTest {
|
||||||
try {
|
try {
|
||||||
mOlmAccount.markOneTimeKeysAsPublished();
|
mOlmAccount.markOneTimeKeysAsPublished();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void test12SignMessage() {
|
public void test12SignMessage() {
|
||||||
String clearMsg = "String to be signed by olm";
|
String clearMsg = "String to be signed by olm";
|
||||||
String signedMsg = null;
|
String signedMsg = null;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
signedMsg = mOlmAccount.signMessage(clearMsg);
|
signedMsg = mOlmAccount.signMessage(clearMsg);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
assertNotNull(signedMsg);
|
assertNotNull(signedMsg);
|
||||||
|
@ -263,18 +265,18 @@ public class OlmAccountTest {
|
||||||
FileOutputStream fileOutput;
|
FileOutputStream fileOutput;
|
||||||
ObjectOutputStream objectOutput;
|
ObjectOutputStream objectOutput;
|
||||||
OlmAccount accountRef = null;
|
OlmAccount accountRef = null;
|
||||||
OlmAccount accountDeserial = null;
|
OlmAccount accountDeserial;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
accountRef = new OlmAccount();
|
accountRef = new OlmAccount();
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
assertTrue(e.getMessage(),false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
accountRef.generateOneTimeKeys(GENERATION_ONE_TIME_KEYS_NUMBER);
|
accountRef.generateOneTimeKeys(GENERATION_ONE_TIME_KEYS_NUMBER);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(),false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
// get keys references
|
// get keys references
|
||||||
|
@ -283,7 +285,7 @@ public class OlmAccountTest {
|
||||||
try {
|
try {
|
||||||
identityKeysRef = accountRef.identityKeys();
|
identityKeysRef = accountRef.identityKeys();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue("identityKeys failed " + e.getMessage(), false);
|
fail("identityKeys failed " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
Map<String, Map<String, String>> oneTimeKeysRef = null;
|
Map<String, Map<String, String>> oneTimeKeysRef = null;
|
||||||
|
@ -291,14 +293,14 @@ public class OlmAccountTest {
|
||||||
try {
|
try {
|
||||||
oneTimeKeysRef = accountRef.oneTimeKeys();
|
oneTimeKeysRef = accountRef.oneTimeKeys();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
assertNotNull(identityKeysRef);
|
assertNotNull(identityKeysRef);
|
||||||
assertNotNull(oneTimeKeysRef);
|
assertNotNull(oneTimeKeysRef);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Context context = getInstrumentation().getContext();
|
Context context = ApplicationProvider.getApplicationContext();
|
||||||
//context.getFilesDir();
|
//context.getFilesDir();
|
||||||
fileOutput = context.openFileOutput(FILE_NAME, Context.MODE_PRIVATE);
|
fileOutput = context.openFileOutput(FILE_NAME, Context.MODE_PRIVATE);
|
||||||
|
|
||||||
|
@ -316,38 +318,34 @@ public class OlmAccountTest {
|
||||||
assertNotNull(accountDeserial);
|
assertNotNull(accountDeserial);
|
||||||
|
|
||||||
// get de-serialized keys
|
// get de-serialized keys
|
||||||
Map<String, String> identityKeysDeserial = accountDeserial.identityKeys();
|
Map<String, String> identityKeysDeserial = accountDeserial.identityKeys();
|
||||||
Map<String, Map<String, String>> oneTimeKeysDeserial = accountDeserial.oneTimeKeys();
|
Map<String, Map<String, String>> oneTimeKeysDeserial = accountDeserial.oneTimeKeys();
|
||||||
assertNotNull(identityKeysDeserial);
|
assertNotNull(identityKeysDeserial);
|
||||||
assertNotNull(oneTimeKeysDeserial);
|
assertNotNull(oneTimeKeysDeserial);
|
||||||
|
|
||||||
// compare identity keys
|
// compare identity keys
|
||||||
assertTrue(identityKeysDeserial.toString().equals(identityKeysRef.toString()));
|
assertEquals(identityKeysDeserial.toString(), identityKeysRef.toString());
|
||||||
|
|
||||||
// compare onetime keys
|
// compare onetime keys
|
||||||
assertTrue(oneTimeKeysDeserial.toString().equals(oneTimeKeysRef.toString()));
|
assertEquals(oneTimeKeysDeserial.toString(), oneTimeKeysRef.toString());
|
||||||
|
|
||||||
accountRef.releaseAccount();
|
accountRef.releaseAccount();
|
||||||
accountDeserial.releaseAccount();
|
accountDeserial.releaseAccount();
|
||||||
}
|
} catch (FileNotFoundException e) {
|
||||||
catch (FileNotFoundException e) {
|
Log.e(LOG_TAG, "## test13Serialization(): Exception FileNotFoundException Msg==" + e.getMessage());
|
||||||
Log.e(LOG_TAG, "## test13Serialization(): Exception FileNotFoundException Msg=="+e.getMessage());
|
fail("test13Serialization failed " + e.getMessage());
|
||||||
assertTrue("test13Serialization failed " + e.getMessage(), false);
|
} catch (ClassNotFoundException e) {
|
||||||
}
|
|
||||||
catch (ClassNotFoundException e) {
|
|
||||||
Log.e(LOG_TAG, "## test13Serialization(): Exception ClassNotFoundException Msg==" + e.getMessage());
|
Log.e(LOG_TAG, "## test13Serialization(): Exception ClassNotFoundException Msg==" + e.getMessage());
|
||||||
assertTrue("test13Serialization failed " + e.getMessage(), false);
|
fail("test13Serialization failed " + e.getMessage());
|
||||||
}
|
} catch (IOException e) {
|
||||||
catch (IOException e) {
|
|
||||||
Log.e(LOG_TAG, "## test13Serialization(): Exception IOException Msg==" + e.getMessage());
|
Log.e(LOG_TAG, "## test13Serialization(): Exception IOException Msg==" + e.getMessage());
|
||||||
assertTrue("test13Serialization failed " + e.getMessage(), false);
|
fail("test13Serialization failed " + e.getMessage());
|
||||||
}
|
}
|
||||||
/*catch (OlmException e) {
|
/*catch (OlmException e) {
|
||||||
Log.e(LOG_TAG, "## test13Serialization(): Exception OlmException Msg==" + e.getMessage());
|
Log.e(LOG_TAG, "## test13Serialization(): Exception OlmException Msg==" + e.getMessage());
|
||||||
}*/
|
}*/ catch (Exception e) {
|
||||||
catch (Exception e) {
|
|
||||||
Log.e(LOG_TAG, "## test13Serialization(): Exception Msg==" + e.getMessage());
|
Log.e(LOG_TAG, "## test13Serialization(): Exception Msg==" + e.getMessage());
|
||||||
assertTrue("test13Serialization failed " + e.getMessage(), false);
|
fail("test13Serialization failed " + e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -367,7 +365,7 @@ public class OlmAccountTest {
|
||||||
errorMessage = e.getMessage();
|
errorMessage = e.getMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
assertTrue(null == errorMessage);
|
assertNull(errorMessage);
|
||||||
|
|
||||||
// keys number = negative value
|
// keys number = negative value
|
||||||
errorMessage = null;
|
errorMessage = null;
|
||||||
|
@ -377,7 +375,7 @@ public class OlmAccountTest {
|
||||||
errorMessage = e.getMessage();
|
errorMessage = e.getMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
assertTrue(null != errorMessage);
|
assertNotNull(errorMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -386,13 +384,13 @@ public class OlmAccountTest {
|
||||||
try {
|
try {
|
||||||
olmAccount = new OlmAccount();
|
olmAccount = new OlmAccount();
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
assertTrue(e.getMessage(),false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
olmAccount.removeOneTimeKeys(null);
|
olmAccount.removeOneTimeKeys(null);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
olmAccount.releaseAccount();
|
olmAccount.releaseAccount();
|
||||||
|
@ -404,7 +402,7 @@ public class OlmAccountTest {
|
||||||
try {
|
try {
|
||||||
olmAccount = new OlmAccount();
|
olmAccount = new OlmAccount();
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
assertTrue(e.getMessage(),false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
String signedMsg = null;
|
String signedMsg = null;
|
||||||
|
|
||||||
|
@ -449,31 +447,31 @@ public class OlmAccountTest {
|
||||||
|
|
||||||
String identityKey1 = TestHelper.getIdentityKey(identityKeys1);
|
String identityKey1 = TestHelper.getIdentityKey(identityKeys1);
|
||||||
String identityKey2 = TestHelper.getIdentityKey(identityKeys2);
|
String identityKey2 = TestHelper.getIdentityKey(identityKeys2);
|
||||||
assertFalse(identityKey1.equals(identityKey2));
|
assertNotEquals(identityKey1, identityKey2);
|
||||||
|
|
||||||
String identityKey3 = TestHelper.getIdentityKey(identityKeys3);
|
String identityKey3 = TestHelper.getIdentityKey(identityKeys3);
|
||||||
assertFalse(identityKey2.equals(identityKey3));
|
assertNotEquals(identityKey2, identityKey3);
|
||||||
|
|
||||||
String identityKey4 = TestHelper.getIdentityKey(identityKeys4);
|
String identityKey4 = TestHelper.getIdentityKey(identityKeys4);
|
||||||
assertFalse(identityKey3.equals(identityKey4));
|
assertNotEquals(identityKey3, identityKey4);
|
||||||
|
|
||||||
String identityKey5 = TestHelper.getIdentityKey(identityKeys5);
|
String identityKey5 = TestHelper.getIdentityKey(identityKeys5);
|
||||||
assertFalse(identityKey4.equals(identityKey5));
|
assertNotEquals(identityKey4, identityKey5);
|
||||||
|
|
||||||
String identityKey6 = TestHelper.getIdentityKey(identityKeys6);
|
String identityKey6 = TestHelper.getIdentityKey(identityKeys6);
|
||||||
assertFalse(identityKey5.equals(identityKey6));
|
assertNotEquals(identityKey5, identityKey6);
|
||||||
|
|
||||||
String identityKey7 = TestHelper.getIdentityKey(identityKeys7);
|
String identityKey7 = TestHelper.getIdentityKey(identityKeys7);
|
||||||
assertFalse(identityKey6.equals(identityKey7));
|
assertNotEquals(identityKey6, identityKey7);
|
||||||
|
|
||||||
String identityKey8 = TestHelper.getIdentityKey(identityKeys8);
|
String identityKey8 = TestHelper.getIdentityKey(identityKeys8);
|
||||||
assertFalse(identityKey7.equals(identityKey8));
|
assertNotEquals(identityKey7, identityKey8);
|
||||||
|
|
||||||
String identityKey9 = TestHelper.getIdentityKey(identityKeys9);
|
String identityKey9 = TestHelper.getIdentityKey(identityKeys9);
|
||||||
assertFalse(identityKey8.equals(identityKey9));
|
assertNotEquals(identityKey8, identityKey9);
|
||||||
|
|
||||||
String identityKey10 = TestHelper.getIdentityKey(identityKeys10);
|
String identityKey10 = TestHelper.getIdentityKey(identityKeys10);
|
||||||
assertFalse(identityKey9.equals(identityKey10));
|
assertNotEquals(identityKey9, identityKey10);
|
||||||
|
|
||||||
account1.releaseAccount();
|
account1.releaseAccount();
|
||||||
account2.releaseAccount();
|
account2.releaseAccount();
|
||||||
|
@ -487,7 +485,7 @@ public class OlmAccountTest {
|
||||||
account10.releaseAccount();
|
account10.releaseAccount();
|
||||||
|
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
assertTrue(e.getMessage(),false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,10 +18,12 @@
|
||||||
package org.matrix.olm;
|
package org.matrix.olm;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.support.test.runner.AndroidJUnit4;
|
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
|
import androidx.test.core.app.ApplicationProvider;
|
||||||
|
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||||
|
|
||||||
import org.junit.BeforeClass;
|
import org.junit.BeforeClass;
|
||||||
import org.junit.FixMethodOrder;
|
import org.junit.FixMethodOrder;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
@ -36,10 +38,12 @@ import java.io.IOException;
|
||||||
import java.io.ObjectInputStream;
|
import java.io.ObjectInputStream;
|
||||||
import java.io.ObjectOutputStream;
|
import java.io.ObjectOutputStream;
|
||||||
|
|
||||||
import static android.support.test.InstrumentationRegistry.getInstrumentation;
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.junit.Assert.assertFalse;
|
import static org.junit.Assert.assertFalse;
|
||||||
|
import static org.junit.Assert.assertNotEquals;
|
||||||
import static org.junit.Assert.assertNotNull;
|
import static org.junit.Assert.assertNotNull;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
|
import static org.junit.Assert.fail;
|
||||||
|
|
||||||
@RunWith(AndroidJUnit4.class)
|
@RunWith(AndroidJUnit4.class)
|
||||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||||
|
@ -83,7 +87,7 @@ public class OlmGroupSessionTest {
|
||||||
try {
|
try {
|
||||||
mAliceOutboundGroupSession = new OlmOutboundGroupSession();
|
mAliceOutboundGroupSession = new OlmOutboundGroupSession();
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
assertTrue("Exception in OlmOutboundGroupSession, Exception code=" + e.getExceptionCode(), false);
|
fail("Exception in OlmOutboundGroupSession, Exception code=" + e.getExceptionCode());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -95,7 +99,7 @@ public class OlmGroupSessionTest {
|
||||||
try {
|
try {
|
||||||
mAliceSessionIdentifier = mAliceOutboundGroupSession.sessionIdentifier();
|
mAliceSessionIdentifier = mAliceOutboundGroupSession.sessionIdentifier();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
assertNotNull(mAliceSessionIdentifier);
|
assertNotNull(mAliceSessionIdentifier);
|
||||||
|
@ -110,7 +114,7 @@ public class OlmGroupSessionTest {
|
||||||
try {
|
try {
|
||||||
mAliceOutboundSessionKey = mAliceOutboundGroupSession.sessionKey();
|
mAliceOutboundSessionKey = mAliceOutboundGroupSession.sessionKey();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
assertNotNull(mAliceOutboundSessionKey);
|
assertNotNull(mAliceOutboundSessionKey);
|
||||||
assertTrue(mAliceOutboundSessionKey.length() > 0);
|
assertTrue(mAliceOutboundSessionKey.length() > 0);
|
||||||
|
@ -120,7 +124,7 @@ public class OlmGroupSessionTest {
|
||||||
public void test04GetOutboundGroupMessageIndex() {
|
public void test04GetOutboundGroupMessageIndex() {
|
||||||
// test message index before any encryption
|
// test message index before any encryption
|
||||||
mAliceMessageIndex = mAliceOutboundGroupSession.messageIndex();
|
mAliceMessageIndex = mAliceOutboundGroupSession.messageIndex();
|
||||||
assertTrue(0 == mAliceMessageIndex);
|
assertEquals(0, mAliceMessageIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -129,13 +133,13 @@ public class OlmGroupSessionTest {
|
||||||
try {
|
try {
|
||||||
mAliceToBobMessage = mAliceOutboundGroupSession.encryptMessage(CLEAR_MESSAGE1);
|
mAliceToBobMessage = mAliceOutboundGroupSession.encryptMessage(CLEAR_MESSAGE1);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue("Exception in bob encryptMessage, Exception code=" + e.getMessage(), false);
|
fail("Exception in bob encryptMessage, Exception code=" + e.getMessage());
|
||||||
}
|
}
|
||||||
assertFalse(TextUtils.isEmpty(mAliceToBobMessage));
|
assertFalse(TextUtils.isEmpty(mAliceToBobMessage));
|
||||||
|
|
||||||
// test message index after encryption is incremented
|
// test message index after encryption is incremented
|
||||||
mAliceMessageIndex = mAliceOutboundGroupSession.messageIndex();
|
mAliceMessageIndex = mAliceOutboundGroupSession.messageIndex();
|
||||||
assertTrue(1 == mAliceMessageIndex);
|
assertEquals(1, mAliceMessageIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -144,7 +148,7 @@ public class OlmGroupSessionTest {
|
||||||
try {
|
try {
|
||||||
mBobInboundGroupSession = new OlmInboundGroupSession(mAliceOutboundSessionKey);
|
mBobInboundGroupSession = new OlmInboundGroupSession(mAliceOutboundSessionKey);
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
assertTrue("Exception in bob OlmInboundGroupSession, Exception code=" + e.getExceptionCode(), false);
|
fail("Exception in bob OlmInboundGroupSession, Exception code=" + e.getExceptionCode());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -156,7 +160,7 @@ public class OlmGroupSessionTest {
|
||||||
try {
|
try {
|
||||||
mBobSessionIdentifier = mBobInboundGroupSession.sessionIdentifier();
|
mBobSessionIdentifier = mBobInboundGroupSession.sessionIdentifier();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
assertFalse(TextUtils.isEmpty(mBobSessionIdentifier));
|
assertFalse(TextUtils.isEmpty(mBobSessionIdentifier));
|
||||||
}
|
}
|
||||||
|
@ -164,7 +168,7 @@ public class OlmGroupSessionTest {
|
||||||
@Test
|
@Test
|
||||||
public void test09SessionIdentifiersAreIdentical() {
|
public void test09SessionIdentifiersAreIdentical() {
|
||||||
// check both session identifiers are equals: alice vs bob
|
// check both session identifiers are equals: alice vs bob
|
||||||
assertTrue(mAliceSessionIdentifier.equals(mBobSessionIdentifier));
|
assertEquals(mAliceSessionIdentifier, mBobSessionIdentifier);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -175,19 +179,19 @@ public class OlmGroupSessionTest {
|
||||||
try {
|
try {
|
||||||
result = mBobInboundGroupSession.decryptMessage(mAliceToBobMessage);
|
result = mBobInboundGroupSession.decryptMessage(mAliceToBobMessage);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
// test decrypted message
|
// test decrypted message
|
||||||
mBobDecryptedMessage = result.mDecryptedMessage;
|
mBobDecryptedMessage = result.mDecryptedMessage;
|
||||||
assertFalse(TextUtils.isEmpty(mBobDecryptedMessage));
|
assertFalse(TextUtils.isEmpty(mBobDecryptedMessage));
|
||||||
assertTrue(0 == result.mIndex);
|
assertEquals(0, result.mIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void test11InboundDecryptedMessageIdentical() {
|
public void test11InboundDecryptedMessageIdentical() {
|
||||||
// test decrypted message
|
// test decrypted message
|
||||||
assertTrue(mBobDecryptedMessage.equals(CLEAR_MESSAGE1));
|
assertEquals(mBobDecryptedMessage, CLEAR_MESSAGE1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -217,13 +221,13 @@ public class OlmGroupSessionTest {
|
||||||
try {
|
try {
|
||||||
outboundGroupSessionRef = new OlmOutboundGroupSession();
|
outboundGroupSessionRef = new OlmOutboundGroupSession();
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
assertTrue("Exception in OlmOutboundGroupSession, Exception code=" + e.getExceptionCode(), false);
|
fail("Exception in OlmOutboundGroupSession, Exception code=" + e.getExceptionCode());
|
||||||
}
|
}
|
||||||
assertNotNull(outboundGroupSessionRef);
|
assertNotNull(outboundGroupSessionRef);
|
||||||
|
|
||||||
|
|
||||||
// serialize alice session
|
// serialize alice session
|
||||||
Context context = getInstrumentation().getContext();
|
Context context = ApplicationProvider.getApplicationContext();
|
||||||
try {
|
try {
|
||||||
FileOutputStream fileOutput = context.openFileOutput(FILE_NAME_SERIAL_OUT_SESSION, Context.MODE_PRIVATE);
|
FileOutputStream fileOutput = context.openFileOutput(FILE_NAME_SERIAL_OUT_SESSION, Context.MODE_PRIVATE);
|
||||||
ObjectOutputStream objectOutput = new ObjectOutputStream(fileOutput);
|
ObjectOutputStream objectOutput = new ObjectOutputStream(fileOutput);
|
||||||
|
@ -245,7 +249,7 @@ public class OlmGroupSessionTest {
|
||||||
assertFalse(TextUtils.isEmpty(sessionKeySerial));
|
assertFalse(TextUtils.isEmpty(sessionKeySerial));
|
||||||
|
|
||||||
// session keys comparison
|
// session keys comparison
|
||||||
assertTrue(sessionKeyRef.equals(sessionKeySerial));
|
assertEquals(sessionKeyRef, sessionKeySerial);
|
||||||
|
|
||||||
// get sessions IDs
|
// get sessions IDs
|
||||||
String sessionIdRef = outboundGroupSessionRef.sessionIdentifier();
|
String sessionIdRef = outboundGroupSessionRef.sessionIdentifier();
|
||||||
|
@ -254,7 +258,7 @@ public class OlmGroupSessionTest {
|
||||||
assertFalse(TextUtils.isEmpty(sessionIdSerial));
|
assertFalse(TextUtils.isEmpty(sessionIdSerial));
|
||||||
|
|
||||||
// session IDs comparison
|
// session IDs comparison
|
||||||
assertTrue(sessionIdRef.equals(sessionIdSerial));
|
assertEquals(sessionIdRef, sessionIdSerial);
|
||||||
|
|
||||||
outboundGroupSessionRef.releaseSession();
|
outboundGroupSessionRef.releaseSession();
|
||||||
outboundGroupSessionSerial.releaseSession();
|
outboundGroupSessionSerial.releaseSession();
|
||||||
|
@ -263,19 +267,19 @@ public class OlmGroupSessionTest {
|
||||||
assertTrue(outboundGroupSessionSerial.isReleased());
|
assertTrue(outboundGroupSessionSerial.isReleased());
|
||||||
} catch (FileNotFoundException e) {
|
} catch (FileNotFoundException e) {
|
||||||
Log.e(LOG_TAG, "## test15SerializeOutboundSession(): Exception FileNotFoundException Msg=="+e.getMessage());
|
Log.e(LOG_TAG, "## test15SerializeOutboundSession(): Exception FileNotFoundException Msg=="+e.getMessage());
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
} catch (ClassNotFoundException e) {
|
} catch (ClassNotFoundException e) {
|
||||||
Log.e(LOG_TAG, "## test15SerializeOutboundSession(): Exception ClassNotFoundException Msg==" + e.getMessage());
|
Log.e(LOG_TAG, "## test15SerializeOutboundSession(): Exception ClassNotFoundException Msg==" + e.getMessage());
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
Log.e(LOG_TAG, "## test15SerializeOutboundSession(): Exception OlmException Msg==" + e.getMessage());
|
Log.e(LOG_TAG, "## test15SerializeOutboundSession(): Exception OlmException Msg==" + e.getMessage());
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
Log.e(LOG_TAG, "## test15SerializeOutboundSession(): Exception IOException Msg==" + e.getMessage());
|
Log.e(LOG_TAG, "## test15SerializeOutboundSession(): Exception IOException Msg==" + e.getMessage());
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
Log.e(LOG_TAG, "## test15SerializeOutboundSession(): Exception Msg==" + e.getMessage());
|
Log.e(LOG_TAG, "## test15SerializeOutboundSession(): Exception Msg==" + e.getMessage());
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -289,7 +293,7 @@ public class OlmGroupSessionTest {
|
||||||
try {
|
try {
|
||||||
aliceOutboundGroupSession = new OlmOutboundGroupSession();
|
aliceOutboundGroupSession = new OlmOutboundGroupSession();
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
assertTrue("Exception in OlmOutboundGroupSession, Exception code=" + e.getExceptionCode(), false);
|
fail("Exception in OlmOutboundGroupSession, Exception code=" + e.getExceptionCode());
|
||||||
}
|
}
|
||||||
assertNotNull(aliceOutboundGroupSession);
|
assertNotNull(aliceOutboundGroupSession);
|
||||||
|
|
||||||
|
@ -299,7 +303,7 @@ public class OlmGroupSessionTest {
|
||||||
try {
|
try {
|
||||||
sessionKeyRef = aliceOutboundGroupSession.sessionKey();
|
sessionKeyRef = aliceOutboundGroupSession.sessionKey();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
assertNotNull(sessionKeyRef);
|
assertNotNull(sessionKeyRef);
|
||||||
|
|
||||||
|
@ -307,12 +311,12 @@ public class OlmGroupSessionTest {
|
||||||
try {
|
try {
|
||||||
bobInboundGroupSessionRef = new OlmInboundGroupSession(sessionKeyRef);
|
bobInboundGroupSessionRef = new OlmInboundGroupSession(sessionKeyRef);
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
assertTrue("Exception in OlmInboundGroupSession, Exception code=" + e.getExceptionCode(), false);
|
fail("Exception in OlmInboundGroupSession, Exception code=" + e.getExceptionCode());
|
||||||
}
|
}
|
||||||
assertNotNull(bobInboundGroupSessionRef);
|
assertNotNull(bobInboundGroupSessionRef);
|
||||||
|
|
||||||
// serialize alice session
|
// serialize alice session
|
||||||
Context context = getInstrumentation().getContext();
|
Context context = ApplicationProvider.getApplicationContext();
|
||||||
try {
|
try {
|
||||||
FileOutputStream fileOutput = context.openFileOutput(FILE_NAME_SERIAL_IN_SESSION, Context.MODE_PRIVATE);
|
FileOutputStream fileOutput = context.openFileOutput(FILE_NAME_SERIAL_IN_SESSION, Context.MODE_PRIVATE);
|
||||||
ObjectOutputStream objectOutput = new ObjectOutputStream(fileOutput);
|
ObjectOutputStream objectOutput = new ObjectOutputStream(fileOutput);
|
||||||
|
@ -336,8 +340,8 @@ public class OlmGroupSessionTest {
|
||||||
assertFalse(TextUtils.isEmpty(sessionIdSerial));
|
assertFalse(TextUtils.isEmpty(sessionIdSerial));
|
||||||
|
|
||||||
// session IDs comparison
|
// session IDs comparison
|
||||||
assertTrue(aliceSessionId.equals(sessionIdSerial));
|
assertEquals(aliceSessionId, sessionIdSerial);
|
||||||
assertTrue(sessionIdRef.equals(sessionIdSerial));
|
assertEquals(sessionIdRef, sessionIdSerial);
|
||||||
|
|
||||||
aliceOutboundGroupSession.releaseSession();
|
aliceOutboundGroupSession.releaseSession();
|
||||||
bobInboundGroupSessionRef.releaseSession();
|
bobInboundGroupSessionRef.releaseSession();
|
||||||
|
@ -348,19 +352,19 @@ public class OlmGroupSessionTest {
|
||||||
assertTrue(bobInboundGroupSessionSerial.isReleased());
|
assertTrue(bobInboundGroupSessionSerial.isReleased());
|
||||||
} catch (FileNotFoundException e) {
|
} catch (FileNotFoundException e) {
|
||||||
Log.e(LOG_TAG, "## test16SerializeInboundSession(): Exception FileNotFoundException Msg=="+e.getMessage());
|
Log.e(LOG_TAG, "## test16SerializeInboundSession(): Exception FileNotFoundException Msg=="+e.getMessage());
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
} catch (ClassNotFoundException e) {
|
} catch (ClassNotFoundException e) {
|
||||||
Log.e(LOG_TAG, "## test16SerializeInboundSession(): Exception ClassNotFoundException Msg==" + e.getMessage());
|
Log.e(LOG_TAG, "## test16SerializeInboundSession(): Exception ClassNotFoundException Msg==" + e.getMessage());
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
Log.e(LOG_TAG, "## test16SerializeInboundSession(): Exception OlmException Msg==" + e.getMessage());
|
Log.e(LOG_TAG, "## test16SerializeInboundSession(): Exception OlmException Msg==" + e.getMessage());
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
Log.e(LOG_TAG, "## test16SerializeInboundSession(): Exception IOException Msg==" + e.getMessage());
|
Log.e(LOG_TAG, "## test16SerializeInboundSession(): Exception IOException Msg==" + e.getMessage());
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
Log.e(LOG_TAG, "## test16SerializeInboundSession(): Exception Msg==" + e.getMessage());
|
Log.e(LOG_TAG, "## test16SerializeInboundSession(): Exception Msg==" + e.getMessage());
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -392,48 +396,48 @@ public class OlmGroupSessionTest {
|
||||||
// get the session key from the outbound group sessions
|
// get the session key from the outbound group sessions
|
||||||
String sessionKey1 = outboundGroupSession1.sessionKey();
|
String sessionKey1 = outboundGroupSession1.sessionKey();
|
||||||
String sessionKey2 = outboundGroupSession2.sessionKey();
|
String sessionKey2 = outboundGroupSession2.sessionKey();
|
||||||
assertFalse(sessionKey1.equals(sessionKey2));
|
assertNotEquals(sessionKey1, sessionKey2);
|
||||||
|
|
||||||
String sessionKey3 = outboundGroupSession3.sessionKey();
|
String sessionKey3 = outboundGroupSession3.sessionKey();
|
||||||
assertFalse(sessionKey2.equals(sessionKey3));
|
assertNotEquals(sessionKey2, sessionKey3);
|
||||||
|
|
||||||
String sessionKey4 = outboundGroupSession4.sessionKey();
|
String sessionKey4 = outboundGroupSession4.sessionKey();
|
||||||
assertFalse(sessionKey3.equals(sessionKey4));
|
assertNotEquals(sessionKey3, sessionKey4);
|
||||||
|
|
||||||
String sessionKey5 = outboundGroupSession5.sessionKey();
|
String sessionKey5 = outboundGroupSession5.sessionKey();
|
||||||
assertFalse(sessionKey4.equals(sessionKey5));
|
assertNotEquals(sessionKey4, sessionKey5);
|
||||||
|
|
||||||
String sessionKey6 = outboundGroupSession6.sessionKey();
|
String sessionKey6 = outboundGroupSession6.sessionKey();
|
||||||
assertFalse(sessionKey5.equals(sessionKey6));
|
assertNotEquals(sessionKey5, sessionKey6);
|
||||||
|
|
||||||
String sessionKey7 = outboundGroupSession7.sessionKey();
|
String sessionKey7 = outboundGroupSession7.sessionKey();
|
||||||
assertFalse(sessionKey6.equals(sessionKey7));
|
assertNotEquals(sessionKey6, sessionKey7);
|
||||||
|
|
||||||
String sessionKey8 = outboundGroupSession8.sessionKey();
|
String sessionKey8 = outboundGroupSession8.sessionKey();
|
||||||
assertFalse(sessionKey7.equals(sessionKey8));
|
assertNotEquals(sessionKey7, sessionKey8);
|
||||||
|
|
||||||
// get the session IDs from the outbound group sessions
|
// get the session IDs from the outbound group sessions
|
||||||
String sessionId1 = outboundGroupSession1.sessionIdentifier();
|
String sessionId1 = outboundGroupSession1.sessionIdentifier();
|
||||||
String sessionId2 = outboundGroupSession2.sessionIdentifier();
|
String sessionId2 = outboundGroupSession2.sessionIdentifier();
|
||||||
assertFalse(sessionId1.equals(sessionId2));
|
assertNotEquals(sessionId1, sessionId2);
|
||||||
|
|
||||||
String sessionId3 = outboundGroupSession3.sessionKey();
|
String sessionId3 = outboundGroupSession3.sessionKey();
|
||||||
assertFalse(sessionId2.equals(sessionId3));
|
assertNotEquals(sessionId2, sessionId3);
|
||||||
|
|
||||||
String sessionId4 = outboundGroupSession4.sessionKey();
|
String sessionId4 = outboundGroupSession4.sessionKey();
|
||||||
assertFalse(sessionId3.equals(sessionId4));
|
assertNotEquals(sessionId3, sessionId4);
|
||||||
|
|
||||||
String sessionId5 = outboundGroupSession5.sessionKey();
|
String sessionId5 = outboundGroupSession5.sessionKey();
|
||||||
assertFalse(sessionId4.equals(sessionId5));
|
assertNotEquals(sessionId4, sessionId5);
|
||||||
|
|
||||||
String sessionId6 = outboundGroupSession6.sessionKey();
|
String sessionId6 = outboundGroupSession6.sessionKey();
|
||||||
assertFalse(sessionId5.equals(sessionId6));
|
assertNotEquals(sessionId5, sessionId6);
|
||||||
|
|
||||||
String sessionId7 = outboundGroupSession7.sessionKey();
|
String sessionId7 = outboundGroupSession7.sessionKey();
|
||||||
assertFalse(sessionId6.equals(sessionId7));
|
assertNotEquals(sessionId6, sessionId7);
|
||||||
|
|
||||||
String sessionId8 = outboundGroupSession8.sessionKey();
|
String sessionId8 = outboundGroupSession8.sessionKey();
|
||||||
assertFalse(sessionId7.equals(sessionId8));
|
assertNotEquals(sessionId7, sessionId8);
|
||||||
|
|
||||||
outboundGroupSession1.releaseSession();
|
outboundGroupSession1.releaseSession();
|
||||||
outboundGroupSession2.releaseSession();
|
outboundGroupSession2.releaseSession();
|
||||||
|
@ -453,7 +457,7 @@ public class OlmGroupSessionTest {
|
||||||
assertTrue(outboundGroupSession7.isReleased());
|
assertTrue(outboundGroupSession7.isReleased());
|
||||||
assertTrue(outboundGroupSession8.isReleased());
|
assertTrue(outboundGroupSession8.isReleased());
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
assertTrue("Exception in OlmOutboundGroupSession, Exception code=" + e.getExceptionCode(), false);
|
fail("Exception in OlmOutboundGroupSession, Exception code=" + e.getExceptionCode());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -476,7 +480,7 @@ public class OlmGroupSessionTest {
|
||||||
try {
|
try {
|
||||||
bobInboundGroupSession = new OlmInboundGroupSession(sessionKeyRef);
|
bobInboundGroupSession = new OlmInboundGroupSession(sessionKeyRef);
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
assertTrue("Exception in test18TestBadCharacterCrashInDecrypt, Exception code=" + e.getExceptionCode(), false);
|
fail("Exception in test18TestBadCharacterCrashInDecrypt, Exception code=" + e.getExceptionCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
OlmInboundGroupSession.DecryptMessageResult result = null;
|
OlmInboundGroupSession.DecryptMessageResult result = null;
|
||||||
|
@ -484,11 +488,11 @@ public class OlmGroupSessionTest {
|
||||||
try {
|
try {
|
||||||
result = bobInboundGroupSession.decryptMessage(msgToDecryptWithEmoji);
|
result = bobInboundGroupSession.decryptMessage(msgToDecryptWithEmoji);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue("Exception in test18TestBadCharacterCrashInDecrypt, Exception code=" + e.getMessage(), false);
|
fail("Exception in test18TestBadCharacterCrashInDecrypt, Exception code=" + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
assertNotNull(result.mDecryptedMessage);
|
assertNotNull(result.mDecryptedMessage);
|
||||||
assertTrue(13 == result.mIndex);
|
assertEquals(13, result.mIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -508,7 +512,7 @@ public class OlmGroupSessionTest {
|
||||||
try {
|
try {
|
||||||
bobInboundGroupSession = new OlmInboundGroupSession(sessionKeyRef);
|
bobInboundGroupSession = new OlmInboundGroupSession(sessionKeyRef);
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
assertTrue("Exception in test19TestErrorMessageReturnedInDecrypt, Exception code=" + e.getExceptionCode(), false);
|
fail("Exception in test19TestErrorMessageReturnedInDecrypt, Exception code=" + e.getExceptionCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
String exceptionMessage = null;
|
String exceptionMessage = null;
|
||||||
|
@ -518,8 +522,7 @@ public class OlmGroupSessionTest {
|
||||||
exceptionMessage = e.getMessage();
|
exceptionMessage = e.getMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
assertTrue(0!=EXPECTED_ERROR_MESSAGE.length());
|
assertEquals(EXPECTED_ERROR_MESSAGE, exceptionMessage);
|
||||||
assertTrue(EXPECTED_ERROR_MESSAGE.equals(exceptionMessage));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -544,7 +547,7 @@ public class OlmGroupSessionTest {
|
||||||
try {
|
try {
|
||||||
inboundGroupSession = new OlmInboundGroupSession(sessionKey);
|
inboundGroupSession = new OlmInboundGroupSession(sessionKey);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue("OlmInboundGroupSession failed " + e.getMessage(), false);
|
fail("OlmInboundGroupSession failed " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean isVerified = false;
|
boolean isVerified = false;
|
||||||
|
@ -552,7 +555,7 @@ public class OlmGroupSessionTest {
|
||||||
try {
|
try {
|
||||||
isVerified = inboundGroupSession.isVerified();
|
isVerified = inboundGroupSession.isVerified();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue("isVerified failed " + e.getMessage(), false);
|
fail("isVerified failed " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
assertTrue(isVerified);
|
assertTrue(isVerified);
|
||||||
|
@ -562,26 +565,26 @@ public class OlmGroupSessionTest {
|
||||||
try {
|
try {
|
||||||
result = inboundGroupSession.decryptMessage(message);
|
result = inboundGroupSession.decryptMessage(message);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue("decryptMessage failed " + e.getMessage(), false);
|
fail("decryptMessage failed " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
assertTrue(TextUtils.equals(result.mDecryptedMessage, "Message"));
|
assertTrue(TextUtils.equals(result.mDecryptedMessage, "Message"));
|
||||||
assertTrue(0 == result.mIndex);
|
assertEquals(0, result.mIndex);
|
||||||
|
|
||||||
String export = null;
|
String export = null;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
export = inboundGroupSession.export(0);
|
export = inboundGroupSession.export(0);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue("export failed " + e.getMessage(), false);
|
fail("export failed " + e.getMessage());
|
||||||
}
|
}
|
||||||
assertTrue(!TextUtils.isEmpty(export));
|
assertFalse(TextUtils.isEmpty(export));
|
||||||
|
|
||||||
long index = -1;
|
long index = -1;
|
||||||
try {
|
try {
|
||||||
index = inboundGroupSession.getFirstKnownIndex();
|
index = inboundGroupSession.getFirstKnownIndex();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue("getFirstKnownIndex failed " + e.getMessage(), false);
|
fail("getFirstKnownIndex failed " + e.getMessage());
|
||||||
}
|
}
|
||||||
assertTrue(index >=0);
|
assertTrue(index >=0);
|
||||||
|
|
||||||
|
@ -593,13 +596,13 @@ public class OlmGroupSessionTest {
|
||||||
try {
|
try {
|
||||||
inboundGroupSession2 = inboundGroupSession.importSession(export);
|
inboundGroupSession2 = inboundGroupSession.importSession(export);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue("OlmInboundGroupSession failed " + e.getMessage(), false);
|
fail("OlmInboundGroupSession failed " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
isVerified = inboundGroupSession2.isVerified();
|
isVerified = inboundGroupSession2.isVerified();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue("isVerified failed " + e.getMessage(), false);
|
fail("isVerified failed " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
assertFalse(isVerified);
|
assertFalse(isVerified);
|
||||||
|
@ -608,16 +611,16 @@ public class OlmGroupSessionTest {
|
||||||
try {
|
try {
|
||||||
result = inboundGroupSession2.decryptMessage(message);
|
result = inboundGroupSession2.decryptMessage(message);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue("decryptMessage failed " + e.getMessage(), false);
|
fail("decryptMessage failed " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
assertTrue(TextUtils.equals(result.mDecryptedMessage, "Message"));
|
assertTrue(TextUtils.equals(result.mDecryptedMessage, "Message"));
|
||||||
assertTrue(0 == result.mIndex);
|
assertEquals(0, result.mIndex);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
isVerified = inboundGroupSession2.isVerified();
|
isVerified = inboundGroupSession2.isVerified();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue("isVerified failed " + e.getMessage(), false);
|
fail("isVerified failed " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
assertTrue(isVerified);
|
assertTrue(isVerified);
|
||||||
|
|
|
@ -16,21 +16,22 @@
|
||||||
|
|
||||||
package org.matrix.olm;
|
package org.matrix.olm;
|
||||||
|
|
||||||
import android.support.test.runner.AndroidJUnit4;
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||||
|
|
||||||
import org.junit.BeforeClass;
|
|
||||||
import org.junit.FixMethodOrder;
|
import org.junit.FixMethodOrder;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.junit.runners.MethodSorters;
|
import org.junit.runners.MethodSorters;
|
||||||
|
|
||||||
import static org.junit.Assert.assertFalse;
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertArrayEquals;
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.junit.Assert.assertNotNull;
|
import static org.junit.Assert.assertNotNull;
|
||||||
import static org.junit.Assert.assertNull;
|
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
|
import static org.junit.Assert.fail;
|
||||||
|
|
||||||
@RunWith(AndroidJUnit4.class)
|
@RunWith(AndroidJUnit4.class)
|
||||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||||
|
@ -47,13 +48,13 @@ public class OlmPkTest {
|
||||||
mOlmPkEncryption = new OlmPkEncryption();
|
mOlmPkEncryption = new OlmPkEncryption();
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
assertTrue("OlmPkEncryption failed " + e.getMessage(), false);
|
fail("OlmPkEncryption failed " + e.getMessage());
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
mOlmPkDecryption = new OlmPkDecryption();
|
mOlmPkDecryption = new OlmPkDecryption();
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
assertTrue("OlmPkEncryption failed " + e.getMessage(), false);
|
fail("OlmPkEncryption failed " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
assertNotNull(mOlmPkEncryption);
|
assertNotNull(mOlmPkEncryption);
|
||||||
|
@ -63,13 +64,13 @@ public class OlmPkTest {
|
||||||
try {
|
try {
|
||||||
key = mOlmPkDecryption.generateKey();
|
key = mOlmPkDecryption.generateKey();
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
assertTrue("Exception in generateKey, Exception code=" + e.getExceptionCode(), false);
|
fail("Exception in generateKey, Exception code=" + e.getExceptionCode());
|
||||||
}
|
}
|
||||||
Log.d(LOG_TAG, "Ephemeral Key: " + key);
|
Log.d(LOG_TAG, "Ephemeral Key: " + key);
|
||||||
try {
|
try {
|
||||||
mOlmPkEncryption.setRecipientKey(key);
|
mOlmPkEncryption.setRecipientKey(key);
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
assertTrue("Exception in setRecipientKey, Exception code=" + e.getExceptionCode(), false);
|
fail("Exception in setRecipientKey, Exception code=" + e.getExceptionCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
String clearMessage = "Public key test";
|
String clearMessage = "Public key test";
|
||||||
|
@ -77,7 +78,7 @@ public class OlmPkTest {
|
||||||
try {
|
try {
|
||||||
message = mOlmPkEncryption.encrypt(clearMessage);
|
message = mOlmPkEncryption.encrypt(clearMessage);
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
assertTrue("Exception in encrypt, Exception code=" + e.getExceptionCode(), false);
|
fail("Exception in encrypt, Exception code=" + e.getExceptionCode());
|
||||||
}
|
}
|
||||||
Log.d(LOG_TAG, "message: " + message.mCipherText + " " + message.mMac + " " + message.mEphemeralKey);
|
Log.d(LOG_TAG, "message: " + message.mCipherText + " " + message.mMac + " " + message.mEphemeralKey);
|
||||||
|
|
||||||
|
@ -85,9 +86,9 @@ public class OlmPkTest {
|
||||||
try {
|
try {
|
||||||
decryptedMessage = mOlmPkDecryption.decrypt(message);
|
decryptedMessage = mOlmPkDecryption.decrypt(message);
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
assertTrue("Exception in decrypt, Exception code=" + e.getExceptionCode(), false);
|
fail("Exception in decrypt, Exception code=" + e.getExceptionCode());
|
||||||
}
|
}
|
||||||
assertTrue(clearMessage.equals(decryptedMessage));
|
assertEquals(clearMessage, decryptedMessage);
|
||||||
|
|
||||||
mOlmPkEncryption.releaseEncryption();
|
mOlmPkEncryption.releaseEncryption();
|
||||||
mOlmPkDecryption.releaseDecryption();
|
mOlmPkDecryption.releaseDecryption();
|
||||||
|
@ -101,28 +102,28 @@ public class OlmPkTest {
|
||||||
mOlmPkDecryption = new OlmPkDecryption();
|
mOlmPkDecryption = new OlmPkDecryption();
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
assertTrue("OlmPkEncryption failed " + e.getMessage(), false);
|
fail("OlmPkEncryption failed " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
assertNotNull(mOlmPkDecryption);
|
assertNotNull(mOlmPkDecryption);
|
||||||
|
|
||||||
byte[] privateKey = {
|
byte[] privateKey = {
|
||||||
(byte)0x77, (byte)0x07, (byte)0x6D, (byte)0x0A,
|
(byte) 0x77, (byte) 0x07, (byte) 0x6D, (byte) 0x0A,
|
||||||
(byte)0x73, (byte)0x18, (byte)0xA5, (byte)0x7D,
|
(byte) 0x73, (byte) 0x18, (byte) 0xA5, (byte) 0x7D,
|
||||||
(byte)0x3C, (byte)0x16, (byte)0xC1, (byte)0x72,
|
(byte) 0x3C, (byte) 0x16, (byte) 0xC1, (byte) 0x72,
|
||||||
(byte)0x51, (byte)0xB2, (byte)0x66, (byte)0x45,
|
(byte) 0x51, (byte) 0xB2, (byte) 0x66, (byte) 0x45,
|
||||||
(byte)0xDF, (byte)0x4C, (byte)0x2F, (byte)0x87,
|
(byte) 0xDF, (byte) 0x4C, (byte) 0x2F, (byte) 0x87,
|
||||||
(byte)0xEB, (byte)0xC0, (byte)0x99, (byte)0x2A,
|
(byte) 0xEB, (byte) 0xC0, (byte) 0x99, (byte) 0x2A,
|
||||||
(byte)0xB1, (byte)0x77, (byte)0xFB, (byte)0xA5,
|
(byte) 0xB1, (byte) 0x77, (byte) 0xFB, (byte) 0xA5,
|
||||||
(byte)0x1D, (byte)0xB9, (byte)0x2C, (byte)0x2A
|
(byte) 0x1D, (byte) 0xB9, (byte) 0x2C, (byte) 0x2A
|
||||||
};
|
};
|
||||||
|
|
||||||
assertTrue(privateKey.length == OlmPkDecryption.privateKeyLength());
|
assertEquals(privateKey.length, OlmPkDecryption.privateKeyLength());
|
||||||
|
|
||||||
try {
|
try {
|
||||||
mOlmPkDecryption.setPrivateKey(privateKey);
|
mOlmPkDecryption.setPrivateKey(privateKey);
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
assertTrue("Exception in setPrivateKey, Exception code=" + e.getExceptionCode(), false);
|
fail("Exception in setPrivateKey, Exception code=" + e.getExceptionCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
byte[] privateKeyCopy = null;
|
byte[] privateKeyCopy = null;
|
||||||
|
@ -130,10 +131,10 @@ public class OlmPkTest {
|
||||||
try {
|
try {
|
||||||
privateKeyCopy = mOlmPkDecryption.privateKey();
|
privateKeyCopy = mOlmPkDecryption.privateKey();
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
assertTrue("Exception in privateKey, Exception code=" + e.getExceptionCode(), false);
|
fail("Exception in privateKey, Exception code=" + e.getExceptionCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
assertTrue(Arrays.equals(privateKey, privateKeyCopy));
|
assertArrayEquals(privateKey, privateKeyCopy);
|
||||||
|
|
||||||
mOlmPkDecryption.releaseDecryption();
|
mOlmPkDecryption.releaseDecryption();
|
||||||
assertTrue(mOlmPkDecryption.isReleased());
|
assertTrue(mOlmPkDecryption.isReleased());
|
||||||
|
@ -145,7 +146,7 @@ public class OlmPkTest {
|
||||||
mOlmPkSigning = new OlmPkSigning();
|
mOlmPkSigning = new OlmPkSigning();
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
assertTrue("OlmPkSigning failed " + e.getMessage(), false);
|
fail("OlmPkSigning failed " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
assertNotNull(mOlmPkSigning);
|
assertNotNull(mOlmPkSigning);
|
||||||
|
@ -155,17 +156,17 @@ public class OlmPkTest {
|
||||||
seed = OlmPkSigning.generateSeed();
|
seed = OlmPkSigning.generateSeed();
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
assertTrue("generateSeed failed " + e.getMessage(), false);
|
fail("generateSeed failed " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
assertTrue(seed.length == OlmPkSigning.seedLength());
|
assertEquals(seed.length, OlmPkSigning.seedLength());
|
||||||
|
|
||||||
String pubkey = null;
|
String pubkey = null;
|
||||||
try {
|
try {
|
||||||
pubkey = mOlmPkSigning.initWithSeed(seed);
|
pubkey = mOlmPkSigning.initWithSeed(seed);
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
assertTrue("initWithSeed failed " + e.getMessage(), false);
|
fail("initWithSeed failed " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
String message = "We hold these truths to be self-evident, that all men are created equal, that they are endowed by their Creator with certain unalienable Rights, that among these are Life, Liberty and the pursuit of Happiness.";
|
String message = "We hold these truths to be self-evident, that all men are created equal, that they are endowed by their Creator with certain unalienable Rights, that among these are Life, Liberty and the pursuit of Happiness.";
|
||||||
|
@ -175,7 +176,7 @@ public class OlmPkTest {
|
||||||
signature = mOlmPkSigning.sign(message);
|
signature = mOlmPkSigning.sign(message);
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
assertTrue("sign failed " + e.getMessage(), false);
|
fail("sign failed " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
OlmUtility olmUtility = null;
|
OlmUtility olmUtility = null;
|
||||||
|
@ -183,14 +184,14 @@ public class OlmPkTest {
|
||||||
olmUtility = new OlmUtility();
|
olmUtility = new OlmUtility();
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
assertTrue("olmUtility failed " + e.getMessage(), false);
|
fail("olmUtility failed " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
olmUtility.verifyEd25519Signature(signature, pubkey, message);
|
olmUtility.verifyEd25519Signature(signature, pubkey, message);
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
assertTrue("Signature verification failed " + e.getMessage(), false);
|
fail("Signature verification failed " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
mOlmPkSigning.releaseSigning();
|
mOlmPkSigning.releaseSigning();
|
||||||
|
|
|
@ -16,10 +16,10 @@
|
||||||
|
|
||||||
package org.matrix.olm;
|
package org.matrix.olm;
|
||||||
|
|
||||||
|
|
||||||
import android.support.test.runner.AndroidJUnit4;
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
|
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||||
|
|
||||||
import org.junit.BeforeClass;
|
import org.junit.BeforeClass;
|
||||||
import org.junit.FixMethodOrder;
|
import org.junit.FixMethodOrder;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
@ -29,6 +29,7 @@ import org.junit.runners.MethodSorters;
|
||||||
import static org.junit.Assert.assertArrayEquals;
|
import static org.junit.Assert.assertArrayEquals;
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
|
import static org.junit.Assert.fail;
|
||||||
|
|
||||||
@RunWith(AndroidJUnit4.class)
|
@RunWith(AndroidJUnit4.class)
|
||||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||||
|
@ -91,7 +92,7 @@ public class OlmSasTest {
|
||||||
|
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue("OlmSas init failed " + e.getMessage(), false);
|
fail("OlmSas init failed " + e.getMessage());
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
} finally {
|
} finally {
|
||||||
if (aliceSas != null) {
|
if (aliceSas != null) {
|
||||||
|
|
|
@ -18,11 +18,12 @@
|
||||||
package org.matrix.olm;
|
package org.matrix.olm;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.support.test.runner.AndroidJUnit4;
|
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import org.json.JSONObject;
|
import androidx.test.core.app.ApplicationProvider;
|
||||||
|
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||||
|
|
||||||
import org.junit.BeforeClass;
|
import org.junit.BeforeClass;
|
||||||
import org.junit.FixMethodOrder;
|
import org.junit.FixMethodOrder;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
@ -37,10 +38,12 @@ import java.io.ObjectInputStream;
|
||||||
import java.io.ObjectOutputStream;
|
import java.io.ObjectOutputStream;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import static android.support.test.InstrumentationRegistry.getInstrumentation;
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.junit.Assert.assertFalse;
|
import static org.junit.Assert.assertFalse;
|
||||||
import static org.junit.Assert.assertNotNull;
|
import static org.junit.Assert.assertNotNull;
|
||||||
|
import static org.junit.Assert.assertNull;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
|
import static org.junit.Assert.fail;
|
||||||
|
|
||||||
@RunWith(AndroidJUnit4.class)
|
@RunWith(AndroidJUnit4.class)
|
||||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||||
|
@ -53,13 +56,13 @@ public class OlmSessionTest {
|
||||||
private static OlmManager mOlmManager;
|
private static OlmManager mOlmManager;
|
||||||
|
|
||||||
@BeforeClass
|
@BeforeClass
|
||||||
public static void setUpClass(){
|
public static void setUpClass() {
|
||||||
// load native lib
|
// load native lib
|
||||||
mOlmManager = new OlmManager();
|
mOlmManager = new OlmManager();
|
||||||
|
|
||||||
String version = mOlmManager.getOlmLibVersion();
|
String version = mOlmManager.getOlmLibVersion();
|
||||||
assertNotNull(version);
|
assertNotNull(version);
|
||||||
Log.d(LOG_TAG, "## setUpClass(): lib version="+version);
|
Log.d(LOG_TAG, "## setUpClass(): lib version=" + version);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -75,7 +78,7 @@ public class OlmSessionTest {
|
||||||
public void test01AliceToBob() {
|
public void test01AliceToBob() {
|
||||||
final int ONE_TIME_KEYS_NUMBER = 5;
|
final int ONE_TIME_KEYS_NUMBER = 5;
|
||||||
String bobIdentityKey = null;
|
String bobIdentityKey = null;
|
||||||
String bobOneTimeKey=null;
|
String bobOneTimeKey = null;
|
||||||
OlmAccount bobAccount = null;
|
OlmAccount bobAccount = null;
|
||||||
OlmAccount aliceAccount = null;
|
OlmAccount aliceAccount = null;
|
||||||
|
|
||||||
|
@ -84,12 +87,12 @@ public class OlmSessionTest {
|
||||||
aliceAccount = new OlmAccount();
|
aliceAccount = new OlmAccount();
|
||||||
bobAccount = new OlmAccount();
|
bobAccount = new OlmAccount();
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
assertTrue(e.getMessage(),false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
// test accounts creation
|
// test accounts creation
|
||||||
assertTrue(0!=bobAccount.getOlmAccountId());
|
assertTrue(0 != bobAccount.getOlmAccountId());
|
||||||
assertTrue(0!=aliceAccount.getOlmAccountId());
|
assertTrue(0 != aliceAccount.getOlmAccountId());
|
||||||
|
|
||||||
// get bob identity key
|
// get bob identity key
|
||||||
Map<String, String> bobIdentityKeys = null;
|
Map<String, String> bobIdentityKeys = null;
|
||||||
|
@ -97,17 +100,17 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
bobIdentityKeys = bobAccount.identityKeys();
|
bobIdentityKeys = bobAccount.identityKeys();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue("identityKeys failed " + e.getMessage(), false);
|
fail("identityKeys failed " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
bobIdentityKey = TestHelper.getIdentityKey(bobIdentityKeys);
|
bobIdentityKey = TestHelper.getIdentityKey(bobIdentityKeys);
|
||||||
assertTrue(null!=bobIdentityKey);
|
assertNotNull(bobIdentityKey);
|
||||||
|
|
||||||
// get bob one time keys
|
// get bob one time keys
|
||||||
try {
|
try {
|
||||||
bobAccount.generateOneTimeKeys(ONE_TIME_KEYS_NUMBER);
|
bobAccount.generateOneTimeKeys(ONE_TIME_KEYS_NUMBER);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
Map<String, Map<String, String>> bobOneTimeKeys = null;
|
Map<String, Map<String, String>> bobOneTimeKeys = null;
|
||||||
|
@ -115,10 +118,10 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
bobOneTimeKeys = bobAccount.oneTimeKeys();
|
bobOneTimeKeys = bobAccount.oneTimeKeys();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
bobOneTimeKey = TestHelper.getOneTimeKey(bobOneTimeKeys,1);
|
bobOneTimeKey = TestHelper.getOneTimeKey(bobOneTimeKeys, 1);
|
||||||
assertNotNull(bobOneTimeKey);
|
assertNotNull(bobOneTimeKey);
|
||||||
|
|
||||||
// CREATE ALICE SESSION
|
// CREATE ALICE SESSION
|
||||||
|
@ -126,58 +129,58 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
aliceSession = new OlmSession();
|
aliceSession = new OlmSession();
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
assertTrue("Exception Msg="+e.getMessage(), false);
|
fail("Exception Msg=" + e.getMessage());
|
||||||
}
|
}
|
||||||
assertTrue(0!=aliceSession.getOlmSessionId());
|
assertTrue(0 != aliceSession.getOlmSessionId());
|
||||||
|
|
||||||
// CREATE ALICE OUTBOUND SESSION and encrypt message to bob
|
// CREATE ALICE OUTBOUND SESSION and encrypt message to bob
|
||||||
try {
|
try {
|
||||||
aliceSession.initOutboundSession(aliceAccount, bobIdentityKey, bobOneTimeKey);
|
aliceSession.initOutboundSession(aliceAccount, bobIdentityKey, bobOneTimeKey);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
String clearMsg = "Heloo bob , this is alice!";
|
String clearMsg = "Heloo bob , this is alice!";
|
||||||
OlmMessage encryptedMsgToBob = null;
|
OlmMessage encryptedMsgToBob = null;
|
||||||
try {
|
try {
|
||||||
encryptedMsgToBob = aliceSession.encryptMessage(clearMsg);
|
encryptedMsgToBob = aliceSession.encryptMessage(clearMsg);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
assertNotNull(encryptedMsgToBob);
|
assertNotNull(encryptedMsgToBob);
|
||||||
assertNotNull(encryptedMsgToBob.mCipherText);
|
assertNotNull(encryptedMsgToBob.mCipherText);
|
||||||
Log.d(LOG_TAG,"## test01AliceToBob(): encryptedMsg="+encryptedMsgToBob.mCipherText);
|
Log.d(LOG_TAG, "## test01AliceToBob(): encryptedMsg=" + encryptedMsgToBob.mCipherText);
|
||||||
|
|
||||||
// CREATE BOB INBOUND SESSION and decrypt message from alice
|
// CREATE BOB INBOUND SESSION and decrypt message from alice
|
||||||
OlmSession bobSession = null;
|
OlmSession bobSession = null;
|
||||||
try {
|
try {
|
||||||
bobSession = new OlmSession();
|
bobSession = new OlmSession();
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
assertTrue("Exception Msg="+e.getMessage(), false);
|
fail("Exception Msg=" + e.getMessage());
|
||||||
}
|
}
|
||||||
assertTrue(0!=bobSession.getOlmSessionId());
|
assertTrue(0 != bobSession.getOlmSessionId());
|
||||||
|
|
||||||
try {
|
try {
|
||||||
bobSession.initInboundSession(bobAccount, encryptedMsgToBob.mCipherText);
|
bobSession.initInboundSession(bobAccount, encryptedMsgToBob.mCipherText);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue("initInboundSessionWithAccount failed " + e.getMessage(), false);
|
fail("initInboundSessionWithAccount failed " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
String decryptedMsg = null;
|
String decryptedMsg = null;
|
||||||
try {
|
try {
|
||||||
decryptedMsg = bobSession.decryptMessage(encryptedMsgToBob);
|
decryptedMsg = bobSession.decryptMessage(encryptedMsgToBob);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
assertNotNull(decryptedMsg);
|
assertNotNull(decryptedMsg);
|
||||||
|
|
||||||
// MESSAGE COMPARISON: decrypted vs encrypted
|
// MESSAGE COMPARISON: decrypted vs encrypted
|
||||||
assertTrue(clearMsg.equals(decryptedMsg));
|
assertEquals(clearMsg, decryptedMsg);
|
||||||
|
|
||||||
// clean objects..
|
// clean objects..
|
||||||
try {
|
try {
|
||||||
bobAccount.removeOneTimeKeys(bobSession);
|
bobAccount.removeOneTimeKeys(bobSession);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
// release accounts
|
// release accounts
|
||||||
|
@ -220,12 +223,12 @@ public class OlmSessionTest {
|
||||||
aliceAccount = new OlmAccount();
|
aliceAccount = new OlmAccount();
|
||||||
bobAccount = new OlmAccount();
|
bobAccount = new OlmAccount();
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
assertTrue(e.getMessage(),false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
// test accounts creation
|
// test accounts creation
|
||||||
assertTrue(0!=bobAccount.getOlmAccountId());
|
assertTrue(0 != bobAccount.getOlmAccountId());
|
||||||
assertTrue(0!=aliceAccount.getOlmAccountId());
|
assertTrue(0 != aliceAccount.getOlmAccountId());
|
||||||
|
|
||||||
// get bob identity key
|
// get bob identity key
|
||||||
Map<String, String> bobIdentityKeys = null;
|
Map<String, String> bobIdentityKeys = null;
|
||||||
|
@ -233,17 +236,17 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
bobIdentityKeys = bobAccount.identityKeys();
|
bobIdentityKeys = bobAccount.identityKeys();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue("identityKeys failed " + e.getMessage(), false);
|
fail("identityKeys failed " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
bobIdentityKey = TestHelper.getIdentityKey(bobIdentityKeys);
|
bobIdentityKey = TestHelper.getIdentityKey(bobIdentityKeys);
|
||||||
assertTrue(null!=bobIdentityKey);
|
assertNotNull(bobIdentityKey);
|
||||||
|
|
||||||
// get bob one time keys
|
// get bob one time keys
|
||||||
try {
|
try {
|
||||||
bobAccount.generateOneTimeKeys(ONE_TIME_KEYS_NUMBER);
|
bobAccount.generateOneTimeKeys(ONE_TIME_KEYS_NUMBER);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
Map<String, Map<String, String>> bobOneTimeKeys = null;
|
Map<String, Map<String, String>> bobOneTimeKeys = null;
|
||||||
|
@ -251,10 +254,10 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
bobOneTimeKeys = bobAccount.oneTimeKeys();
|
bobOneTimeKeys = bobAccount.oneTimeKeys();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
bobOneTimeKey = TestHelper.getOneTimeKey(bobOneTimeKeys,1);
|
bobOneTimeKey = TestHelper.getOneTimeKey(bobOneTimeKeys, 1);
|
||||||
assertNotNull(bobOneTimeKey);
|
assertNotNull(bobOneTimeKey);
|
||||||
|
|
||||||
// CREATE ALICE SESSION
|
// CREATE ALICE SESSION
|
||||||
|
@ -262,15 +265,15 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
aliceSession = new OlmSession();
|
aliceSession = new OlmSession();
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
assertTrue("Exception Msg="+e.getMessage(), false);
|
fail("Exception Msg=" + e.getMessage());
|
||||||
}
|
}
|
||||||
assertTrue(0!=aliceSession.getOlmSessionId());
|
assertTrue(0 != aliceSession.getOlmSessionId());
|
||||||
|
|
||||||
// CREATE ALICE OUTBOUND SESSION and encrypt message to bob
|
// CREATE ALICE OUTBOUND SESSION and encrypt message to bob
|
||||||
try {
|
try {
|
||||||
aliceSession.initOutboundSession(aliceAccount, bobIdentityKey, bobOneTimeKey);
|
aliceSession.initOutboundSession(aliceAccount, bobIdentityKey, bobOneTimeKey);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
String helloClearMsg = "Hello I'm Alice!";
|
String helloClearMsg = "Hello I'm Alice!";
|
||||||
|
@ -280,7 +283,7 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
encryptedAliceToBobMsg1 = aliceSession.encryptMessage(helloClearMsg);
|
encryptedAliceToBobMsg1 = aliceSession.encryptMessage(helloClearMsg);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
assertNotNull(encryptedAliceToBobMsg1);
|
assertNotNull(encryptedAliceToBobMsg1);
|
||||||
|
@ -291,15 +294,15 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
bobSession = new OlmSession();
|
bobSession = new OlmSession();
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
assertTrue("Exception Msg="+e.getMessage(), false);
|
fail("Exception Msg=" + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
assertTrue(0!=bobSession.getOlmSessionId());
|
assertTrue(0 != bobSession.getOlmSessionId());
|
||||||
|
|
||||||
try {
|
try {
|
||||||
bobSession.initInboundSession(bobAccount, encryptedAliceToBobMsg1.mCipherText);
|
bobSession.initInboundSession(bobAccount, encryptedAliceToBobMsg1.mCipherText);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue("initInboundSessionWithAccount failed " + e.getMessage(), false);
|
fail("initInboundSessionWithAccount failed " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
// DECRYPT MESSAGE FROM ALICE
|
// DECRYPT MESSAGE FROM ALICE
|
||||||
|
@ -307,12 +310,12 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
decryptedMsg01 = bobSession.decryptMessage(encryptedAliceToBobMsg1);
|
decryptedMsg01 = bobSession.decryptMessage(encryptedAliceToBobMsg1);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
assertNotNull(decryptedMsg01);
|
assertNotNull(decryptedMsg01);
|
||||||
|
|
||||||
// MESSAGE COMPARISON: decrypted vs encrypted
|
// MESSAGE COMPARISON: decrypted vs encrypted
|
||||||
assertTrue(helloClearMsg.equals(decryptedMsg01));
|
assertEquals(helloClearMsg, decryptedMsg01);
|
||||||
|
|
||||||
// BACK/FORTH MESSAGE COMPARISON
|
// BACK/FORTH MESSAGE COMPARISON
|
||||||
String clearMsg1 = "Hello I'm Bob!";
|
String clearMsg1 = "Hello I'm Bob!";
|
||||||
|
@ -324,7 +327,7 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
encryptedMsg1 = bobSession.encryptMessage(clearMsg1);
|
encryptedMsg1 = bobSession.encryptMessage(clearMsg1);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
assertNotNull(encryptedMsg1);
|
assertNotNull(encryptedMsg1);
|
||||||
|
|
||||||
|
@ -332,7 +335,7 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
encryptedMsg2 = bobSession.encryptMessage(clearMsg2);
|
encryptedMsg2 = bobSession.encryptMessage(clearMsg2);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
assertNotNull(encryptedMsg2);
|
assertNotNull(encryptedMsg2);
|
||||||
|
|
||||||
|
@ -341,7 +344,7 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
encryptedMsg3 = bobSession.encryptMessage(clearMsg3);
|
encryptedMsg3 = bobSession.encryptMessage(clearMsg3);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
assertNotNull(encryptedMsg3);
|
assertNotNull(encryptedMsg3);
|
||||||
|
|
||||||
|
@ -350,7 +353,7 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
decryptedMsg1 = aliceSession.decryptMessage(encryptedMsg1);
|
decryptedMsg1 = aliceSession.decryptMessage(encryptedMsg1);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
assertNotNull(decryptedMsg1);
|
assertNotNull(decryptedMsg1);
|
||||||
|
@ -358,7 +361,7 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
decryptedMsg2 = aliceSession.decryptMessage(encryptedMsg2);
|
decryptedMsg2 = aliceSession.decryptMessage(encryptedMsg2);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
assertNotNull(decryptedMsg2);
|
assertNotNull(decryptedMsg2);
|
||||||
|
@ -366,14 +369,14 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
decryptedMsg3 = aliceSession.decryptMessage(encryptedMsg3);
|
decryptedMsg3 = aliceSession.decryptMessage(encryptedMsg3);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
assertNotNull(decryptedMsg3);
|
assertNotNull(decryptedMsg3);
|
||||||
|
|
||||||
// comparison tests
|
// comparison tests
|
||||||
assertTrue(clearMsg1.equals(decryptedMsg1));
|
assertEquals(clearMsg1, decryptedMsg1);
|
||||||
assertTrue(clearMsg2.equals(decryptedMsg2));
|
assertEquals(clearMsg2, decryptedMsg2);
|
||||||
assertTrue(clearMsg3.equals(decryptedMsg3));
|
assertEquals(clearMsg3, decryptedMsg3);
|
||||||
|
|
||||||
// and one more from alice to bob
|
// and one more from alice to bob
|
||||||
clearMsg1 = "another message from Alice to Bob!!";
|
clearMsg1 = "another message from Alice to Bob!!";
|
||||||
|
@ -382,7 +385,7 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
encryptedMsg1 = aliceSession.encryptMessage(clearMsg1);
|
encryptedMsg1 = aliceSession.encryptMessage(clearMsg1);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
assertNotNull(encryptedMsg1);
|
assertNotNull(encryptedMsg1);
|
||||||
|
|
||||||
|
@ -390,20 +393,20 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
decryptedMsg1 = bobSession.decryptMessage(encryptedMsg1);
|
decryptedMsg1 = bobSession.decryptMessage(encryptedMsg1);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
assertNotNull(decryptedMsg1);
|
assertNotNull(decryptedMsg1);
|
||||||
assertTrue(clearMsg1.equals(decryptedMsg1));
|
assertEquals(clearMsg1, decryptedMsg1);
|
||||||
|
|
||||||
// comparison test
|
// comparison test
|
||||||
assertTrue(clearMsg1.equals(decryptedMsg1));
|
assertEquals(clearMsg1, decryptedMsg1);
|
||||||
|
|
||||||
// clean objects..
|
// clean objects..
|
||||||
try {
|
try {
|
||||||
bobAccount.removeOneTimeKeys(bobSession);
|
bobAccount.removeOneTimeKeys(bobSession);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
bobAccount.releaseAccount();
|
bobAccount.releaseAccount();
|
||||||
|
@ -427,12 +430,12 @@ public class OlmSessionTest {
|
||||||
aliceAccount = new OlmAccount();
|
aliceAccount = new OlmAccount();
|
||||||
bobAccount = new OlmAccount();
|
bobAccount = new OlmAccount();
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
assertTrue(e.getMessage(),false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
// test accounts creation
|
// test accounts creation
|
||||||
assertTrue(0!=bobAccount.getOlmAccountId());
|
assertTrue(0 != bobAccount.getOlmAccountId());
|
||||||
assertTrue(0!=aliceAccount.getOlmAccountId());
|
assertTrue(0 != aliceAccount.getOlmAccountId());
|
||||||
|
|
||||||
// CREATE ALICE SESSION
|
// CREATE ALICE SESSION
|
||||||
|
|
||||||
|
@ -440,9 +443,9 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
aliceSession = new OlmSession();
|
aliceSession = new OlmSession();
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
assertTrue("Exception Msg="+e.getMessage(), false);
|
fail("Exception Msg=" + e.getMessage());
|
||||||
}
|
}
|
||||||
assertTrue(0!=aliceSession.getOlmSessionId());
|
assertTrue(0 != aliceSession.getOlmSessionId());
|
||||||
|
|
||||||
// CREATE ALICE SESSION
|
// CREATE ALICE SESSION
|
||||||
OlmSession bobSession = null;
|
OlmSession bobSession = null;
|
||||||
|
@ -450,15 +453,15 @@ public class OlmSessionTest {
|
||||||
bobSession = new OlmSession();
|
bobSession = new OlmSession();
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
assertTrue(0!=bobSession.getOlmSessionId());
|
assertTrue(0 != bobSession.getOlmSessionId());
|
||||||
|
|
||||||
String aliceSessionId = null;
|
String aliceSessionId = null;
|
||||||
try {
|
try {
|
||||||
aliceSessionId = aliceSession.sessionIdentifier();
|
aliceSessionId = aliceSession.sessionIdentifier();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
assertNotNull(aliceSessionId);
|
assertNotNull(aliceSessionId);
|
||||||
|
@ -467,12 +470,12 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
bobSessionId = bobSession.sessionIdentifier();
|
bobSessionId = bobSession.sessionIdentifier();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
assertNotNull(bobSessionId);
|
assertNotNull(bobSessionId);
|
||||||
|
|
||||||
// must be the same for both ends of the conversation
|
// must be the same for both ends of the conversation
|
||||||
assertTrue(aliceSessionId.equals(bobSessionId));
|
assertEquals(aliceSessionId, bobSessionId);
|
||||||
|
|
||||||
aliceAccount.releaseAccount();
|
aliceAccount.releaseAccount();
|
||||||
bobAccount.releaseAccount();
|
bobAccount.releaseAccount();
|
||||||
|
@ -487,7 +490,7 @@ public class OlmSessionTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void test04MatchInboundSession() {
|
public void test04MatchInboundSession() {
|
||||||
OlmAccount aliceAccount=null, bobAccount=null;
|
OlmAccount aliceAccount = null, bobAccount = null;
|
||||||
OlmSession aliceSession = null, bobSession = null;
|
OlmSession aliceSession = null, bobSession = null;
|
||||||
|
|
||||||
// ACCOUNTS CREATION
|
// ACCOUNTS CREATION
|
||||||
|
@ -495,7 +498,7 @@ public class OlmSessionTest {
|
||||||
aliceAccount = new OlmAccount();
|
aliceAccount = new OlmAccount();
|
||||||
bobAccount = new OlmAccount();
|
bobAccount = new OlmAccount();
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
// CREATE ALICE SESSION
|
// CREATE ALICE SESSION
|
||||||
|
@ -503,7 +506,7 @@ public class OlmSessionTest {
|
||||||
aliceSession = new OlmSession();
|
aliceSession = new OlmSession();
|
||||||
bobSession = new OlmSession();
|
bobSession = new OlmSession();
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
assertTrue("Exception Msg=" + e.getMessage(), false);
|
fail("Exception Msg=" + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
// get bob/luke identity key
|
// get bob/luke identity key
|
||||||
|
@ -512,7 +515,7 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
bobIdentityKeys = bobAccount.identityKeys();
|
bobIdentityKeys = bobAccount.identityKeys();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue("identityKeys failed " + e.getMessage(), false);
|
fail("identityKeys failed " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
Map<String, String> aliceIdentityKeys = null;
|
Map<String, String> aliceIdentityKeys = null;
|
||||||
|
@ -520,7 +523,7 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
aliceIdentityKeys = aliceAccount.identityKeys();
|
aliceIdentityKeys = aliceAccount.identityKeys();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue("identityKeys failed " + e.getMessage(), false);
|
fail("identityKeys failed " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
String bobIdentityKey = TestHelper.getIdentityKey(bobIdentityKeys);
|
String bobIdentityKey = TestHelper.getIdentityKey(bobIdentityKeys);
|
||||||
|
@ -530,13 +533,13 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
bobAccount.generateOneTimeKeys(ONE_TIME_KEYS_NUMBER);
|
bobAccount.generateOneTimeKeys(ONE_TIME_KEYS_NUMBER);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
aliceAccount.generateOneTimeKeys(ONE_TIME_KEYS_NUMBER);
|
aliceAccount.generateOneTimeKeys(ONE_TIME_KEYS_NUMBER);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
Map<String, Map<String, String>> bobOneTimeKeys = null;
|
Map<String, Map<String, String>> bobOneTimeKeys = null;
|
||||||
|
@ -544,7 +547,7 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
bobOneTimeKeys = bobAccount.oneTimeKeys();
|
bobOneTimeKeys = bobAccount.oneTimeKeys();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
String bobOneTimeKey1 = TestHelper.getOneTimeKey(bobOneTimeKeys, 1);
|
String bobOneTimeKey1 = TestHelper.getOneTimeKey(bobOneTimeKeys, 1);
|
||||||
|
@ -553,7 +556,7 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
aliceSession.initOutboundSession(aliceAccount, bobIdentityKey, bobOneTimeKey1);
|
aliceSession.initOutboundSession(aliceAccount, bobIdentityKey, bobOneTimeKey1);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
String aliceClearMsg = "hello helooo to bob!";
|
String aliceClearMsg = "hello helooo to bob!";
|
||||||
|
@ -562,7 +565,7 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
encryptedAliceToBobMsg1 = aliceSession.encryptMessage(aliceClearMsg);
|
encryptedAliceToBobMsg1 = aliceSession.encryptMessage(aliceClearMsg);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
assertFalse(bobSession.matchesInboundSession(encryptedAliceToBobMsg1.mCipherText));
|
assertFalse(bobSession.matchesInboundSession(encryptedAliceToBobMsg1.mCipherText));
|
||||||
|
@ -571,7 +574,7 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
bobSession.initInboundSession(bobAccount, encryptedAliceToBobMsg1.mCipherText);
|
bobSession.initInboundSession(bobAccount, encryptedAliceToBobMsg1.mCipherText);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue("initInboundSessionWithAccount failed " + e.getMessage(), false);
|
fail("initInboundSessionWithAccount failed " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
// test matchesInboundSession() and matchesInboundSessionFrom()
|
// test matchesInboundSession() and matchesInboundSessionFrom()
|
||||||
|
@ -584,7 +587,7 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
bobAccount.removeOneTimeKeys(bobSession);
|
bobAccount.removeOneTimeKeys(bobSession);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
aliceAccount.releaseAccount();
|
aliceAccount.releaseAccount();
|
||||||
|
@ -601,6 +604,7 @@ public class OlmSessionTest {
|
||||||
// ********************************************************
|
// ********************************************************
|
||||||
// ************* SERIALIZATION TEST ***********************
|
// ************* SERIALIZATION TEST ***********************
|
||||||
// ********************************************************
|
// ********************************************************
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Same as {@link #test02AliceToBobBackAndForth()}, but alice's session
|
* Same as {@link #test02AliceToBobBackAndForth()}, but alice's session
|
||||||
* is serialized and de-serialized before performing the final
|
* is serialized and de-serialized before performing the final
|
||||||
|
@ -620,12 +624,12 @@ public class OlmSessionTest {
|
||||||
aliceAccount = new OlmAccount();
|
aliceAccount = new OlmAccount();
|
||||||
bobAccount = new OlmAccount();
|
bobAccount = new OlmAccount();
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
assertTrue(e.getMessage(),false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
// test accounts creation
|
// test accounts creation
|
||||||
assertTrue(0!=bobAccount.getOlmAccountId());
|
assertTrue(0 != bobAccount.getOlmAccountId());
|
||||||
assertTrue(0!=aliceAccount.getOlmAccountId());
|
assertTrue(0 != aliceAccount.getOlmAccountId());
|
||||||
|
|
||||||
// get bob identity key
|
// get bob identity key
|
||||||
Map<String, String> bobIdentityKeys = null;
|
Map<String, String> bobIdentityKeys = null;
|
||||||
|
@ -633,17 +637,17 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
bobIdentityKeys = bobAccount.identityKeys();
|
bobIdentityKeys = bobAccount.identityKeys();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue("identityKeys failed " + e.getMessage(), false);
|
fail("identityKeys failed " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
bobIdentityKey = TestHelper.getIdentityKey(bobIdentityKeys);
|
bobIdentityKey = TestHelper.getIdentityKey(bobIdentityKeys);
|
||||||
assertTrue(null!=bobIdentityKey);
|
assertNotNull(bobIdentityKey);
|
||||||
|
|
||||||
// get bob one time keys
|
// get bob one time keys
|
||||||
try {
|
try {
|
||||||
bobAccount.generateOneTimeKeys(ONE_TIME_KEYS_NUMBER);
|
bobAccount.generateOneTimeKeys(ONE_TIME_KEYS_NUMBER);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
Map<String, Map<String, String>> bobOneTimeKeys = null;
|
Map<String, Map<String, String>> bobOneTimeKeys = null;
|
||||||
|
@ -651,10 +655,10 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
bobOneTimeKeys = bobAccount.oneTimeKeys();
|
bobOneTimeKeys = bobAccount.oneTimeKeys();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
bobOneTimeKey = TestHelper.getOneTimeKey(bobOneTimeKeys,1);
|
bobOneTimeKey = TestHelper.getOneTimeKey(bobOneTimeKeys, 1);
|
||||||
assertNotNull(bobOneTimeKey);
|
assertNotNull(bobOneTimeKey);
|
||||||
|
|
||||||
// CREATE ALICE SESSION
|
// CREATE ALICE SESSION
|
||||||
|
@ -662,15 +666,15 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
aliceSession = new OlmSession();
|
aliceSession = new OlmSession();
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
assertTrue("Exception Msg="+e.getMessage(), false);
|
fail("Exception Msg=" + e.getMessage());
|
||||||
}
|
}
|
||||||
assertTrue(0!=aliceSession.getOlmSessionId());
|
assertTrue(0 != aliceSession.getOlmSessionId());
|
||||||
|
|
||||||
// CREATE ALICE OUTBOUND SESSION and encrypt message to bob
|
// CREATE ALICE OUTBOUND SESSION and encrypt message to bob
|
||||||
try {
|
try {
|
||||||
aliceSession.initOutboundSession(aliceAccount, bobIdentityKey, bobOneTimeKey);
|
aliceSession.initOutboundSession(aliceAccount, bobIdentityKey, bobOneTimeKey);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
String helloClearMsg = "Hello I'm Alice!";
|
String helloClearMsg = "Hello I'm Alice!";
|
||||||
|
@ -679,7 +683,7 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
encryptedAliceToBobMsg1 = aliceSession.encryptMessage(helloClearMsg);
|
encryptedAliceToBobMsg1 = aliceSession.encryptMessage(helloClearMsg);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
assertNotNull(encryptedAliceToBobMsg1);
|
assertNotNull(encryptedAliceToBobMsg1);
|
||||||
assertNotNull(encryptedAliceToBobMsg1.mCipherText);
|
assertNotNull(encryptedAliceToBobMsg1.mCipherText);
|
||||||
|
@ -689,15 +693,15 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
bobSession = new OlmSession();
|
bobSession = new OlmSession();
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
assertTrue("Exception Msg="+e.getMessage(), false);
|
fail("Exception Msg=" + e.getMessage());
|
||||||
}
|
}
|
||||||
assertTrue(0!=bobSession.getOlmSessionId());
|
assertTrue(0 != bobSession.getOlmSessionId());
|
||||||
|
|
||||||
// init bob session with alice PRE KEY
|
// init bob session with alice PRE KEY
|
||||||
try {
|
try {
|
||||||
bobSession.initInboundSession(bobAccount, encryptedAliceToBobMsg1.mCipherText);
|
bobSession.initInboundSession(bobAccount, encryptedAliceToBobMsg1.mCipherText);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue("initInboundSessionWithAccount failed " + e.getMessage(), false);
|
fail("initInboundSessionWithAccount failed " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
// DECRYPT MESSAGE FROM ALICE
|
// DECRYPT MESSAGE FROM ALICE
|
||||||
|
@ -706,13 +710,13 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
decryptedMsg01 = bobSession.decryptMessage(encryptedAliceToBobMsg1);
|
decryptedMsg01 = bobSession.decryptMessage(encryptedAliceToBobMsg1);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
assertNotNull(decryptedMsg01);
|
assertNotNull(decryptedMsg01);
|
||||||
|
|
||||||
// MESSAGE COMPARISON: decrypted vs encrypted
|
// MESSAGE COMPARISON: decrypted vs encrypted
|
||||||
assertTrue(helloClearMsg.equals(decryptedMsg01));
|
assertEquals(helloClearMsg, decryptedMsg01);
|
||||||
|
|
||||||
// BACK/FORTH MESSAGE COMPARISON
|
// BACK/FORTH MESSAGE COMPARISON
|
||||||
String clearMsg1 = "Hello I'm Bob!";
|
String clearMsg1 = "Hello I'm Bob!";
|
||||||
|
@ -724,7 +728,7 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
encryptedMsg1 = bobSession.encryptMessage(clearMsg1);
|
encryptedMsg1 = bobSession.encryptMessage(clearMsg1);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
assertNotNull(encryptedMsg1);
|
assertNotNull(encryptedMsg1);
|
||||||
|
|
||||||
|
@ -732,7 +736,7 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
encryptedMsg2 = bobSession.encryptMessage(clearMsg2);
|
encryptedMsg2 = bobSession.encryptMessage(clearMsg2);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
assertNotNull(encryptedMsg2);
|
assertNotNull(encryptedMsg2);
|
||||||
|
|
||||||
|
@ -740,12 +744,12 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
encryptedMsg3 = bobSession.encryptMessage(clearMsg3);
|
encryptedMsg3 = bobSession.encryptMessage(clearMsg3);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
assertNotNull(encryptedMsg3);
|
assertNotNull(encryptedMsg3);
|
||||||
|
|
||||||
// serialize alice session
|
// serialize alice session
|
||||||
Context context = getInstrumentation().getContext();
|
Context context = ApplicationProvider.getApplicationContext();
|
||||||
try {
|
try {
|
||||||
FileOutputStream fileOutput = context.openFileOutput(FILE_NAME_SERIAL_SESSION, Context.MODE_PRIVATE);
|
FileOutputStream fileOutput = context.openFileOutput(FILE_NAME_SERIAL_SESSION, Context.MODE_PRIVATE);
|
||||||
ObjectOutputStream objectOutput = new ObjectOutputStream(fileOutput);
|
ObjectOutputStream objectOutput = new ObjectOutputStream(fileOutput);
|
||||||
|
@ -771,15 +775,15 @@ public class OlmSessionTest {
|
||||||
assertNotNull(decryptedMsg3);
|
assertNotNull(decryptedMsg3);
|
||||||
|
|
||||||
// comparison tests
|
// comparison tests
|
||||||
assertTrue(clearMsg1.equals(decryptedMsg1));
|
assertEquals(clearMsg1, decryptedMsg1);
|
||||||
assertTrue(clearMsg2.equals(decryptedMsg2));
|
assertEquals(clearMsg2, decryptedMsg2);
|
||||||
assertTrue(clearMsg3.equals(decryptedMsg3));
|
assertEquals(clearMsg3, decryptedMsg3);
|
||||||
|
|
||||||
// clean objects..
|
// clean objects..
|
||||||
try {
|
try {
|
||||||
bobAccount.removeOneTimeKeys(bobSession);
|
bobAccount.removeOneTimeKeys(bobSession);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
bobAccount.releaseAccount();
|
bobAccount.releaseAccount();
|
||||||
|
@ -793,25 +797,21 @@ public class OlmSessionTest {
|
||||||
assertTrue(bobSession.isReleased());
|
assertTrue(bobSession.isReleased());
|
||||||
assertTrue(aliceSession.isReleased());
|
assertTrue(aliceSession.isReleased());
|
||||||
assertTrue(aliceSessionDeserial.isReleased());
|
assertTrue(aliceSessionDeserial.isReleased());
|
||||||
}
|
} catch (FileNotFoundException e) {
|
||||||
catch (FileNotFoundException e) {
|
Log.e(LOG_TAG, "## test03SessionSerialization(): Exception FileNotFoundException Msg==" + e.getMessage());
|
||||||
Log.e(LOG_TAG, "## test03SessionSerialization(): Exception FileNotFoundException Msg=="+e.getMessage());
|
fail(e.getMessage());
|
||||||
assertTrue(e.getMessage(), false);
|
} catch (ClassNotFoundException e) {
|
||||||
}
|
|
||||||
catch (ClassNotFoundException e) {
|
|
||||||
Log.e(LOG_TAG, "## test03SessionSerialization(): Exception ClassNotFoundException Msg==" + e.getMessage());
|
Log.e(LOG_TAG, "## test03SessionSerialization(): Exception ClassNotFoundException Msg==" + e.getMessage());
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
} catch (IOException e) {
|
||||||
catch (IOException e) {
|
|
||||||
Log.e(LOG_TAG, "## test03SessionSerialization(): Exception IOException Msg==" + e.getMessage());
|
Log.e(LOG_TAG, "## test03SessionSerialization(): Exception IOException Msg==" + e.getMessage());
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
/*catch (OlmException e) {
|
/*catch (OlmException e) {
|
||||||
Log.e(LOG_TAG, "## test03SessionSerialization(): Exception OlmException Msg==" + e.getMessage());
|
Log.e(LOG_TAG, "## test03SessionSerialization(): Exception OlmException Msg==" + e.getMessage());
|
||||||
}*/
|
}*/ catch (Exception e) {
|
||||||
catch (Exception e) {
|
|
||||||
Log.e(LOG_TAG, "## test03SessionSerialization(): Exception Msg==" + e.getMessage());
|
Log.e(LOG_TAG, "## test03SessionSerialization(): Exception Msg==" + e.getMessage());
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -831,7 +831,7 @@ public class OlmSessionTest {
|
||||||
aliceAccount = new OlmAccount();
|
aliceAccount = new OlmAccount();
|
||||||
bobAccount = new OlmAccount();
|
bobAccount = new OlmAccount();
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
// get bob identity key
|
// get bob identity key
|
||||||
|
@ -840,17 +840,17 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
bobIdentityKeys = bobAccount.identityKeys();
|
bobIdentityKeys = bobAccount.identityKeys();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue("identityKeys failed " + e.getMessage(), false);
|
fail("identityKeys failed " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
String bobIdentityKey = TestHelper.getIdentityKey(bobIdentityKeys);
|
String bobIdentityKey = TestHelper.getIdentityKey(bobIdentityKeys);
|
||||||
assertTrue(null != bobIdentityKey);
|
assertNotNull(bobIdentityKey);
|
||||||
|
|
||||||
// get bob one time keys
|
// get bob one time keys
|
||||||
try {
|
try {
|
||||||
bobAccount.generateOneTimeKeys(ONE_TIME_KEYS_NUMBER);
|
bobAccount.generateOneTimeKeys(ONE_TIME_KEYS_NUMBER);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
Map<String, Map<String, String>> bobOneTimeKeys = null;
|
Map<String, Map<String, String>> bobOneTimeKeys = null;
|
||||||
|
@ -858,11 +858,11 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
bobOneTimeKeys = bobAccount.oneTimeKeys();
|
bobOneTimeKeys = bobAccount.oneTimeKeys();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
assertNotNull(bobOneTimeKeys);
|
assertNotNull(bobOneTimeKeys);
|
||||||
String bobOneTimeKey = TestHelper.getOneTimeKey(bobOneTimeKeys,1);
|
String bobOneTimeKey = TestHelper.getOneTimeKey(bobOneTimeKeys, 1);
|
||||||
assertNotNull(bobOneTimeKey);
|
assertNotNull(bobOneTimeKey);
|
||||||
|
|
||||||
// CREATE ALICE SESSION
|
// CREATE ALICE SESSION
|
||||||
|
@ -870,7 +870,7 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
aliceSession = new OlmSession();
|
aliceSession = new OlmSession();
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
assertTrue("Exception Msg=" + e.getMessage(), false);
|
fail("Exception Msg=" + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
// SANITY CHECK TESTS FOR: initOutboundSessionWithAccount()
|
// SANITY CHECK TESTS FOR: initOutboundSessionWithAccount()
|
||||||
|
@ -880,7 +880,7 @@ public class OlmSessionTest {
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
errorMessage = e.getMessage();
|
errorMessage = e.getMessage();
|
||||||
}
|
}
|
||||||
assertTrue(null != errorMessage);
|
assertNotNull(errorMessage);
|
||||||
|
|
||||||
errorMessage = null;
|
errorMessage = null;
|
||||||
try {
|
try {
|
||||||
|
@ -888,7 +888,7 @@ public class OlmSessionTest {
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
errorMessage = e.getMessage();
|
errorMessage = e.getMessage();
|
||||||
}
|
}
|
||||||
assertTrue(null != errorMessage);
|
assertNotNull(errorMessage);
|
||||||
|
|
||||||
errorMessage = null;
|
errorMessage = null;
|
||||||
try {
|
try {
|
||||||
|
@ -896,7 +896,7 @@ public class OlmSessionTest {
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
errorMessage = e.getMessage();
|
errorMessage = e.getMessage();
|
||||||
}
|
}
|
||||||
assertTrue(null != errorMessage);
|
assertNotNull(errorMessage);
|
||||||
|
|
||||||
errorMessage = null;
|
errorMessage = null;
|
||||||
try {
|
try {
|
||||||
|
@ -904,7 +904,7 @@ public class OlmSessionTest {
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
errorMessage = e.getMessage();
|
errorMessage = e.getMessage();
|
||||||
}
|
}
|
||||||
assertTrue(null != errorMessage);
|
assertNotNull(errorMessage);
|
||||||
|
|
||||||
// init properly
|
// init properly
|
||||||
errorMessage = null;
|
errorMessage = null;
|
||||||
|
@ -913,23 +913,23 @@ public class OlmSessionTest {
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
errorMessage = e.getMessage();
|
errorMessage = e.getMessage();
|
||||||
}
|
}
|
||||||
assertTrue(null == errorMessage);
|
assertNull(errorMessage);
|
||||||
|
|
||||||
// SANITY CHECK TESTS FOR: encryptMessage()
|
// SANITY CHECK TESTS FOR: encryptMessage()
|
||||||
OlmMessage message = null;
|
OlmMessage message = null;
|
||||||
try {
|
try {
|
||||||
message = aliceSession.encryptMessage(null);
|
message = aliceSession.encryptMessage(null);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
assertTrue(null==message);
|
assertNull(message);
|
||||||
|
|
||||||
// encrypt properly
|
// encrypt properly
|
||||||
OlmMessage encryptedMsgToBob = null;
|
OlmMessage encryptedMsgToBob = null;
|
||||||
try {
|
try {
|
||||||
encryptedMsgToBob = aliceSession.encryptMessage("A message for bob");
|
encryptedMsgToBob = aliceSession.encryptMessage("A message for bob");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
assertNotNull(encryptedMsgToBob);
|
assertNotNull(encryptedMsgToBob);
|
||||||
|
|
||||||
|
@ -944,7 +944,7 @@ public class OlmSessionTest {
|
||||||
errorMessage = e.getMessage();
|
errorMessage = e.getMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
assertTrue(!TextUtils.isEmpty(errorMessage));
|
assertFalse(TextUtils.isEmpty(errorMessage));
|
||||||
|
|
||||||
errorMessage = null;
|
errorMessage = null;
|
||||||
try {
|
try {
|
||||||
|
@ -953,7 +953,7 @@ public class OlmSessionTest {
|
||||||
errorMessage = e.getMessage();
|
errorMessage = e.getMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
assertTrue(!TextUtils.isEmpty(errorMessage));
|
assertFalse(TextUtils.isEmpty(errorMessage));
|
||||||
|
|
||||||
errorMessage = null;
|
errorMessage = null;
|
||||||
try {
|
try {
|
||||||
|
@ -962,7 +962,7 @@ public class OlmSessionTest {
|
||||||
errorMessage = e.getMessage();
|
errorMessage = e.getMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
assertTrue(!TextUtils.isEmpty(errorMessage));
|
assertFalse(TextUtils.isEmpty(errorMessage));
|
||||||
|
|
||||||
// init properly
|
// init properly
|
||||||
errorMessage = null;
|
errorMessage = null;
|
||||||
|
@ -974,7 +974,7 @@ public class OlmSessionTest {
|
||||||
|
|
||||||
assertTrue(TextUtils.isEmpty(errorMessage));
|
assertTrue(TextUtils.isEmpty(errorMessage));
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
assertTrue("Exception Msg="+e.getMessage(), false);
|
fail("Exception Msg=" + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
// SANITY CHECK TESTS FOR: decryptMessage()
|
// SANITY CHECK TESTS FOR: decryptMessage()
|
||||||
|
@ -982,22 +982,22 @@ public class OlmSessionTest {
|
||||||
try {
|
try {
|
||||||
decryptedMsg = aliceSession.decryptMessage(null);
|
decryptedMsg = aliceSession.decryptMessage(null);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
assertTrue(null==decryptedMsg);
|
assertNull(decryptedMsg);
|
||||||
|
|
||||||
// SANITY CHECK TESTS FOR: matchesInboundSession()
|
// SANITY CHECK TESTS FOR: matchesInboundSession()
|
||||||
assertTrue(!aliceSession.matchesInboundSession(null));
|
assertFalse(aliceSession.matchesInboundSession(null));
|
||||||
|
|
||||||
// SANITY CHECK TESTS FOR: matchesInboundSessionFrom()
|
// SANITY CHECK TESTS FOR: matchesInboundSessionFrom()
|
||||||
assertTrue(!aliceSession.matchesInboundSessionFrom(null,null));
|
assertFalse(aliceSession.matchesInboundSessionFrom(null, null));
|
||||||
|
|
||||||
// release objects
|
// release objects
|
||||||
try {
|
try {
|
||||||
bobAccount.removeOneTimeKeys(bobSession);
|
bobAccount.removeOneTimeKeys(bobSession);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
aliceAccount.releaseAccount();
|
aliceAccount.releaseAccount();
|
||||||
|
|
|
@ -17,11 +17,11 @@
|
||||||
|
|
||||||
package org.matrix.olm;
|
package org.matrix.olm;
|
||||||
|
|
||||||
import android.support.test.runner.AndroidJUnit4;
|
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import org.json.JSONObject;
|
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||||
|
|
||||||
import org.junit.BeforeClass;
|
import org.junit.BeforeClass;
|
||||||
import org.junit.FixMethodOrder;
|
import org.junit.FixMethodOrder;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
@ -33,6 +33,7 @@ import java.util.Map;
|
||||||
import static org.junit.Assert.assertFalse;
|
import static org.junit.Assert.assertFalse;
|
||||||
import static org.junit.Assert.assertNotNull;
|
import static org.junit.Assert.assertNotNull;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
|
import static org.junit.Assert.fail;
|
||||||
|
|
||||||
@RunWith(AndroidJUnit4.class)
|
@RunWith(AndroidJUnit4.class)
|
||||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||||
|
@ -43,13 +44,13 @@ public class OlmUtilityTest {
|
||||||
private static OlmManager mOlmManager;
|
private static OlmManager mOlmManager;
|
||||||
|
|
||||||
@BeforeClass
|
@BeforeClass
|
||||||
public static void setUpClass(){
|
public static void setUpClass() {
|
||||||
// load native lib
|
// load native lib
|
||||||
mOlmManager = new OlmManager();
|
mOlmManager = new OlmManager();
|
||||||
|
|
||||||
String version = mOlmManager.getOlmLibVersion();
|
String version = mOlmManager.getOlmLibVersion();
|
||||||
assertNotNull(version);
|
assertNotNull(version);
|
||||||
Log.d(LOG_TAG, "## setUpClass(): lib version="+version);
|
Log.d(LOG_TAG, "## setUpClass(): lib version=" + version);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -66,7 +67,7 @@ public class OlmUtilityTest {
|
||||||
try {
|
try {
|
||||||
account = new OlmAccount();
|
account = new OlmAccount();
|
||||||
} catch (OlmException e) {
|
} catch (OlmException e) {
|
||||||
assertTrue(e.getMessage(),false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
assertNotNull(account);
|
assertNotNull(account);
|
||||||
|
|
||||||
|
@ -76,7 +77,7 @@ public class OlmUtilityTest {
|
||||||
try {
|
try {
|
||||||
messageSignature = account.signMessage(message);
|
messageSignature = account.signMessage(message);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue(e.getMessage(), false);
|
fail(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
assertNotNull(messageSignature);
|
assertNotNull(messageSignature);
|
||||||
|
@ -87,12 +88,12 @@ public class OlmUtilityTest {
|
||||||
try {
|
try {
|
||||||
identityKeys = account.identityKeys();
|
identityKeys = account.identityKeys();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue("identityKeys failed " + e.getMessage(), false);
|
fail("identityKeys failed " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
assertNotNull(identityKeys);
|
assertNotNull(identityKeys);
|
||||||
fingerPrintKey = TestHelper.getFingerprintKey(identityKeys);
|
fingerPrintKey = TestHelper.getFingerprintKey(identityKeys);
|
||||||
assertTrue("fingerprint key missing",!TextUtils.isEmpty(fingerPrintKey));
|
assertFalse("fingerprint key missing", TextUtils.isEmpty(fingerPrintKey));
|
||||||
|
|
||||||
// instantiate utility object
|
// instantiate utility object
|
||||||
OlmUtility utility = null;
|
OlmUtility utility = null;
|
||||||
|
@ -100,7 +101,7 @@ public class OlmUtilityTest {
|
||||||
try {
|
try {
|
||||||
utility = new OlmUtility();
|
utility = new OlmUtility();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue("failed to create OlmUtility", false);
|
fail("failed to create OlmUtility");
|
||||||
}
|
}
|
||||||
|
|
||||||
// verify signature
|
// verify signature
|
||||||
|
@ -121,10 +122,10 @@ public class OlmUtilityTest {
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
errorMsg = e.getMessage();
|
errorMsg = e.getMessage();
|
||||||
}
|
}
|
||||||
assertTrue(!TextUtils.isEmpty(errorMsg));
|
assertFalse(TextUtils.isEmpty(errorMsg));
|
||||||
|
|
||||||
// check bad fingerprint size => errorMsg = INVALID_BASE64
|
// check bad fingerprint size => errorMsg = INVALID_BASE64
|
||||||
String badSizeFingerPrintKey = fingerPrintKey.substring(fingerPrintKey.length()/2);
|
String badSizeFingerPrintKey = fingerPrintKey.substring(fingerPrintKey.length() / 2);
|
||||||
|
|
||||||
errorMsg = null;
|
errorMsg = null;
|
||||||
try {
|
try {
|
||||||
|
@ -132,7 +133,7 @@ public class OlmUtilityTest {
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
errorMsg = e.getMessage();
|
errorMsg = e.getMessage();
|
||||||
}
|
}
|
||||||
assertTrue(!TextUtils.isEmpty(errorMsg));
|
assertFalse(TextUtils.isEmpty(errorMsg));
|
||||||
|
|
||||||
utility.releaseUtility();
|
utility.releaseUtility();
|
||||||
assertTrue(utility.isReleased());
|
assertTrue(utility.isReleased());
|
||||||
|
@ -148,7 +149,7 @@ public class OlmUtilityTest {
|
||||||
try {
|
try {
|
||||||
utility = new OlmUtility();
|
utility = new OlmUtility();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue("OlmUtility creation failed", false);
|
fail("OlmUtility creation failed");
|
||||||
}
|
}
|
||||||
String msgToHash = "The quick brown fox jumps over the lazy dog";
|
String msgToHash = "The quick brown fox jumps over the lazy dog";
|
||||||
|
|
||||||
|
|
|
@ -22,6 +22,7 @@ import java.util.Map;
|
||||||
|
|
||||||
import static org.junit.Assert.assertNotNull;
|
import static org.junit.Assert.assertNotNull;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
|
import static org.junit.Assert.fail;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Helper class providing helper methods used in the Olm Android SDK unit tests.
|
* Helper class providing helper methods used in the Olm Android SDK unit tests.
|
||||||
|
@ -39,7 +40,7 @@ public class TestHelper {
|
||||||
try {
|
try {
|
||||||
idKey = aIdentityKeysMap.get(OlmAccount.JSON_KEY_IDENTITY_KEY);
|
idKey = aIdentityKeysMap.get(OlmAccount.JSON_KEY_IDENTITY_KEY);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue("Exception MSg=" + e.getMessage(), false);
|
fail("Exception MSg=" + e.getMessage());
|
||||||
}
|
}
|
||||||
return idKey;
|
return idKey;
|
||||||
}
|
}
|
||||||
|
@ -55,7 +56,7 @@ public class TestHelper {
|
||||||
try {
|
try {
|
||||||
fingerprintKey = aIdentityKeysMap.get(OlmAccount.JSON_KEY_FINGER_PRINT_KEY);
|
fingerprintKey = aIdentityKeysMap.get(OlmAccount.JSON_KEY_FINGER_PRINT_KEY);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue("Exception MSg=" + e.getMessage(), false);
|
fail("Exception MSg=" + e.getMessage());
|
||||||
}
|
}
|
||||||
return fingerprintKey;
|
return fingerprintKey;
|
||||||
}
|
}
|
||||||
|
@ -75,7 +76,7 @@ public class TestHelper {
|
||||||
|
|
||||||
firstOneTimeKey = (new ArrayList<>(generatedKeys.values())).get(aKeyPosition - 1);
|
firstOneTimeKey = (new ArrayList<>(generatedKeys.values())).get(aKeyPosition - 1);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
assertTrue("Exception Msg=" + e.getMessage(), false);
|
fail("Exception Msg=" + e.getMessage());
|
||||||
}
|
}
|
||||||
return firstOneTimeKey;
|
return firstOneTimeKey;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1 @@
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest package="org.matrix.olm" />
|
||||||
package="org.matrix.olm">
|
|
||||||
|
|
||||||
<application
|
|
||||||
android:allowBackup="true"
|
|
||||||
android:label="@string/app_name">
|
|
||||||
</application>
|
|
||||||
</manifest>
|
|
||||||
|
|
|
@ -46,7 +46,7 @@ public class OlmManager {
|
||||||
* @return the library version
|
* @return the library version
|
||||||
*/
|
*/
|
||||||
public String getVersion() {
|
public String getVersion() {
|
||||||
return BuildConfig.VERSION_NAME;
|
return "3.2.2";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
<resources>
|
|
||||||
<string name="app_name">OlmSdk</string>
|
|
||||||
</resources>
|
|
Loading…
Reference in a new issue