diff --git a/libs/wire-api/test/unit/Test/Wire/API/MLS.hs b/libs/wire-api/test/unit/Test/Wire/API/MLS.hs index b6fcf5d945f..8eacacb65ef 100644 --- a/libs/wire-api/test/unit/Test/Wire/API/MLS.hs +++ b/libs/wire-api/test/unit/Test/Wire/API/MLS.hs @@ -19,13 +19,16 @@ module Test.Wire.API.MLS where import Control.Concurrent.Async import Crypto.PubKey.Ed25519 qualified as Ed25519 -import Data.ByteArray hiding (length) +import Data.Aeson qualified as A +import Data.ByteArray hiding (all, length) import Data.ByteString qualified as BS import Data.ByteString.Char8 qualified as B8 +import Data.ByteString.Lazy qualified as LBS import Data.Domain import Data.Id import Data.Json.Util (toBase64Text) import Data.Qualified +import Data.Set qualified as Set import Data.Text qualified as T import Data.Text qualified as Text import Data.UUID.V4 qualified as UUID @@ -62,9 +65,28 @@ tests = testCase "parse welcome and groupinfo message" testParseWelcomeAndGroupInfo, testCase "key package ref" testKeyPackageRef, testCase "create signed remove proposal" testRemoveProposalMessageSignature, - testCase "parse client identity" testParseClientIdentity + testCase "parse client identity" testParseClientIdentity, + testCase "inspect key packages" testInspectKeyPackage ] +testInspectKeyPackage :: IO () +testInspectKeyPackage = do + let keyPackageUpload = A.decode keyPackageUploadJson + actual = Set.fromList . map (fromJust . cipherSuiteTag . (.cipherSuite) . value) . keyPackages $ fromJust keyPackageUpload + expected = Set.singleton . fromJust $ cipherSuiteTag (CipherSuite 2) + liftIO $ actual @=? expected + where + keyPackageUploadJson :: LBS.ByteString + keyPackageUploadJson = + "{ \"key_packages\": [\ + \ \"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\" \ + \ ] \ + \}" + testParseClientIdentity :: IO () testParseClientIdentity = do let cid = "wireapp://qHiDLsbkT2-p9uSJsmrZ_A%217f39900830740008@wire.com"