|
652 | 652 | matrix_join_room( $user2, $room_id );
|
653 | 653 | })->then( sub {
|
654 | 654 | sync_until_user_in_device_list( $user1, $user2 );
|
| 655 | + })->then( sub { |
| 656 | + matrix_get_e2e_keys( $user1, $user2_id ); |
| 657 | + })->then( sub { |
| 658 | + my ( $content ) = @_; |
| 659 | + |
| 660 | + log_if_fail "key query content1", $content; |
| 661 | + |
| 662 | + # Check that we do in fact see the master key when querying the |
| 663 | + # devices. |
| 664 | + assert_json_keys( $content->{master_keys}, $user2_id ); |
| 665 | + assert_json_keys( $content->{master_keys}->{$user2_id}, "keys"); |
| 666 | + assert_json_keys( $content->{master_keys}->{$user2_id}{keys}, |
| 667 | + "ed25519:nqOvzeuGWT/sRx3h7+MHoInYj3Uk2LD/unI9kDYcHwk"); |
| 668 | + |
| 669 | + matrix_sync_again( $user1 ) |
655 | 670 | })->then( sub {
|
656 | 671 | sign_json(
|
657 | 672 | $device, secret_key => $self_signing_secret_key,
|
|
671 | 686 | })->then( sub {
|
672 | 687 | my ( $content ) = @_;
|
673 | 688 |
|
674 |
| - log_if_fail "key query content", $content; |
| 689 | + log_if_fail "key query content2", $content; |
675 | 690 |
|
| 691 | + # Check that fetching the devices again returns the new signature |
676 | 692 | assert_json_keys( $content->{device_keys}->{$user2_id}->{$user2_device}, "signatures" );
|
677 | 693 |
|
678 | 694 | assert_deeply_eq( $content->{device_keys}->{$user2_id}->{$user2_device}->{signatures}, {
|
|
681 | 697 | },
|
682 | 698 | } );
|
683 | 699 |
|
| 700 | + # Check that we still see the master key when querying the devices. |
| 701 | + assert_json_keys( $content->{master_keys}, $user2_id ); |
| 702 | + assert_json_keys( $content->{master_keys}->{$user2_id}, "keys"); |
| 703 | + assert_json_keys( $content->{master_keys}->{$user2_id}{keys}, |
| 704 | + "ed25519:nqOvzeuGWT/sRx3h7+MHoInYj3Uk2LD/unI9kDYcHwk"); |
| 705 | + |
684 | 706 | Future->done(1);
|
685 | 707 | });
|
686 | 708 | };
|
|
0 commit comments