@@ -505,6 +505,57 @@ export default function createUpdateTests({ getService }: FtrProviderContext) {
505505 }
506506 } ) ;
507507
508+ it ( 'should handle update alert request appropriately when alert name has leading and trailing whitespaces' , async ( ) => {
509+ const { body : createdAlert } = await supertest
510+ . post ( `${ getUrlPrefix ( space . id ) } /api/alerts/alert` )
511+ . set ( 'kbn-xsrf' , 'foo' )
512+ . send ( getTestAlertData ( ) )
513+ . expect ( 200 ) ;
514+ objectRemover . add ( space . id , createdAlert . id , 'alert' , 'alerts' ) ;
515+
516+ const updatedData = {
517+ name : ' leading and trailing whitespace ' ,
518+ tags : [ 'bar' ] ,
519+ params : {
520+ foo : true ,
521+ } ,
522+ schedule : { interval : '12s' } ,
523+ actions : [ ] ,
524+ throttle : '1m' ,
525+ } ;
526+ const response = await supertestWithoutAuth
527+ . put ( `${ getUrlPrefix ( space . id ) } /api/alerts/alert/${ createdAlert . id } ` )
528+ . set ( 'kbn-xsrf' , 'foo' )
529+ . auth ( user . username , user . password )
530+ . send ( updatedData ) ;
531+
532+ switch ( scenario . id ) {
533+ case 'no_kibana_privileges at space1' :
534+ case 'space_1_all at space2' :
535+ case 'global_read at space1' :
536+ expect ( response . statusCode ) . to . eql ( 403 ) ;
537+ expect ( response . body ) . to . eql ( {
538+ error : 'Forbidden' ,
539+ message : getConsumerUnauthorizedErrorMessage (
540+ 'update' ,
541+ 'test.noop' ,
542+ 'alertsFixture'
543+ ) ,
544+ statusCode : 403 ,
545+ } ) ;
546+ break ;
547+ case 'superuser at space1' :
548+ case 'space_1_all at space1' :
549+ case 'space_1_all_alerts_none_actions at space1' :
550+ case 'space_1_all_with_restricted_fixture at space1' :
551+ expect ( response . statusCode ) . to . eql ( 200 ) ;
552+ expect ( response . body . name ) . to . eql ( ' leading and trailing whitespace ' ) ;
553+ break ;
554+ default :
555+ throw new Error ( `Scenario untested: ${ JSON . stringify ( scenario ) } ` ) ;
556+ }
557+ } ) ;
558+
508559 it ( `shouldn't update alert from another space` , async ( ) => {
509560 const { body : createdAlert } = await supertest
510561 . post ( `${ getUrlPrefix ( space . id ) } /api/alerts/alert` )
0 commit comments