package Ġcom . gl ance bar . api boilerplate . repository Ċ Ċ import Ġcom . gl ance bar . api boilerplate . entity . Authority Entity Ċ import Ġcom . gl ance bar . api boilerplate . entity . Gender Enum Ċ import Ġcom . gl ance bar . api boilerplate . entity . Role Entity Ċ import Ġcom . gl ance bar . api boilerplate . entity . User Entity Ċ import Ġcom . gl ance bar . api boilerplate . utils . Log Ċ import Ġorg . junit . jupiter . api .* Ċ import Ġorg . junit . jupiter . api . Assertions .* Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ import Ġorg . springframework . boot . test . context . SpringBootTest Ċ import Ġorg . springframework . security . crypto . password . Password Encoder Ċ import Ġjava . time . LocalDate ĊĊ Ċ /** Ċ Ġ* Ċ Ġ* Ġ@ author ĠY IS EN ĠC AI Ċ Ġ* Ġ@ date Ġ 2 0 2 0 / 1 2 / 1 8 Ċ Ġ*/ Ċ @ SpringBootTest Ċ @ TestMethod Order ( Method Order er . Order Annotation :: class ) Ċ @ Test Instance ( Test Instance . Lifecycle . PER _ CLASS ) Ċ class ĠUser Repository Test Ġ{ ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġlateinit Ġvar Ġuser Repository : ĠUser Repository ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġlateinit Ġvar Ġpassword Encoder : ĠPassword Encoder ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġlateinit Ġvar Ġrole Repository : ĠRole Repository ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġlateinit Ġvar Ġauthority Repository : ĠAuthor ity Repository ĊĊĠĠĠ Ġcompanion Ġobject Ġ: ĠLog () ĊĊĠĠĠ Ġvar Ġrole Result : ĠRole Entity ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġauthority Result : ĠAuthor ity Entity ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġuser Result : ĠUser Entity ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Order ( 1 ) ĊĠĠĠ Ġinternal Ġfun Ġadd Authority () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġauthority Ġ= ĠAuthor ity Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" TEST _ AUTH ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" This Ġis Ġauthority " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġauthority Result Ġ= Ġauthority Repository . save ( authority ) ĊĠĠĠĠĠĠĠ ĠassertNotNull ( authority Result ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Order ( 2 ) ĊĠĠĠ Ġinternal Ġfun Ġadd Role () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrole Ġ= ĠRole Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" ROLE _ ROLE ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" This Ġis Ġa Ġrole ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġauthor ities Ġ= Ġmutable Set Of ( authority Result !! ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġrole Result Ġ= Ġrole Repository . save ( role ) ĊĠĠĠĠĠĠĠ ĠassertNotNull ( role Result ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Order ( 3 ) ĊĠĠĠ Ġinternal Ġfun Ġadd User () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠUser Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġusername Ġ= Ġ" test ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpassword Ġ= Ġpassword Encoder . encode (" 1 2 3 4 5 6 "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbirthday Ġ= ĠLocalDate . now (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgender Ġ= ĠGender Enum . M ALE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġroles Ġ= Ġmutable Set Of ( role Result !! ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġauthor ities Ġ= Ġmutable Set Of ( authority Result !! ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġuser Result Ġ= Ġuser Repository . save ( user ) ĊĠĠĠĠĠĠĠ ĠassertNotNull ( user Result ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Order ( 4 ) ĊĠĠĠ Ġinternal Ġfun ĠgetUser () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġuser Repository . find Top ById ( user Result !!. id !! ) ĊĠĠĠĠĠĠĠ ĠassertNotNull ( result ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Order ( 5 ) ĊĠĠĠ Ġinternal Ġfun Ġget Users () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresults Ġ= Ġuser Repository . findAll () ĊĠĠĠĠĠĠĠ ĠassertTrue ( results . size Ġ> Ġ 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Order ( 6 ) ĊĠĠĠ Ġinternal Ġfun Ġupdate User () Ġ{ ĊĠĠĠĠĠĠĠ Ġuser Result !!. username Ġ= Ġ" hello " ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġuser Repository . save ( user Result !! ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( user Result !!. id , Ġresult . id ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( user Result !!. username , Ġresult . username ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Order ( 7 ) ĊĠĠĠ Ġinternal Ġfun Ġdelete User () Ġ{ ĊĠĠĠĠĠĠĠ Ġuser Repository . delete ById ( user Result !!. id !! ) ĊĠĠĠĠĠĠĠ ĠassertNull ( user Repository . find Top ById Equals ( user Result !!. id !! )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġinternal Ġfun Ġdelete Role And Authority () Ġ{ ĊĠĠĠĠĠĠĠ Ġrole Repository . delete ById ( role Result !!. id !! ) ĊĠĠĠĠĠĠĠ Ġauthority Repository . delete ById ( authority Result !!. id !! ) ĊĠĠĠ Ġ} Ċ }