[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[libeufin] branch master updated: clean up tests and fix annotations
From: |
gnunet |
Subject: |
[libeufin] branch master updated: clean up tests and fix annotations |
Date: |
Thu, 31 Oct 2019 19:41:58 +0100 |
This is an automated email from the git hooks/post-receive script.
dold pushed a commit to branch master
in repository libeufin.
The following commit(s) were added to refs/heads/master by this push:
new bf264db clean up tests and fix annotations
bf264db is described below
commit bf264dbc3f82ee2a5988381785e29fd286b6fdbf
Author: Florian Dold <address@hidden>
AuthorDate: Thu Oct 31 19:41:53 2019 +0100
clean up tests and fix annotations
---
.../libeufin/schema/ebics_h004/EbicsMessages.kt | 77 ++++++++++---------
.../libeufin/schema/ebics_s001/EbicsMessages.kt | 6 +-
.../kotlin/{JaxbTest.kt => EbicsMessagesTest.kt} | 88 ++++++++++++++++++++--
sandbox/src/test/kotlin/HiaLoadTest.kt | 32 --------
sandbox/src/test/kotlin/InnerIniLoadTest.kt | 31 --------
sandbox/src/test/kotlin/KeyCmpTest.kt | 26 -------
sandbox/src/test/kotlin/LogTest.kt | 1 -
sandbox/src/test/kotlin/ResponseTest.kt | 21 ------
sandbox/src/test/kotlin/XmlSigTest.kt | 33 --------
sandbox/src/test/kotlin/XmlTest.kt | 24 ------
sandbox/src/test/kotlin/XmlUtilTest.kt | 48 ++++++++++++
sandbox/src/test/kotlin/XsiTypeAttributeTest.kt | 28 -------
12 files changed, 170 insertions(+), 245 deletions(-)
diff --git
a/sandbox/src/main/kotlin/tech/libeufin/schema/ebics_h004/EbicsMessages.kt
b/sandbox/src/main/kotlin/tech/libeufin/schema/ebics_h004/EbicsMessages.kt
index 0ed892e..e964f21 100644
--- a/sandbox/src/main/kotlin/tech/libeufin/schema/ebics_h004/EbicsMessages.kt
+++ b/sandbox/src/main/kotlin/tech/libeufin/schema/ebics_h004/EbicsMessages.kt
@@ -202,29 +202,29 @@ class DataEncryptionInfo {
propOrder = ["transactionPhase", "segmentNumber", "orderID", "returnCode",
"reportText", "any"]
)
class EbicsResponseMutableHeaderType {
- @XmlElement(name = "TransactionPhase", required = true)
- @XmlSchemaType(name = "token")
+ @get:XmlElement(name = "TransactionPhase", required = true)
+ @get:XmlSchemaType(name = "token")
lateinit var transactionPhase: TransactionPhaseType
- @XmlElement(name = "SegmentNumber")
+ @get:XmlElement(name = "SegmentNumber")
var segmentNumber: SegmentNumber? = null
- @XmlElement(name = "OrderID")
- @XmlJavaTypeAdapter(CollapsedStringAdapter::class)
- @XmlSchemaType(name = "token")
+ @get:XmlElement(name = "OrderID")
+ @get:XmlJavaTypeAdapter(CollapsedStringAdapter::class)
+ @get:XmlSchemaType(name = "token")
var orderID: String? = null
- @XmlElement(name = "ReturnCode", required = true)
- @XmlJavaTypeAdapter(CollapsedStringAdapter::class)
- @XmlSchemaType(name = "token")
+ @get:XmlElement(name = "ReturnCode", required = true)
+ @get:XmlJavaTypeAdapter(CollapsedStringAdapter::class)
+ @get:XmlSchemaType(name = "token")
lateinit var returnCode: String
- @XmlElement(name = "ReportText", required = true)
- @XmlJavaTypeAdapter(NormalizedStringAdapter::class)
- @XmlSchemaType(name = "normalizedString")
+ @get:XmlElement(name = "ReportText", required = true)
+ @get:XmlJavaTypeAdapter(NormalizedStringAdapter::class)
+ @get:XmlSchemaType(name = "normalizedString")
lateinit var reportText: String
- @XmlAnyElement(lax = true)
+ @get:XmlAnyElement(lax = true)
var any: List<Any>? = null
@XmlAccessorType(XmlAccessType.NONE)
@@ -261,23 +261,24 @@ enum class TransactionPhaseType(value: String) {
@XmlAccessorType(XmlAccessType.NONE)
@XmlType(name = "ResponseStaticHeaderType", propOrder = ["transactionID",
"numSegments"])
class ResponseStaticHeaderType {
- @XmlElement(name = "TransactionID", type = String::class)
- @XmlJavaTypeAdapter(HexBinaryAdapter::class)
- @XmlSchemaType(name = "hexBinary")
+ @get:XmlElement(name = "TransactionID", type = String::class)
+ @get:XmlJavaTypeAdapter(HexBinaryAdapter::class)
+ @get:XmlSchemaType(name = "hexBinary")
var transactionID: ByteArray? = null
- @XmlElement(name = "NumSegments")
- @XmlSchemaType(name = "positiveInteger")
+ @get:XmlElement(name = "NumSegments")
+ @get:XmlSchemaType(name = "positiveInteger")
var numSegments: BigInteger? = null
}
@XmlAccessorType(XmlAccessType.NONE)
+@XmlType(name = "")
class TimestampBankParameter {
- @XmlValue
+ @get:XmlValue
lateinit var value: XMLGregorianCalendar
- @XmlAttribute(name = "authenticate", required = true)
+ @get:XmlAttribute(name = "authenticate", required = true)
var authenticate: Boolean = false
}
@@ -321,13 +322,13 @@ class EbicsResponse {
@XmlAccessorType(XmlAccessType.NONE)
@XmlType(name = "", propOrder = ["dataTransfer", "returnCode",
"timestampBankParameter"])
class Body {
- @XmlElement(name = "DataTransfer")
+ @get:XmlElement(name = "DataTransfer")
var dataTransfer: DataTransferResponseType? = null
- @XmlElement(name = "ReturnCode", required = true)
+ @get:XmlElement(name = "ReturnCode", required = true)
lateinit var returnCode: ReturnCode
- @XmlElement(name = "TimestampBankParameter")
+ @get:XmlElement(name = "TimestampBankParameter")
var timestampBankParameter: TimestampBankParameter? = null
@XmlAccessorType(XmlAccessType.NONE)
@@ -365,13 +366,13 @@ class EbicsResponse {
}
-@XmlAccessorType(XmlAccessType.NONE)
@XmlType(
name = "PubKeyValueType", propOrder = [
"rsaKeyValue",
"timeStamp"
]
)
+@XmlAccessorType(XmlAccessType.NONE)
class PubKeyValueType {
@get:XmlElement(name = "RSAKeyValue", namespace =
"http://www.w3.org/2000/09/xmldsig#", required = true)
lateinit var rsaKeyValue: RSAKeyValueType
@@ -379,9 +380,6 @@ class PubKeyValueType {
@get:XmlElement(name = "TimeStamp", required = false)
@get:XmlSchemaType(name = "dateTime")
var timeStamp: XMLGregorianCalendar? = null
-
- @get:XmlAnyElement(lax = true)
- var any: List<Any>? = null
}
@@ -434,6 +432,7 @@ class EncryptionPubKeyInfoType {
name = "HIARequestOrderDataType",
propOrder = ["authenticationPubKeyInfo", "encryptionPubKeyInfo",
"partnerID", "userID", "any"]
)
+@XmlRootElement(name = "HIARequestOrderData")
class HIARequestOrderDataType {
@get:XmlElement(name = "AuthenticationPubKeyInfo", required = true)
lateinit var authenticationPubKeyInfo: AuthenticationPubKeyInfoType
@@ -491,19 +490,19 @@ class EbicsKeyManagementResponse {
@XmlAccessorType(XmlAccessType.NONE)
@XmlType(name = "", propOrder = ["orderID", "returnCode",
"reportText"])
class KeyManagementResponseMutableHeaderType {
- @XmlElement(name = "OrderID")
- @XmlJavaTypeAdapter(CollapsedStringAdapter::class)
- @XmlSchemaType(name = "token")
+ @get:XmlElement(name = "OrderID")
+ @get:XmlJavaTypeAdapter(CollapsedStringAdapter::class)
+ @get:XmlSchemaType(name = "token")
var orderID: String? = null
- @XmlElement(name = "ReturnCode", required = true)
- @XmlJavaTypeAdapter(CollapsedStringAdapter::class)
- @XmlSchemaType(name = "token")
+ @get:XmlElement(name = "ReturnCode", required = true)
+ @get:XmlJavaTypeAdapter(CollapsedStringAdapter::class)
+ @get:XmlSchemaType(name = "token")
lateinit var returnCode: String
- @XmlElement(name = "ReportText", required = true)
- @XmlJavaTypeAdapter(NormalizedStringAdapter::class)
- @XmlSchemaType(name = "normalizedString")
+ @get:XmlElement(name = "ReportText", required = true)
+ @get:XmlJavaTypeAdapter(NormalizedStringAdapter::class)
+ @get:XmlSchemaType(name = "normalizedString")
lateinit var reportText: String
}
}
@@ -511,13 +510,13 @@ class EbicsKeyManagementResponse {
@XmlAccessorType(XmlAccessType.NONE)
@XmlType(name = "", propOrder = ["dataTransfer", "returnCode",
"timestampBankParameter"])
class Body {
- @XmlElement(name = "DataTransfer")
+ @get:XmlElement(name = "DataTransfer")
val dataTransfer: DataTransfer? = null
- @XmlElement(name = "ReturnCode", required = true)
+ @get:XmlElement(name = "ReturnCode", required = true)
lateinit var returnCode: ReturnCode
- @XmlElement(name = "TimestampBankParameter")
+ @get:XmlElement(name = "TimestampBankParameter")
var timestampBankParameter: TimestampBankParameter? = null
@XmlAccessorType(XmlAccessType.NONE)
diff --git
a/sandbox/src/main/kotlin/tech/libeufin/schema/ebics_s001/EbicsMessages.kt
b/sandbox/src/main/kotlin/tech/libeufin/schema/ebics_s001/EbicsMessages.kt
index 6d99c8c..b500b87 100644
--- a/sandbox/src/main/kotlin/tech/libeufin/schema/ebics_s001/EbicsMessages.kt
+++ b/sandbox/src/main/kotlin/tech/libeufin/schema/ebics_s001/EbicsMessages.kt
@@ -36,11 +36,11 @@ import javax.xml.datatype.XMLGregorianCalendar
]
)
class PubKeyValueType {
- @XmlElement(name = "RSAKeyValue", namespace =
"http://www.w3.org/2000/09/xmldsig#", required = true)
+ @get:XmlElement(name = "RSAKeyValue", namespace =
"http://www.w3.org/2000/09/xmldsig#", required = true)
lateinit var rsaKeyValue: RSAKeyValueType
- @XmlElement(name = "TimeStamp")
- @XmlSchemaType(name = "dateTime")
+ @get:XmlElement(name = "TimeStamp")
+ @get:XmlSchemaType(name = "dateTime")
var timeStamp: XMLGregorianCalendar? = null
@XmlAnyElement(lax = true)
diff --git a/sandbox/src/test/kotlin/JaxbTest.kt
b/sandbox/src/test/kotlin/EbicsMessagesTest.kt
similarity index 51%
rename from sandbox/src/test/kotlin/JaxbTest.kt
rename to sandbox/src/test/kotlin/EbicsMessagesTest.kt
index fb2271c..afc8f0e 100644
--- a/sandbox/src/test/kotlin/JaxbTest.kt
+++ b/sandbox/src/test/kotlin/EbicsMessagesTest.kt
@@ -1,16 +1,17 @@
package tech.libeufin.sandbox
import junit.framework.TestCase.assertEquals
+import org.apache.xml.security.binding.xmldsig.SignatureType
import org.junit.Test
-import tech.libeufin.schema.ebics_h004.EbicsKeyManagementResponse
-import tech.libeufin.schema.ebics_h004.EbicsUnsecuredRequest
-import tech.libeufin.schema.ebics_h004.HIARequestOrderDataType
+import org.w3c.dom.Element
+import tech.libeufin.schema.ebics_h004.*
import tech.libeufin.schema.ebics_hev.HEVResponse
import tech.libeufin.schema.ebics_hev.SystemReturnCodeType
import tech.libeufin.schema.ebics_s001.SignaturePubKeyOrderData
+import kotlin.test.assertNotNull
import kotlin.test.assertTrue
-class JaxbTest {
+class EbicsMessagesTest {
/**
* Tests the JAXB instantiation of non-XmlRootElement documents,
* as notably are the inner XML strings carrying keys in INI/HIA
@@ -30,7 +31,7 @@ class JaxbTest {
@Test
fun stringToJaxb() {
val classLoader = ClassLoader.getSystemClassLoader()
- val ini =
classLoader.getResource("ebics_ini_request_sample_patched.xml")
+ val ini = classLoader.getResource("ebics_ini_request_sample.xml")
val jaxb =
XMLUtil.convertStringToJaxb<EbicsUnsecuredRequest>(ini.readText())
println("jaxb loaded")
assertEquals(
@@ -61,7 +62,7 @@ class JaxbTest {
@Test
fun domToJaxb() {
val classLoader = ClassLoader.getSystemClassLoader()
- val ini =
classLoader.getResource("ebics_ini_request_sample_patched.xml")
+ val ini = classLoader.getResource("ebics_ini_request_sample.xml")!!
val iniDom = XMLUtil.parseStringIntoDom(ini.readText())
XMLUtil.convertDomToJaxb<EbicsUnsecuredRequest>(
EbicsUnsecuredRequest::class.java,
@@ -80,7 +81,12 @@ class JaxbTest {
_static = EbicsKeyManagementResponse.Header.EmptyStaticHeader()
}
version = "H004"
- body = EbicsKeyManagementResponse.Body()
+ body = EbicsKeyManagementResponse.Body().apply {
+ returnCode =
EbicsKeyManagementResponse.Body.ReturnCode().apply {
+ authenticate = true
+ value = "000000"
+ }
+ }
}
val text = XMLUtil.convertJaxbToString(responseXml)
assertTrue(text.isNotEmpty())
@@ -92,4 +98,72 @@ class JaxbTest {
val hia =
classLoader.getResource("hia_request_order_data.xml")!!.readText()
XMLUtil.convertStringToJaxb<HIARequestOrderDataType>(hia)
}
+
+ @Test
+ fun hiaLoad() {
+ val classLoader = ClassLoader.getSystemClassLoader()
+ val hia = classLoader.getResource("hia_request.xml")!!
+ val hiaDom = XMLUtil.parseStringIntoDom(hia.readText())
+ val x: Element = hiaDom.getElementsByTagNameNS(
+ "urn:org:ebics:H004",
+ "OrderDetails"
+ )?.item(0) as Element
+
+ x.setAttributeNS(
+ "http://www.w3.org/2001/XMLSchema-instance",
+ "type",
+ "UnsecuredReqOrderDetailsType"
+ )
+
+ XMLUtil.convertDomToJaxb<EbicsUnsecuredRequest>(
+ EbicsUnsecuredRequest::class.java,
+ hiaDom
+ )
+ }
+
+ @Test
+ fun loadInnerKey() {
+ val jaxbKey = run {
+ val classLoader = ClassLoader.getSystemClassLoader()
+ val file = classLoader.getResource(
+ "ebics_ini_inner_key.xml"
+ )
+ assertNotNull(file)
+
XMLUtil.convertStringToJaxb<SignaturePubKeyOrderData>(file.readText())
+ }
+
+ val modulus =
jaxbKey.value.signaturePubKeyInfo.pubKeyValue.rsaKeyValue.modulus
+ val exponent =
jaxbKey.value.signaturePubKeyInfo.pubKeyValue.rsaKeyValue.exponent
+ CryptoUtil.loadRsaPublicKeyFromComponents(modulus, exponent)
+ }
+
+ @Test
+ fun loadIniMessage() {
+ val classLoader = ClassLoader.getSystemClassLoader()
+ val text =
classLoader.getResource("ebics_ini_request_sample.xml")!!.readText()
+ XMLUtil.convertStringToJaxb<EbicsUnsecuredRequest>(text)
+ }
+
+ @Test
+ fun loadResponse() {
+ val response = EbicsResponse().apply {
+ version = "H004"
+ header = EbicsResponse.Header().apply {
+ _static = ResponseStaticHeaderType()
+ mutable = EbicsResponseMutableHeaderType().apply {
+ this.reportText = "foo"
+ this.returnCode = "bar"
+ this.transactionPhase = TransactionPhaseType.INITIALISATION
+ }
+ }
+ authSignature = SignatureType()
+ body = EbicsResponse.Body().apply {
+ returnCode = EbicsResponse.Body.ReturnCode().apply {
+ authenticate = true
+ value = "asdf"
+ }
+ }
+ }
+ print(XMLUtil.convertJaxbToString(response))
+ }
}
\ No newline at end of file
diff --git a/sandbox/src/test/kotlin/HiaLoadTest.kt
b/sandbox/src/test/kotlin/HiaLoadTest.kt
deleted file mode 100644
index 9cb3f87..0000000
--- a/sandbox/src/test/kotlin/HiaLoadTest.kt
+++ /dev/null
@@ -1,32 +0,0 @@
-package tech.libeufin.sandbox
-
-import org.junit.Test
-import org.w3c.dom.Element
-import tech.libeufin.schema.ebics_h004.EbicsUnsecuredRequest
-
-class HiaLoadTest {
-
- @Test
- fun hiaLoad() {
-
- val processor = XMLUtil()
- val classLoader = ClassLoader.getSystemClassLoader()
- val hia = classLoader.getResource("<?xml version=\"1.0\"
encoding=\"UTF-8\"?>\n<ebicsUnsecuredRequest xmlns=\"urn:org:ebics:H004\"\n
xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"\n
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n
xsi:schemaLocation=\"urn:org:ebics:H004
ebics_keymgmt_request_H004.xsd\"\n Version=\"H004\"\n
Revision=\"1\">\n <header authenticate [...]
- val hiaDom = XMLUtil.parseStringIntoDom(hia.readText())
- val x: Element = hiaDom.getElementsByTagNameNS(
- "urn:org:ebics:H004",
- "OrderDetails"
- )?.item(0) as Element
-
- x.setAttributeNS(
- "http://www.w3.org/2001/XMLSchema-instance",
- "type",
- "UnsecuredReqOrderDetailsType"
- )
-
- XMLUtil.convertDomToJaxb<EbicsUnsecuredRequest>(
- EbicsUnsecuredRequest::class.java,
- hiaDom
- )
- }
-}
\ No newline at end of file
diff --git a/sandbox/src/test/kotlin/InnerIniLoadTest.kt
b/sandbox/src/test/kotlin/InnerIniLoadTest.kt
deleted file mode 100644
index f181d3e..0000000
--- a/sandbox/src/test/kotlin/InnerIniLoadTest.kt
+++ /dev/null
@@ -1,31 +0,0 @@
-package tech.libeufin.sandbox
-
-import org.junit.Test
-import tech.libeufin.schema.ebics_h004.EbicsUnsecuredRequest
-import tech.libeufin.schema.ebics_s001.SignaturePubKeyOrderData
-import kotlin.test.assertNotNull
-
-class InnerIniLoadTest {
- @Test
- fun loadInnerKey() {
- val jaxbKey = run {
- val classLoader = ClassLoader.getSystemClassLoader()
- val file = classLoader.getResource(
- "ebics_ini_inner_key.xml"
- )
- assertNotNull(file)
-
XMLUtil.convertStringToJaxb<SignaturePubKeyOrderData>(file.readText())
- }
-
- val modulus =
jaxbKey.value.signaturePubKeyInfo.pubKeyValue.rsaKeyValue.modulus
- val exponent =
jaxbKey.value.signaturePubKeyInfo.pubKeyValue.rsaKeyValue.exponent
- CryptoUtil.loadRsaPublicKeyFromComponents(modulus, exponent)
- }
-
- @Test
- fun loadIniMessage() {
- val classLoader = ClassLoader.getSystemClassLoader()
- val text =
classLoader.getResource("ebics_ini_request_sample.xml")!!.readText()
- XMLUtil.convertStringToJaxb<EbicsUnsecuredRequest>(text)
- }
-}
\ No newline at end of file
diff --git a/sandbox/src/test/kotlin/KeyCmpTest.kt
b/sandbox/src/test/kotlin/KeyCmpTest.kt
deleted file mode 100644
index 60d8881..0000000
--- a/sandbox/src/test/kotlin/KeyCmpTest.kt
+++ /dev/null
@@ -1,26 +0,0 @@
-package tech.libeufin.sandbox
-
-import org.junit.Test
-import java.math.BigInteger
-import junit.framework.TestCase.assertTrue
-
-class KeyCmpTest {
-
- /**
- * This test simulates the way keys are compared when they get
- * confirmed via the "keyletter". The scenario has one format
- * (ByteArray) for keys stored in the database, and another (hexadecimanl
- * string) for keys communicated in the keyletter.
- */
- @Test
- fun bytesCmp() {
-
- val HEX_STRING = "AA" // as coming from the keyletter
- val ba = byteArrayOf(0xAA.toByte()) // as coming from the database
-
- val x = HEX_STRING.toBigInteger(16)
- val y = BigInteger(1, ba)
-
- assertTrue(x == y)
- }
-}
\ No newline at end of file
diff --git a/sandbox/src/test/kotlin/LogTest.kt
b/sandbox/src/test/kotlin/LogTest.kt
index d88c562..0316c1d 100644
--- a/sandbox/src/test/kotlin/LogTest.kt
+++ b/sandbox/src/test/kotlin/LogTest.kt
@@ -10,7 +10,6 @@ class LogTest {
@Test
fun logLine() {
-
val loggerSandbox = LoggerFactory.getLogger("tech.libeufin.sandbox")
val loggerNexus = LoggerFactory.getLogger("tech.libeufin.nexus")
loggerSandbox.info("line")
diff --git a/sandbox/src/test/kotlin/ResponseTest.kt
b/sandbox/src/test/kotlin/ResponseTest.kt
deleted file mode 100644
index e187cb5..0000000
--- a/sandbox/src/test/kotlin/ResponseTest.kt
+++ /dev/null
@@ -1,21 +0,0 @@
-package tech.libeufin.sandbox
-
-import org.apache.xml.security.binding.xmldsig.SignatureType
-import org.junit.Test
-import tech.libeufin.schema.ebics_h004.EbicsResponse
-
-class ResponseTest {
-
- @Test
- fun loadResponse() {
- val response = EbicsResponse().apply {
- version = "H004"
- header = EbicsResponse.Header().apply {
- }
- authSignature = SignatureType()
- body = EbicsResponse.Body()
- }
- print(XMLUtil.convertJaxbToString(response))
- }
-
-}
\ No newline at end of file
diff --git a/sandbox/src/test/kotlin/XmlSigTest.kt
b/sandbox/src/test/kotlin/XmlSigTest.kt
deleted file mode 100644
index febd0b2..0000000
--- a/sandbox/src/test/kotlin/XmlSigTest.kt
+++ /dev/null
@@ -1,33 +0,0 @@
-package tech.libeufin.sandbox
-
-import org.junit.Test
-import java.security.KeyPairGenerator
-import kotlin.test.*
-
-
-
-class XmlSigTest {
-
- @Test
- fun basicSigningTest() {
- val doc = XMLUtil.parseStringIntoDom("""
- <foo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
- <AuthSignature />
- <bar authenticate='true'>bla</bar>Hello World
- <spam>
- eggs
-
- ham
- </spam>
- </foo>
- """.trimIndent())
- val kpg = KeyPairGenerator.getInstance("RSA")
- kpg.initialize(2048)
- val pair = kpg.genKeyPair()
- val otherPair = kpg.genKeyPair()
- XMLUtil.signEbicsDocument(doc, pair.private)
- println(XMLUtil.convertDomToString(doc))
- assertTrue(XMLUtil.verifyEbicsDocument(doc, pair.public))
- assertFalse(XMLUtil.verifyEbicsDocument(doc, otherPair.public))
- }
-}
\ No newline at end of file
diff --git a/sandbox/src/test/kotlin/XmlTest.kt
b/sandbox/src/test/kotlin/XmlTest.kt
deleted file mode 100644
index 121e198..0000000
--- a/sandbox/src/test/kotlin/XmlTest.kt
+++ /dev/null
@@ -1,24 +0,0 @@
-package tech.libeufin.sandbox
-
-import org.junit.Test
-import org.junit.Assert.*
-import javax.xml.transform.stream.StreamSource
-
-class XmlTest {
-
- val processor = tech.libeufin.sandbox.XMLUtil()
-
- @Test
- fun hevValidation(){
- val classLoader = ClassLoader.getSystemClassLoader()
- val hev = classLoader.getResourceAsStream("ebics_hev.xml")
- assertTrue(processor.validate(StreamSource(hev)))
- }
-
- @Test
- fun iniValidation(){
- val classLoader = ClassLoader.getSystemClassLoader()
- val ini =
classLoader.getResourceAsStream("ebics_ini_request_sample.xml")
- assertTrue(processor.validate(StreamSource(ini)))
- }
-}
\ No newline at end of file
diff --git a/sandbox/src/test/kotlin/XmlUtilTest.kt
b/sandbox/src/test/kotlin/XmlUtilTest.kt
new file mode 100644
index 0000000..a7d5284
--- /dev/null
+++ b/sandbox/src/test/kotlin/XmlUtilTest.kt
@@ -0,0 +1,48 @@
+package tech.libeufin.sandbox
+
+import org.junit.Test
+import org.junit.Assert.*
+import java.security.KeyPairGenerator
+import javax.xml.transform.stream.StreamSource
+
+class XmlUtilTest {
+
+ val processor = tech.libeufin.sandbox.XMLUtil()
+
+ @Test
+ fun hevValidation(){
+ val classLoader = ClassLoader.getSystemClassLoader()
+ val hev = classLoader.getResourceAsStream("ebics_hev.xml")
+ assertTrue(processor.validate(StreamSource(hev)))
+ }
+
+ @Test
+ fun iniValidation(){
+ val classLoader = ClassLoader.getSystemClassLoader()
+ val ini =
classLoader.getResourceAsStream("ebics_ini_request_sample.xml")
+ assertTrue(processor.validate(StreamSource(ini)))
+ }
+
+ @Test
+ fun basicSigningTest() {
+ val doc = XMLUtil.parseStringIntoDom("""
+ <foo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
+ <AuthSignature />
+ <bar authenticate='true'>bla</bar>Hello World
+ <spam>
+ eggs
+
+ ham
+ </spam>
+ </foo>
+ """.trimIndent())
+ val kpg = KeyPairGenerator.getInstance("RSA")
+ kpg.initialize(2048)
+ val pair = kpg.genKeyPair()
+ val otherPair = kpg.genKeyPair()
+ XMLUtil.signEbicsDocument(doc, pair.private)
+ println(XMLUtil.convertDomToString(doc))
+ kotlin.test.assertTrue(XMLUtil.verifyEbicsDocument(doc, pair.public))
+ kotlin.test.assertFalse(XMLUtil.verifyEbicsDocument(doc,
otherPair.public))
+ }
+}
\ No newline at end of file
diff --git a/sandbox/src/test/kotlin/XsiTypeAttributeTest.kt
b/sandbox/src/test/kotlin/XsiTypeAttributeTest.kt
deleted file mode 100644
index 212dcb5..0000000
--- a/sandbox/src/test/kotlin/XsiTypeAttributeTest.kt
+++ /dev/null
@@ -1,28 +0,0 @@
-package tech.libeufin.sandbox
-
-import org.junit.Test
-import org.w3c.dom.Element
-import tech.libeufin.schema.ebics_h004.EbicsUnsecuredRequest
-
-class XsiTypeAttributeTest {
-
- @Test
- fun domToJaxb() {
-
- val processor = XMLUtil()
- val classLoader = ClassLoader.getSystemClassLoader()
- val ini = classLoader.getResource("ebics_ini_request_sample.xml")
- val iniDom = XMLUtil.parseStringIntoDom(ini.readText())
- val x: Element = iniDom.getElementsByTagName("OrderDetails")?.item(0)
as Element
-
- x.setAttributeNS(
- "http://www.w3.org/2001/XMLSchema-instance",
- "type",
- "UnsecuredReqOrderDetailsType"
- )
-
- XMLUtil.convertDomToJaxb(
- EbicsUnsecuredRequest::class.java,
- iniDom)
- }
-}
\ No newline at end of file
--
To stop receiving notification emails like this one, please contact
address@hidden.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [libeufin] branch master updated: clean up tests and fix annotations,
gnunet <=