gnunet-svn
[Top][All Lists]
Advanced

[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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]