@@ -171,34 +171,23 @@ impl NostrMlsStorageProvider for NostrMlsMemoryStorage {
171
171
mod tests {
172
172
use std:: collections:: BTreeSet ;
173
173
174
- use aes_gcm:: aead:: OsRng ;
175
- use aes_gcm:: { Aes128Gcm , KeyInit } ;
176
174
use nostr:: { EventId , Kind , PublicKey , RelayUrl , Tags , Timestamp , UnsignedEvent } ;
177
175
use nostr_mls_storage:: groups:: types:: { Group , GroupExporterSecret , GroupState } ;
178
176
use nostr_mls_storage:: groups:: GroupStorage ;
179
177
use nostr_mls_storage:: messages:: types:: { Message , MessageState , ProcessedMessageState } ;
180
178
use nostr_mls_storage:: messages:: MessageStorage ;
179
+ use nostr_mls_storage:: test_utils:: crypto_utils:: generate_random_bytes;
181
180
use nostr_mls_storage:: welcomes:: types:: { ProcessedWelcomeState , Welcome , WelcomeState } ;
182
181
use nostr_mls_storage:: welcomes:: WelcomeStorage ;
183
182
use openmls:: group:: GroupId ;
184
183
use openmls_memory_storage:: MemoryStorage ;
185
184
186
185
use super :: * ;
187
186
188
- pub fn generate_encryption_key ( ) -> Vec < u8 > {
189
- Aes128Gcm :: generate_key ( OsRng ) . to_vec ( )
190
- }
191
-
192
187
fn create_test_group_id ( ) -> GroupId {
193
188
GroupId :: from_slice ( & [ 1 , 2 , 3 , 4 ] )
194
189
}
195
190
196
- fn create_test_nostr_group_id ( ) -> [ u8 ; 32 ] {
197
- let mut id = [ 0u8 ; 32 ] ;
198
- id[ 0 ..4 ] . copy_from_slice ( & [ 1 , 2 , 3 , 4 ] ) ;
199
- id
200
- }
201
-
202
191
#[ test]
203
192
fn test_new_with_storage ( ) {
204
193
let storage = MemoryStorage :: default ( ) ;
@@ -247,10 +236,10 @@ mod tests {
247
236
let storage = MemoryStorage :: default ( ) ;
248
237
let nostr_storage = NostrMlsMemoryStorage :: new ( storage) ;
249
238
let mls_group_id = create_test_group_id ( ) ;
250
- let nostr_group_id = create_test_nostr_group_id ( ) ;
251
- let image_url = Some ( "http://blossom_server:4531/fake_img.png" . to_owned ( ) ) ;
252
- let image_key = Some ( generate_encryption_key ( ) ) ;
253
- let image_nonce = Some ( vec ! [ 16u8 ; 12 ] ) ;
239
+ let nostr_group_id = generate_random_bytes ( 32 ) . try_into ( ) . unwrap ( ) ;
240
+ let image_hash = Some ( generate_random_bytes ( 32 ) . try_into ( ) . unwrap ( ) ) ;
241
+ let image_key = Some ( generate_random_bytes ( 32 ) . try_into ( ) . unwrap ( ) ) ;
242
+ let image_nonce = Some ( generate_random_bytes ( 12 ) . try_into ( ) . unwrap ( ) ) ;
254
243
let group = Group {
255
244
mls_group_id : mls_group_id. clone ( ) ,
256
245
nostr_group_id,
@@ -261,7 +250,7 @@ mod tests {
261
250
last_message_at : None ,
262
251
epoch : 0 ,
263
252
state : GroupState :: Active ,
264
- image_url ,
253
+ image_hash ,
265
254
image_key,
266
255
image_nonce,
267
256
} ;
@@ -289,10 +278,10 @@ mod tests {
289
278
let storage = MemoryStorage :: default ( ) ;
290
279
let nostr_storage = NostrMlsMemoryStorage :: new ( storage) ;
291
280
let mls_group_id = create_test_group_id ( ) ;
292
- let nostr_group_id = create_test_nostr_group_id ( ) ;
293
- let image_url = Some ( "http://blossom_server:4531/fake_img.png" . to_owned ( ) ) ;
294
- let image_key = Some ( generate_encryption_key ( ) ) ;
295
- let image_nonce = Some ( vec ! [ 16u8 ; 12 ] ) ;
281
+ let nostr_group_id = generate_random_bytes ( 32 ) . try_into ( ) . unwrap ( ) ;
282
+ let image_hash = Some ( generate_random_bytes ( 32 ) . try_into ( ) . unwrap ( ) ) ;
283
+ let image_key = Some ( generate_random_bytes ( 32 ) . try_into ( ) . unwrap ( ) ) ;
284
+ let image_nonce = Some ( generate_random_bytes ( 12 ) . try_into ( ) . unwrap ( ) ) ;
296
285
let group = Group {
297
286
mls_group_id : mls_group_id. clone ( ) ,
298
287
nostr_group_id,
@@ -303,7 +292,7 @@ mod tests {
303
292
last_message_at : None ,
304
293
epoch : 0 ,
305
294
state : GroupState :: Active ,
306
- image_url ,
295
+ image_hash ,
307
296
image_key,
308
297
image_nonce,
309
298
} ;
@@ -334,10 +323,10 @@ mod tests {
334
323
let storage = MemoryStorage :: default ( ) ;
335
324
let nostr_storage = NostrMlsMemoryStorage :: new ( storage) ;
336
325
let mls_group_id = create_test_group_id ( ) ;
337
- let nostr_group_id = create_test_nostr_group_id ( ) ;
338
- let image_url = Some ( "http://blossom_server:4531/fake_img.png" . to_owned ( ) ) ;
339
- let image_key = Some ( generate_encryption_key ( ) ) ;
340
- let image_nonce = Some ( vec ! [ 16u8 ; 12 ] ) ;
326
+ let nostr_group_id = generate_random_bytes ( 32 ) . try_into ( ) . unwrap ( ) ;
327
+ let image_hash = Some ( generate_random_bytes ( 32 ) . try_into ( ) . unwrap ( ) ) ;
328
+ let image_key = Some ( generate_random_bytes ( 32 ) . try_into ( ) . unwrap ( ) ) ;
329
+ let image_nonce = Some ( generate_random_bytes ( 12 ) . try_into ( ) . unwrap ( ) ) ;
341
330
let group = Group {
342
331
mls_group_id : mls_group_id. clone ( ) ,
343
332
nostr_group_id,
@@ -348,7 +337,7 @@ mod tests {
348
337
last_message_at : None ,
349
338
epoch : 0 ,
350
339
state : GroupState :: Active ,
351
- image_url ,
340
+ image_hash ,
352
341
image_key,
353
342
image_nonce,
354
343
} ;
@@ -409,7 +398,7 @@ mod tests {
409
398
410
399
// Create a test welcome
411
400
let mls_group_id = create_test_group_id ( ) ;
412
- let nostr_group_id = create_test_nostr_group_id ( ) ;
401
+ let nostr_group_id = generate_random_bytes ( 32 ) . try_into ( ) . unwrap ( ) ;
413
402
let welcome = Welcome {
414
403
id : event_id,
415
404
event : UnsignedEvent :: new (
@@ -424,7 +413,7 @@ mod tests {
424
413
group_name : "Test Welcome Group" . to_string ( ) ,
425
414
group_description : "A test welcome group" . to_string ( ) ,
426
415
group_image_key : None ,
427
- group_image_url : None ,
416
+ group_image_hash : None ,
428
417
group_image_nonce : None ,
429
418
group_admin_pubkeys : BTreeSet :: from ( [ pubkey] ) ,
430
419
group_relays : BTreeSet :: from ( [ RelayUrl :: parse ( "wss://relay.example.com" ) . unwrap ( ) ] ) ,
@@ -483,10 +472,10 @@ mod tests {
483
472
let storage = MemoryStorage :: default ( ) ;
484
473
let nostr_storage = NostrMlsMemoryStorage :: new ( storage) ;
485
474
let mls_group_id = create_test_group_id ( ) ;
486
- let nostr_group_id = create_test_nostr_group_id ( ) ;
487
- let image_url = Some ( "http://blossom_server:4531/fake_img.png" . to_owned ( ) ) ;
488
- let image_key = Some ( generate_encryption_key ( ) ) ;
489
- let image_nonce = Some ( vec ! [ 16u8 ; 12 ] ) ;
475
+ let nostr_group_id = generate_random_bytes ( 32 ) . try_into ( ) . unwrap ( ) ;
476
+ let image_hash = Some ( generate_random_bytes ( 32 ) . try_into ( ) . unwrap ( ) ) ;
477
+ let image_key = Some ( generate_random_bytes ( 32 ) . try_into ( ) . unwrap ( ) ) ;
478
+ let image_nonce = Some ( generate_random_bytes ( 12 ) . try_into ( ) . unwrap ( ) ) ;
490
479
let group = Group {
491
480
mls_group_id : mls_group_id. clone ( ) ,
492
481
nostr_group_id,
@@ -497,7 +486,7 @@ mod tests {
497
486
last_message_at : None ,
498
487
epoch : 0 ,
499
488
state : GroupState :: Active ,
500
- image_url ,
489
+ image_hash ,
501
490
image_key,
502
491
image_nonce,
503
492
} ;
@@ -581,10 +570,10 @@ mod tests {
581
570
582
571
// Create a test group to verify the cache works
583
572
let mls_group_id = create_test_group_id ( ) ;
584
- let nostr_group_id = create_test_nostr_group_id ( ) ;
585
- let image_url = Some ( "http://blossom_server:4531/fake_img.png" . to_owned ( ) ) ;
586
- let image_key = Some ( generate_encryption_key ( ) ) ;
587
- let image_nonce = Some ( vec ! [ 16u8 ; 12 ] ) ;
573
+ let nostr_group_id = generate_random_bytes ( 32 ) . try_into ( ) . unwrap ( ) ;
574
+ let image_hash = Some ( generate_random_bytes ( 32 ) . try_into ( ) . unwrap ( ) ) ;
575
+ let image_key = Some ( generate_random_bytes ( 32 ) . try_into ( ) . unwrap ( ) ) ;
576
+ let image_nonce = Some ( generate_random_bytes ( 12 ) . try_into ( ) . unwrap ( ) ) ;
588
577
let group = Group {
589
578
mls_group_id : mls_group_id. clone ( ) ,
590
579
nostr_group_id,
@@ -595,7 +584,7 @@ mod tests {
595
584
last_message_at : None ,
596
585
epoch : 0 ,
597
586
state : GroupState :: Active ,
598
- image_url ,
587
+ image_hash ,
599
588
image_key,
600
589
image_nonce,
601
590
} ;
@@ -616,10 +605,10 @@ mod tests {
616
605
617
606
// Create a test group to verify the default implementation works
618
607
let mls_group_id = create_test_group_id ( ) ;
619
- let nostr_group_id = create_test_nostr_group_id ( ) ;
620
- let image_url = Some ( "http://blossom_server:4531/fake_img.png" . to_owned ( ) ) ;
621
- let image_key = Some ( generate_encryption_key ( ) ) ;
622
- let image_nonce = Some ( vec ! [ 16u8 ; 12 ] ) ;
608
+ let nostr_group_id = generate_random_bytes ( 32 ) . try_into ( ) . unwrap ( ) ;
609
+ let image_hash = Some ( generate_random_bytes ( 32 ) . try_into ( ) . unwrap ( ) ) ;
610
+ let image_key = Some ( generate_random_bytes ( 32 ) . try_into ( ) . unwrap ( ) ) ;
611
+ let image_nonce = Some ( generate_random_bytes ( 12 ) . try_into ( ) . unwrap ( ) ) ;
623
612
624
613
let group = Group {
625
614
mls_group_id : mls_group_id. clone ( ) ,
@@ -631,7 +620,7 @@ mod tests {
631
620
last_message_at : None ,
632
621
epoch : 0 ,
633
622
state : GroupState :: Active ,
634
- image_url ,
623
+ image_hash ,
635
624
image_key,
636
625
image_nonce,
637
626
} ;
0 commit comments