package Ġcom . cogn if ide . ap mt . tests . page Ċ Ċ import Ġcom . cogn if ide . ap mt . TestCase Ċ import Ġcom . cogn if ide . ap mt . User Ċ import Ġcom . cogn if ide . ap mt . actions . page . Open Page Ċ import Ġcom . cogn if ide . ap mt . config . Configuration Provider Ċ import Ġcom . cogn if ide . ap mt . config . Instance Ċ import Ġcom . cogn if ide . ap mt . tests . Allowed Ċ import Ġcom . cogn if ide . ap mt . tests . Ap mt Base Test Ċ import Ġcom . cogn if ide . ap mt . tests . Denied Ċ import Ġorg . junit . jupiter . api . DisplayName Ċ import Ġorg . junit . jupiter . api . Test Instance Ċ import Ġorg . junit . jupiter . params . Parameterized Test Ċ Ċ @ Test Instance ( Test Instance . Lifecycle . PER _ CLASS ) Ċ @ DisplayName (" Check Ġuser Ġpermissions Ġto Ġopen Ġpages ") Ċ abstract Ġclass ĠOpen Page Test ( ĊĠĠĠ Ġvar arg Ġtest Cases : ĠTestCase , ĊĠĠĠ Ġprivate Ġval Ġinstance : ĠInstance Ġ= ĠConfiguration Provider . author Instance , ĊĠĠĠ Ġprivate Ġval ĠqueryParams : ĠMap < String , ĠString > Ġ= Ġmap Of () Ċ ) Ġ: ĠAp mt Base Test (* test Cases ) Ġ{ ĊĊĠĠĠ Ġ@ DisplayName (" User Ġcan Ġopen Ġpages ") ĊĠĠĠ Ġ@ Parameterized Test ĊĠĠĠ Ġ@ Allowed ĊĠĠĠ Ġfun Ġuser Can Open Pages ( user : ĠUser , Ġpath : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠOpen Page ( instance , Ġuser , Ġpath , ĠqueryParams ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. execute () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. then () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assertThat () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. statusCode ( 2 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ DisplayName (" User Ġcannot Ġopen Ġpages ") ĊĠĠĠ Ġ@ Parameterized Test ĊĠĠĠ Ġ@ Denied ĊĠĠĠ Ġfun Ġuser Cannot Open Pages ( user : ĠUser , Ġpath : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠOpen Page ( instance , Ġuser , Ġpath , ĠqueryParams ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. execute () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. then () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. assertThat () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. statusCode ( 4 0 4 ) ĊĠĠĠ Ġ} Ċ } Ċ