hsaml2-0.1: test/XML/Encryption.hs
{-# LANGUAGE OverloadedStrings #-}
module XML.Encryption (tests) where
import Data.List.NonEmpty (NonEmpty(..))
import qualified Test.HUnit as U
import qualified Text.XML.HXT.Arrow.Pickle.Xml as XP
import qualified Text.XML.HXT.DOM.QualifiedName as HXT
import qualified Text.XML.HXT.DOM.XmlNode as HXT
import SAML2.XML
import SAML2.XML.Signature
import SAML2.XML.Encryption
import XML
tests :: U.Test
tests = U.test
[ testXML "test/XML/encryption-example.xml" $
EncryptedData $ EncryptedType (Just "eg1")
Nothing
Nothing
Nothing
(Just $ EncryptionMethod
(Identified KeyTransportRSAOAEPMGF1P)
(Just 256)
(Just "\246U\174\221")
(Just $ DigestMethod
(Identified DigestSHA1)
[])
[])
(Just $ KeyInfo Nothing
(KeyName "Joseph"
:| RetrievalMethod
(uri "http://exmample.org/Reagle/PublicKey")
(Just $ uri "http://www.w3.org/2001/04/xmlenc#EncryptedKey")
Nothing
: KeyInfoElement (pickleElem XP.xpickle $ EncryptedKey
(EncryptedType Nothing
Nothing
Nothing
Nothing
(Just $ EncryptionMethod
(Identified BlockEncryptionTripleDES)
Nothing
Nothing
Nothing
[])
Nothing
(CipherValue "\169\153>6G\ACK\129j\186>%qxP\194l\156\208\216\157")
Nothing)
Nothing
[ KeyReference
(uri "http://exmample.org/foo2")
[]
, DataReference
(uri "http://exmample.org/foo1")
[]
]
Nothing)
: KeyInfoElement (pickleElem XP.xpickle $ AgreementMethod
(Unidentified (uri "example:Agreement/Algorithm"))
(Just "foo")
(Just $ DigestMethod
(Identified DigestSHA1)
[])
(Just $ KeyInfo Nothing $
KeyInfoKeyValue (RSAKeyValue
124965805205214
124965805205214)
:| [])
(Just $ KeyInfo Nothing $
KeyInfoKeyValue (RSAKeyValue
124965805205214
124965805205214)
:| []))
: []))
(CipherReference
(uri "http://example.org/pgpkeys/reagle.b64")
(Transform
(Identified TransformBase64)
Nothing
[]
:| []))
(Just $ EncryptionProperties Nothing $
EncryptionProperty (Just "ep2")
(Just $ uri "#eg1")
[HXT.mkElement (HXT.mkNsName "p" "http://www.w3.org/1999/xhtml")
[]
[HXT.mkText "This XML document tests the schema for ambigous content."]]
:| [])
]