@@ -146,32 +146,42 @@ describe('Waku Store', () => {
146146 expect ( result ) . to . not . eq ( - 1 ) ;
147147 } ) ;
148148
149- it ( 'Retrieves history with asymmetric encrypted messages' , async function ( ) {
149+ it ( 'Retrieves history with asymmetric & symmetric encrypted messages' , async function ( ) {
150150 this . timeout ( 10_000 ) ;
151151
152152 nimWaku = new NimWaku ( makeLogFileName ( this ) ) ;
153153 await nimWaku . start ( { persistMessages : true , lightpush : true } ) ;
154154
155- const encryptedMessageText = 'This message is encrypted for me' ;
155+ const encryptedAsymmetricMessageText =
156+ 'This message is encrypted for me using asymmetric' ;
157+ const encryptedSymmetricMessageText =
158+ 'This message is encrypted for me using symmetric encryption' ;
156159 const clearMessageText =
157160 'This is a clear text message for everyone to read' ;
158161 const otherEncMessageText =
159162 'This message is not for and I must not be able to read it' ;
160163
161164 const privateKey = generatePrivateKey ( ) ;
165+ const symKey = generatePrivateKey ( ) ;
162166 const publicKey = getPublicKey ( privateKey ) ;
163167
164- const [ encryptedMessage , clearMessage , otherEncMessage ] = await Promise . all (
165- [
166- WakuMessage . fromUtf8String ( encryptedMessageText , {
167- encPublicKey : publicKey ,
168- } ) ,
169- WakuMessage . fromUtf8String ( clearMessageText ) ,
170- WakuMessage . fromUtf8String ( otherEncMessageText , {
171- encPublicKey : getPublicKey ( generatePrivateKey ( ) ) ,
172- } ) ,
173- ]
174- ) ;
168+ const [
169+ encryptedAsymmetricMessage ,
170+ encryptedSymmetricMessage ,
171+ clearMessage ,
172+ otherEncMessage ,
173+ ] = await Promise . all ( [
174+ WakuMessage . fromUtf8String ( encryptedAsymmetricMessageText , {
175+ encPublicKey : publicKey ,
176+ } ) ,
177+ WakuMessage . fromUtf8String ( encryptedSymmetricMessageText , {
178+ symKey : symKey ,
179+ } ) ,
180+ WakuMessage . fromUtf8String ( clearMessageText ) ,
181+ WakuMessage . fromUtf8String ( otherEncMessageText , {
182+ encPublicKey : getPublicKey ( generatePrivateKey ( ) ) ,
183+ } ) ,
184+ ] ) ;
175185
176186 dbg ( 'Messages have been encrypted' ) ;
177187
@@ -204,7 +214,8 @@ describe('Waku Store', () => {
204214
205215 dbg ( 'Sending messages using light push' ) ;
206216 await Promise . all ( [
207- await waku1 . lightPush . push ( encryptedMessage ) ,
217+ waku1 . lightPush . push ( encryptedAsymmetricMessage ) ,
218+ waku1 . lightPush . push ( encryptedSymmetricMessage ) ,
208219 waku1 . lightPush . push ( otherEncMessage ) ,
209220 waku1 . lightPush . push ( clearMessage ) ,
210221 ] ) ;
@@ -218,13 +229,14 @@ describe('Waku Store', () => {
218229 dbg ( 'Retrieve messages from store' ) ;
219230 const messages = await waku2 . store . queryHistory ( {
220231 contentTopics : [ ] ,
221- decryptionPrivateKeys : [ privateKey ] ,
232+ decryptionKeys : [ privateKey , symKey ] ,
222233 } ) ;
223234
224- expect ( messages ?. length ) . eq ( 2 ) ;
235+ expect ( messages ?. length ) . eq ( 3 ) ;
225236 if ( ! messages ) throw 'Length was tested' ;
226237 expect ( messages [ 0 ] . payloadAsUtf8 ) . to . eq ( clearMessageText ) ;
227- expect ( messages [ 1 ] . payloadAsUtf8 ) . to . eq ( encryptedMessageText ) ;
238+ expect ( messages [ 1 ] . payloadAsUtf8 ) . to . eq ( encryptedSymmetricMessageText ) ;
239+ expect ( messages [ 2 ] . payloadAsUtf8 ) . to . eq ( encryptedAsymmetricMessageText ) ;
228240
229241 await Promise . all ( [ waku1 . stop ( ) , waku2 . stop ( ) ] ) ;
230242 } ) ;
0 commit comments