package Ġcom . server . repository Ċ Ċ import Ġcom . server . My SpringBootTest Ċ import Ġcom . server . repository . user . User Ċ import Ġcom . server . repository . user . UserRepository Ċ import Ġorg . junit . After Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Assert . assertNotNull Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ import Ġorg . springframework . data . repository . findById OrNull Ċ import Ġorg . springframework . test . context . junit 4 . Spring Runner Ċ Ċ @ RunWith ( Spring Runner :: class ) Ċ @ My SpringBootTest Ċ class ĠUser Repository Test Ġ{ ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġuser Repository : ĠUser Repository ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ Ġuser Repository . delete All () ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġuser Repository . count ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After ĊĠĠĠ Ġfun Ġcleanup () Ġ{ ĊĠĠĠĠĠĠĠ Ġuser Repository . delete All () ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġuser Repository . count ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Store Load () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġauthor ities Ġ= ĠlistOf (" USER ") ĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠUser (" username ", Ġ" pw ") ĊĠĠĠĠĠĠĠ Ġuser . gr anted Author ities Ġ= Ġauthor ities ĊĠĠĠĠĠĠĠ ĠassertNotNull ( user Repository . save ( user ). id ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġuser Repository . count ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġloaded Ġ= Ġuser Repository . findById OrNull ( user . id ) ĊĠĠĠĠĠĠĠ ĠassertNotNull ( loaded ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( user . id , Ġloaded ?. id ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( user . username , Ġloaded ?. username ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( user . password , Ġloaded ?. password ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( author ities . size , Ġloaded ?. gr anted Author ities ?. size ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( user . id , Ġuser Repository . findBy Username ( user . username )?. id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Update () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠUser (" username ", Ġ" pw ") ĊĠĠĠĠĠĠĠ ĠassertNotNull ( user Repository . save ( user ). id ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġuser Repository . count ()) ĊĊĠĠĠĠĠĠĠ Ġuser . username Ġ= Ġ" updated - username - 1 " ĊĠĠĠĠĠĠĠ Ġuser Repository . save ( user ) Ġ// Ġsave Ġupdates Ġ( insert Ġwould Ġcreate Ġa Ġnew Ġdatabase Ġobject ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġuser Repository . count ()) ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" updated - username - 1 ", Ġuser Repository . findById OrNull ( user . id )?. username ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Remove () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġuser 1 Ġ= ĠUser (" username 1 ", Ġ" pw 1 ") ĊĠĠĠĠĠĠĠ ĠassertNotNull ( user Repository . save ( user 1 ). id ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġuser Repository . count ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġuser 2 Ġ= ĠUser (" username 2 ", Ġ" pw 2 ") ĊĠĠĠĠĠĠĠ ĠassertNotNull ( user Repository . save ( user 2 ). id ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġuser Repository . count ()) ĊĊĠĠĠĠĠĠĠ Ġuser Repository . delete ById (" unknown - id ") ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġuser Repository . count ()) ĊĠĠĠĠĠĠĠ Ġuser Repository . delete ( user 1 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġuser Repository . count ()) ĊĠĠĠĠĠĠĠ Ġuser Repository . delete ById ( user 2 . id ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġuser Repository . count ()) ĊĠĠĠ Ġ} Ċ }