diff --git a/tests/10apidoc/12device_management.pl b/tests/10apidoc/12device_management.pl index 100fb402d..73e13833b 100644 --- a/tests/10apidoc/12device_management.pl +++ b/tests/10apidoc/12device_management.pl @@ -1,4 +1,4 @@ -our @EXPORT = qw( matrix_get_device ); +our @EXPORT = qw( matrix_get_device matrix_set_device_display_name ); sub matrix_get_device { my ( $user, $device_id ) = @_; @@ -10,6 +10,19 @@ sub matrix_get_device { ); } +sub matrix_set_device_display_name { + my ( $user, $device_id, $display_name ) = @_; + + return do_request_json_for( + $user, + method => "PUT", + uri => "/unstable/devices/${device_id}", + content => { + display_name => $display_name, + }, + ); +} + test "GET /device/{deviceId}", requires => [ local_user_fixture( with_events => 0 ) ], diff --git a/tests/41end-to-end-keys/01-upload-key.pl b/tests/41end-to-end-keys/01-upload-key.pl index bcbb0282f..033591981 100644 --- a/tests/41end-to-end-keys/01-upload-key.pl +++ b/tests/41end-to-end-keys/01-upload-key.pl @@ -53,6 +53,8 @@ )->then( sub { my ( $content ) = @_; + log_if_fail( "/query response", $content ); + assert_json_keys( $content, "device_keys" ); my $device_keys = $content->{device_keys}; @@ -60,7 +62,20 @@ my $alice_keys = $device_keys->{ $user->user_id }; assert_json_keys( $alice_keys, $user->device_id ); + + my $alice_device_keys = $alice_keys->{ $user->device_id }; + assert_json_keys( $alice_device_keys, "unsigned" ); + + my $unsigned = $alice_device_keys->{unsigned}; + + # display_name should be null by default + exists $unsigned->{device_display_name} or + die "Expected to get a (null) device_display_name"; + defined $unsigned->{device_display_name} and + die "Device display name was unexpectedly defined."; + # TODO: Check that the content matches what we uploaded. + Future->done(1) }) }; diff --git a/tests/41end-to-end-keys/04-query-key-federation.pl b/tests/41end-to-end-keys/04-query-key-federation.pl index 56215e431..3f173f973 100644 --- a/tests/41end-to-end-keys/04-query-key-federation.pl +++ b/tests/41end-to-end-keys/04-query-key-federation.pl @@ -8,6 +8,8 @@ matrix_put_e2e_keys( $user ) ->SyTest::pass_on_done( "Uploaded key" ) ->then( sub { + matrix_set_device_display_name( $user, $user->device_id, "test display name" ), + })->then( sub { do_request_json_for( $remote_user, method => "POST", uri => "/unstable/keys/query/", @@ -27,7 +29,14 @@ my $alice_keys = $device_keys->{ $user->user_id }; assert_json_keys( $alice_keys, $user->device_id ); + + my $alice_device_keys = $alice_keys->{ $user->device_id }; + # TODO: Check that the content matches what we uploaded. + + assert_eq( $alice_device_keys->{"unsigned"}->{"device_display_name"}, + "test display name" ); + Future->done(1) }); };