Compare commits

...

4 Commits

  1. 1
      test/java/foundation/pEp/jniadapter/test/jni134/TestAlice.java
  2. 34
      test/java/foundation/pEp/jniadapter/test/jni171/Makefile
  3. 66
      test/java/foundation/pEp/jniadapter/test/jni171/TestAlice.java
  4. 2
      test/java/foundation/pEp/jniadapter/test/templateAliceBob/TransportMessage.java
  5. 19
      test/java/foundation/pEp/jniadapter/test/utils/AdapterTestUtils.java

1
test/java/foundation/pEp/jniadapter/test/jni134/TestAlice.java

@ -242,6 +242,7 @@ class TestAlice {
ArrayList<Pair<String, String>> inVal = new ArrayList<>(); ArrayList<Pair<String, String>> inVal = new ArrayList<>();
inVal.add(new Pair<>("Received", "in time")); inVal.add(new Pair<>("Received", "in time"));
inVal.add(new Pair<>("X-Foobaz", "of course")); inVal.add(new Pair<>("X-Foobaz", "of course"));
inVal.add(new Pair<>(" ", " no trim "));
msg.setOptFields(inVal); msg.setOptFields(inVal);
ArrayList<Pair<String, String>> outVal = msg.getOptFields(); ArrayList<Pair<String, String>> outVal = msg.getOptFields();
assert AdapterTestUtils.optFieldsEqual(inVal, outVal) : "\nreturned:\n '" + outVal + "'\nexpected:\n '" + inVal + "'"; assert AdapterTestUtils.optFieldsEqual(inVal, outVal) : "\nreturned:\n '" + outVal + "'\nexpected:\n '" + inVal + "'";

34
test/java/foundation/pEp/jniadapter/test/jni171/Makefile

@ -0,0 +1,34 @@
include ../../../../../../../Makefile.conf
include ../Makefile.conf
TEST_UNIT_NAME=jni171
JAVA_CLASSES+= \
TestAlice.class
.PHONY: pitytest compile alice test clean
all: alice compile
pitytest:
$(MAKE) -C $(PITYTEST_DIR)
alice: compile clean-pep-home-alice
cd $(JAVA_CWD);pwd;HOME=$(JAVA_PEP_HOME_DIR_ALICE) $(JAVA) $(JAVA_PKG_BASENAME).$(TEST_UNIT_NAME).TestAlice
compile: $(JAVA_CLASSES) pitytest
%.class: %.java
cd $(JAVA_CWD);javac -cp $(CLASSPATH) $(JAVA_PKG_BASEPATH)/$(TEST_UNIT_NAME)/$<
clean:
rm -f $(JAVA_CLASSES)
rm -f *.class
rm -f *.log
rm -Rf .gnupg
rm -Rf .lldb
clean-pep-home: clean-pep-home-alice
clean-pep-home-alice:
rm -rf $(PEP_HOME_DIR_ALICE)/.pEp

66
test/java/foundation/pEp/jniadapter/test/jni171/TestAlice.java

@ -0,0 +1,66 @@
package foundation.pEp.jniadapter.test.jni171;
import foundation.pEp.jniadapter.Message;
import foundation.pEp.jniadapter.Pair;
import foundation.pEp.jniadapter.decrypt_message_Return;
import foundation.pEp.jniadapter.test.utils.AdapterTestUtils;
import foundation.pEp.jniadapter.test.utils.CTXBase;
import foundation.pEp.pitytest.TestSuite;
import foundation.pEp.pitytest.TestUnit;
import foundation.pEp.pitytest.utils.TestUtils;
import java.util.ArrayList;
import java.util.List;
import static foundation.pEp.pitytest.TestLogger.log;
/*
JNI-171 - Test: Opt Fields does trimming after en/decryption
Expected Behaviour:
Values of OptFields are NOT trimmed or otherwise altered in an encrypt/decrypt roundtrip
*/
class Jni171TestContext extends CTXBase {
@Override
public CTXBase init() throws Throwable {
super.init();
alice = engine.myself(alice);
engine.importKey(keyBobPub);
return this;
}
}
class TestAlice {
public static void main(String[] args) throws Exception {
TestSuite.getDefault().setVerbose(true);
TestSuite.getDefault().setTestColor(TestUtils.TermColor.GREEN);
Jni171TestContext ctx171 = new Jni171TestContext();
new TestUnit<CTXBase>("OptField values DONT get leading/trailing whitespace removed", ctx171, ctx -> {
ArrayList<Pair<String, String>> optsIn = new ArrayList<>();
optsIn.add(new Pair<>("six-spaces", " "));
optsIn.add(new Pair<>("pEp-surrounded-by-ws", " pEp "));
ctx.msgAliceToBob.setOptFields(optsIn);
log("ORIG: " + AdapterTestUtils.OptFieldsToString(ctx.msgAliceToBob.getOptFields()));
// encrypt
Message msgEnc = ctx.engine.encrypt_message(ctx.msgAliceToBob, null, Message.EncFormat.PEP);
log("ENC: " + AdapterTestUtils.OptFieldsToString(msgEnc.getOptFields()));
// decrypt
decrypt_message_Return decRet = ctx.engine.decrypt_message(msgEnc, null, 0);
log("DEC: " + AdapterTestUtils.OptFieldsToString(decRet.dst.getOptFields()));
ArrayList<Pair<String, String>> optsOut = decRet.dst.getOptFields();
assert AdapterTestUtils.optFieldValuesOfKey(optsOut, "six-spaces").get(0).equals(" ");
assert AdapterTestUtils.optFieldValuesOfKey(optsOut, "pEp-surrounded-by-ws").get(0).equals(" pEp ");
});
TestSuite.getDefault().run();
}
}

2
test/java/foundation/pEp/jniadapter/test/templateAliceBob/TransportMessage.java

@ -148,7 +148,7 @@ public class TransportMessage implements Serializable {
kvs = AdapterTestUtils.clipStrings(kvs, 200, "clipped..."); kvs = AdapterTestUtils.clipStrings(kvs, 200, "clipped...");
} }
ret = AdapterTestUtils.stringPairListToString(kvs); ret = AdapterTestUtils.OptFieldsToString(kvs);
ret = ret.trim(); ret = ret.trim();
return ret; return ret;

19
test/java/foundation/pEp/jniadapter/test/utils/AdapterTestUtils.java

@ -8,6 +8,7 @@ import foundation.pEp.pitytest.utils.RangeInt;
import foundation.pEp.pitytest.utils.TestUtils; import foundation.pEp.pitytest.utils.TestUtils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List;
import java.util.Vector; import java.util.Vector;
import static foundation.pEp.pitytest.utils.TestUtils.clipString; import static foundation.pEp.pitytest.utils.TestUtils.clipString;
@ -168,7 +169,7 @@ public class AdapterTestUtils {
key = "getOptFields"; key = "getOptFields";
try { try {
value = stringPairListToString(msg.getOptFields()); value = OptFieldsToString(msg.getOptFields());
} catch (Throwable e) { } catch (Throwable e) {
value = e.toString(); value = e.toString();
} }
@ -186,7 +187,7 @@ public class AdapterTestUtils {
kvs = clipStrings(kvs, 200, "clipped..."); kvs = clipStrings(kvs, 200, "clipped...");
} }
ret = stringPairListToString(kvs); ret = OptFieldsToString(kvs);
ret = ret.trim(); ret = ret.trim();
return ret; return ret;
@ -210,7 +211,7 @@ public class AdapterTestUtils {
return ret; return ret;
} }
public static String stringPairListToString(ArrayList<Pair<String, String>> spl) { public static String OptFieldsToString(ArrayList<Pair<String, String>> spl) {
String ret = "Invalid List: null object\n"; String ret = "Invalid List: null object\n";
if (spl != null) { if (spl != null) {
ret = ""; ret = "";
@ -405,9 +406,19 @@ public class AdapterTestUtils {
return ret; return ret;
} }
public static List<String> optFieldValuesOfKey(List<Pair<String, String>> opts, String key) {
List<String> ret = new ArrayList<String>();
for (Pair<String, String> pair : opts) {
if (pair.first.equals(key)) {
ret.add(pair.second);
}
}
return ret;
}
public static boolean optFieldsEqual(ArrayList<Pair<String,String>> left, ArrayList<Pair<String,String>> right){ public static boolean optFieldsEqual(ArrayList<Pair<String,String>> left, ArrayList<Pair<String,String>> right){
boolean equal = false; boolean equal = false;
int nrFieldsExcessive = TestUtils.clip(right.size() - right.size(), 0, right.size()); int nrFieldsExcessive = TestUtils.clip(right.size() - left.size(), 0, right.size());
int nrFieldsMissing = 0; int nrFieldsMissing = 0;
for (Pair pIn : right) { for (Pair pIn : right) {
boolean found = false; boolean found = false;

Loading…
Cancel
Save