package Ġcom . github . nj uro . j ard Ċ Ċ import Ġcom . github . nj uro . j ard . attachment . Attachment Ċ import Ġcom . github . nj uro . j ard . attachment . Attachment Category Ċ import Ġcom . github . nj uro . j ard . attachment . Attachment Metadata Ċ import Ġcom . github . nj uro . j ard . attachment . Embed Data Ċ import Ġcom . github . nj uro . j ard . ban . Ban Ċ import Ġcom . github . nj uro . j ard . ban . Ban Status Ċ import Ġcom . github . nj uro . j ard . ban . Un ban Form Ċ import Ġcom . github . nj uro . j ard . ban . dto . Ban Form Ċ import Ġcom . github . nj uro . j ard . board . Board Ċ import Ġcom . github . nj uro . j ard . board . Board Settings Ċ import Ġcom . github . nj uro . j ard . board . dto . Board Form Ċ import Ġcom . github . nj uro . j ard . board . dto . Board Settings Dto Ċ import Ġcom . github . nj uro . j ard . common . Constants Ċ import Ġcom . github . nj uro . j ard . config . security . Json Username Password Authentication Filter Ċ import Ġcom . github . nj uro . j ard . post . Post Ċ import Ġcom . github . nj uro . j ard . post . dto . Post Form Ċ import Ġcom . github . nj uro . j ard . thread . Thread Ċ import Ġcom . github . nj uro . j ard . thread . dto . Thread Form Ċ import Ġcom . github . nj uro . j ard . user . User Ċ import Ġcom . github . nj uro . j ard . user . User Authority Ċ import Ġcom . github . nj uro . j ard . user . UserRole Ċ import Ġcom . github . nj uro . j ard . user . dto . CurrentUser Edit Dto Ċ import Ġcom . github . nj uro . j ard . user . dto . CurrentUser Password Edit Dto Ċ import Ġcom . github . nj uro . j ard . user . dto . Forgot Password Dto Ċ import Ġcom . github . nj uro . j ard . user . dto . Reset Password Dto Ċ import Ġcom . github . nj uro . j ard . user . dto . User Form Ċ import Ġcom . github . nj uro . j ard . user . token . User Token Ċ import Ġcom . github . nj uro . j ard . user . token . User TokenType Ċ import Ġorg . apache . commons . lang 3 . Random StringUtils Ċ import Ġorg . springframework . mock . web . Mock Multipart File Ċ import Ġjava . nio . file . Files Ċ import Ġjava . nio . file . Path Ċ import Ġjava . nio . file . Paths Ċ import Ġjava . time . Offset DateTime Ċ Ċ val ĠTEST _ RESOURCES _ FOLDER : ĠPath Ġ= ĠPaths . get (" src ", Ġ" test ", Ġ" resources ") Ċ val ĠTEST _ ATTACH MENTS _ FOLDER : ĠPath Ġ= ĠTEST _ RESOURCES _ FOLDER . resolve (" attachments ") Ċ Ċ const Ġval ĠTEST _ FOLDER _ NAME Ġ= Ġ" test " Ċ const Ġval ĠTEST _ ATTACHMENT _ PNG Ġ= Ġ" test _ attachment . png " Ċ const Ġval ĠTEST _ ATTACHMENT _ AV I Ġ= Ġ" test _ attachment . avi " Ċ const Ġval ĠTEST _ ATTACHMENT _ DOC X Ġ= Ġ" test _ attachment . docx " Ċ const Ġval ĠTEST _ ATTACHMENT _ PDF _ POR TRA IT Ġ= Ġ" test _ attachment _ portrait . pdf " Ċ const Ġval ĠTEST _ ATTACHMENT _ PDF _ LAND SC APE Ġ= Ġ" test _ attachment _ land scape . pdf " Ċ const Ġval ĠTEST _ ATTACHMENT _ G IF _ CORR UP TED Ġ= Ġ" test _ attachment _ cor rupted . gif " Ċ const Ġval ĠTEST _ ATTACHMENT _ MP 3 Ġ= Ġ" test _ attachment . mp 3 " Ċ const Ġval ĠTEST _ O EMB ED _ RESPONSE Ġ= Ġ" test _ o embed _ response . json " Ċ Ċ fun Ġboard ( ĊĠĠĠ Ġlabel : ĠString , ĊĠĠĠ Ġname : ĠString Ġ= Ġlabel , ĊĠĠĠ ĠcreatedAt : ĠOffset DateTime Ġ= ĠOffset DateTime . now (), ĊĠĠĠ Ġpage Count : ĠInt Ġ= Ġ 1 , ĊĠĠĠ Ġpost Counter : ĠLong Ġ= Ġ 1 L , ĊĠĠĠ Ġsettings : ĠBoard Settings Ġ= Ġboard Settings () Ċ ): ĠBoard Ġ= ĠBoard . builder () ĊĠĠĠ Ġ. label ( label ) ĊĠĠĠ Ġ. name ( name ) ĊĠĠĠ Ġ. createdAt ( createdAt ) ĊĠĠĠ Ġ. page Count ( page Count ) ĊĠĠĠ Ġ. post Counter ( post Counter ) ĊĠĠĠ Ġ. settings ( settings ) ĊĠĠĠ Ġ. build (). also Ġ{ Ġit . settings . board Ġ= Ġit ; Ġit . settings . board Id Ġ= Ġit . id Ġ} Ċ Ċ fun Ġboard Settings ( ĊĠĠĠ Ġattachment Categories : ĠSet < Attachment Category > Ġ= Ġempty Set (), ĊĠĠĠ Ġdefault Post er Name : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġforce Default Post er Name : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġbump Limit : ĠInt Ġ= Ġ 3 0 0 , ĊĠĠĠ Ġthread Limit : ĠInt Ġ= Ġ 2 0 0 , ĊĠĠĠ Ġcapt cha Enabled : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġcountry Flags : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġposter Thread Ids : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġn sf w : ĠBoolean Ġ= Ġfalse Ċ ): ĠBoard Settings Ġ= ĠBoard Settings . builder () ĊĠĠĠ Ġ. attachment Categories ( attachment Categories ) ĊĠĠĠ Ġ. default Post er Name ( default Post er Name ) ĊĠĠĠ Ġ. force Default Post er Name ( force Default Post er Name ) ĊĠĠĠ Ġ. bump Limit ( bump Limit ) ĊĠĠĠ Ġ. thread Limit ( thread Limit ) ĊĠĠĠ Ġ. captcha Enabled ( captcha Enabled ) ĊĠĠĠ Ġ. country Flags ( country Flags ) ĊĠĠĠ Ġ. poster Thread Ids ( poster Thread Ids ) ĊĠĠĠ Ġ. ns fw ( ns fw ) ĊĠĠĠ Ġ. build () Ċ Ċ fun Ġthread ( ĊĠĠĠ Ġboard : ĠBoard , ĊĠĠĠ ĠcreatedAt : ĠOffset DateTime Ġ= ĠOffset DateTime . now (), ĊĠĠĠ Ġlast Bump At : ĠOffset DateTime Ġ= ĠOffset DateTime . now (), ĊĠĠĠ Ġlast Reply At : ĠOffset DateTime Ġ= ĠOffset DateTime . now (), ĊĠĠĠ Ġlocked : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġstick ied : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġsubject : ĠString ? Ġ= Ġnull , Ċ ): ĠThread Ġ= ĠThread . builder () ĊĠĠĠ Ġ. board ( board ) ĊĠĠĠ Ġ. createdAt ( createdAt ) ĊĠĠĠ Ġ. last Bump At ( last Bump At ) ĊĠĠĠ Ġ. last Reply At ( last Reply At ) ĊĠĠĠ Ġ. locked ( locked ) ĊĠĠĠ Ġ. stick ied ( stick ied ) ĊĠĠĠ Ġ. subject ( subject ) ĊĠĠĠ Ġ. build (). also Ġ{ Ġit . original Post Ġ= Ġpost ( it ) Ġ} Ċ Ċ fun Ġpost ( ĊĠĠĠ Ġthread : ĠThread , ĊĠĠĠ Ġattachment : ĠAttachment ? Ġ= Ġnull , ĊĠĠĠ Ġbody : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġcap code : ĠUser Role ? Ġ= Ġnull , ĊĠĠĠ Ġname : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġip : ĠString Ġ= Ġ"", ĊĠĠĠ Ġcountry Code : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġcountry Name : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġpost Number : ĠLong Ġ= Ġ 1 L , ĊĠĠĠ Ġdeletion Code : ĠString Ġ= Ġ"", ĊĠĠĠ Ġtrip code : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġsage : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ ĠcreatedAt : ĠOffset DateTime Ġ= ĠOffset DateTime . now (), ĊĠĠĠ Ġposter Thread Id : ĠString ? Ġ= Ġnull Ċ ): ĠPost Ġ= ĠPost . builder () ĊĠĠĠ Ġ. thread ( thread ) ĊĠĠĠ Ġ. attachment ( attachment ) ĊĠĠĠ Ġ. body ( body ) ĊĠĠĠ Ġ. cap code ( cap code ) ĊĠĠĠ Ġ. name ( name ) ĊĠĠĠ Ġ. ip ( ip ) ĊĠĠĠ Ġ. country Code ( country Code ) ĊĠĠĠ Ġ. country Name ( country Name ) ĊĠĠĠ Ġ. post Number ( post Number ) ĊĠĠĠ Ġ. deletion Code ( deletion Code ) ĊĠĠĠ Ġ. trip code ( trip code ) ĊĠĠĠ Ġ. sage ( sage ) ĊĠĠĠ Ġ. createdAt ( createdAt ) ĊĠĠĠ Ġ. poster Thread Id ( poster Thread Id ) ĊĠĠĠ Ġ. build () Ċ Ċ fun Ġattachment ( ĊĠĠĠ Ġcategory : ĠAttachment Category Ġ= ĠAttachment Category . IMAGE , ĊĠĠĠ Ġfolder : ĠString Ġ= Ġ"", ĊĠĠĠ Ġoriginal Filename : ĠString Ġ= Ġ"", ĊĠĠĠ Ġfilename : ĠString Ġ= Ġ"", ĊĠĠĠ Ġthumbnail Filename : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġremote Storage Url : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġremote Storage Thumbnail Url : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġmetadata : ĠAttachment Metadata ? Ġ= Ġmetadata (), ĊĠĠĠ Ġembed Data : ĠEmbed Data ? Ġ= Ġnull , Ċ ): ĠAttachment Ġ= ĠAttachment . builder () ĊĠĠĠ Ġ. category ( category ) ĊĠĠĠ Ġ. folder ( folder ) ĊĠĠĠ Ġ. original Filename ( original Filename ) ĊĠĠĠ Ġ. filename ( filename ) ĊĠĠĠ Ġ. thumbnail Filename ( thumbnail Filename ) ĊĠĠĠ Ġ. remote Storage Url ( remote Storage Url ) ĊĠĠĠ Ġ. remote Storage Thumbnail Url ( remote Storage Thumbnail Url ) ĊĠĠĠ Ġ. metadata ( metadata ) ĊĠĠĠ Ġ. embed Data ( embed Data ) ĊĠĠĠ Ġ. build (). also Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( it . metadata Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . metadata . attachment Ġ= Ġit ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( it . embed Data Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . embed Data . attachment Ġ= Ġit ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ fun Ġmetadata ( ĊĠĠĠ ĠmimeType : ĠString Ġ= Ġ"", ĊĠĠĠ Ġwidth : ĠInt Ġ= Ġ 0 , ĊĠĠĠ Ġheight : ĠInt Ġ= Ġ 0 , ĊĠĠĠ Ġthumbnail Width : ĠInt Ġ= Ġ 0 , ĊĠĠĠ Ġthumbnail Height : ĠInt Ġ= Ġ 0 , ĊĠĠĠ ĠfileSize : ĠString Ġ= Ġ"", ĊĠĠĠ Ġduration : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġchecksum : ĠString Ġ= Ġ"" Ċ ): ĠAttachment Metadata Ġ= ĠAttachment Metadata . builder () ĊĠĠĠ Ġ. mime Type ( mime Type ) ĊĠĠĠ Ġ. width ( width ) ĊĠĠĠ Ġ. height ( height ) ĊĠĠĠ Ġ. thumbnail Width ( thumbnail Width ) ĊĠĠĠ Ġ. thumbnail Height ( thumbnail Height ) ĊĠĠĠ Ġ. file Size ( file Size ) ĊĠĠĠ Ġ. duration ( duration ) ĊĠĠĠ Ġ. checksum ( checksum ) ĊĠĠĠ Ġ. build () Ċ Ċ fun Ġembed Data ( ĊĠĠĠ Ġembed Url : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġthumbnail Url : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġprovider Name : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġup loader Name : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġrendered Html : ĠString ? Ġ= Ġnull Ċ ): ĠEmbed Data Ġ= ĠEmbed Data . builder () ĊĠĠĠ Ġ. embed Url ( embed Url ) ĊĠĠĠ Ġ. thumbnail Url ( thumbnail Url ) ĊĠĠĠ Ġ. provider Name ( provider Name ) ĊĠĠĠ Ġ. uploader Name ( uploader Name ) ĊĠĠĠ Ġ. rendered Html ( rendered Html ) ĊĠĠĠ Ġ. build () Ċ Ċ fun Ġuser ( ĊĠĠĠ Ġusername : ĠString Ġ= Ġ" user ", ĊĠĠĠ Ġemail : ĠString ? Ġ= Ġ"", ĊĠĠĠ Ġpassword : ĠString Ġ= Ġ" very secure password ", ĊĠĠĠ Ġlast Login : ĠOffset DateTime Ġ= ĠOffset DateTime . now (), ĊĠĠĠ Ġlast Login Ip : ĠString Ġ= Ġ"", ĊĠĠĠ ĠcreatedAt : ĠOffset DateTime Ġ= ĠOffset DateTime . now (), ĊĠĠĠ Ġregistration Ip : ĠString Ġ= Ġ" 1 2 7 . 0 . 0 . 1 ", ĊĠĠĠ Ġauthor ities : ĠSet < User Authority > Ġ= Ġempty Set (), ĊĠĠĠ Ġrole : ĠUser Role ? Ġ= ĠUser Role . USER , ĊĠĠĠ Ġenabled : ĠBoolean Ġ= Ġtrue Ċ ): ĠUser Ġ= ĠUser . builder () ĊĠĠĠ Ġ. username ( username ) ĊĠĠĠ Ġ. email ( email ) ĊĠĠĠ Ġ. password ( password ) ĊĠĠĠ Ġ. last Login ( last Login ) ĊĠĠĠ Ġ. last Login Ip ( last Login Ip ) ĊĠĠĠ Ġ. createdAt ( createdAt ) ĊĠĠĠ Ġ. registration Ip ( registration Ip ) ĊĠĠĠ Ġ. author ities ( author ities ) ĊĠĠĠ Ġ. role ( role ) ĊĠĠĠ Ġ. enabled ( enabled ) ĊĠĠĠ Ġ. build () Ċ Ċ fun Ġuser Token ( ĊĠĠĠ Ġuser : ĠUser , ĊĠĠĠ Ġvalue : ĠString , ĊĠĠĠ Ġtype : ĠUser TokenType Ġ= ĠUser TokenType . PASSWORD _ RESET , ĊĠĠĠ Ġissued At : ĠOffset DateTime Ġ= ĠOffset DateTime . now (), ĊĠĠĠ Ġexpiration At : ĠOffset DateTime Ġ= ĠOffset DateTime . now (), Ċ ): ĠUser Token Ġ= ĠUser Token . builder () ĊĠĠĠ Ġ. value ( value ) ĊĠĠĠ Ġ. user ( user ) ĊĠĠĠ Ġ. type ( type ) ĊĠĠĠ Ġ. iss ued At ( iss ued At ) ĊĠĠĠ Ġ. expiration At ( expiration At ) ĊĠĠĠ Ġ. build () Ċ Ċ fun Ġban ( ĊĠĠĠ Ġip : ĠString Ġ= Ġ" 1 2 7 . 0 . 0 . 1 ", ĊĠĠĠ Ġstatus : ĠB an Status Ġ= ĠB an Status . ACTIVE , ĊĠĠĠ Ġreason : ĠString Ġ= Ġ"", ĊĠĠĠ Ġb anned By : ĠUser ? Ġ= Ġnull , ĊĠĠĠ Ġun b anned By : ĠUser ? Ġ= Ġnull , ĊĠĠĠ Ġun ban Reason : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġvalid From : ĠOffset DateTime Ġ= ĠOffset DateTime . now (), ĊĠĠĠ Ġvalid To : ĠOffset DateTime ? Ġ= Ġnull Ċ ): ĠB an Ġ= ĠB an . builder () ĊĠĠĠ Ġ. ip ( ip ) ĊĠĠĠ Ġ. status ( status ) ĊĠĠĠ Ġ. reason ( reason ) ĊĠĠĠ Ġ. b anned By ( b anned By ) ĊĠĠĠ Ġ. un b anned By ( un b anned By ) ĊĠĠĠ Ġ. un ban Reason ( un ban Reason ) ĊĠĠĠ Ġ. valid From ( valid From ) ĊĠĠĠ Ġ. valid To ( valid To ) ĊĠĠĠ Ġ. build () Ċ Ċ fun Ġlogin Request ( ĊĠĠĠ Ġusername : ĠString , ĊĠĠĠ Ġpassword : ĠString , ĊĠĠĠ Ġremember Me : ĠBoolean Ġ= Ġfalse Ċ ): ĠJson Username Password Authentication Filter . Login Request Ġ= ĊĠĠĠ ĠJson Username Password Authentication Filter . Login Request . builder () ĊĠĠĠĠĠĠĠ Ġ. username ( username ) ĊĠĠĠĠĠĠĠ Ġ. password ( password ) ĊĠĠĠĠĠĠĠ Ġ. remember Me ( remember Me ) ĊĠĠĠĠĠĠĠ Ġ. build () Ċ Ċ fun Ġforgot Password Request ( ĊĠĠĠ Ġusername : ĠString , ĊĠĠĠ Ġip : ĠString Ġ= Ġ" 1 2 7 . 0 . 0 . 1 ", ĊĠĠĠ Ġuser Agent : ĠString Ġ= Ġ" test - user - agent ", ĊĠĠĠ Ġcapt cha Token : ĠString Ġ= Ġ"" Ċ ): ĠF orgot Password Dto Ġ= ĠF orgot Password Dto . builder () ĊĠĠĠ Ġ. username ( username ) ĊĠĠĠ Ġ. ip ( ip ) ĊĠĠĠ Ġ. userAgent ( userAgent ) ĊĠĠĠ Ġ. captcha Token ( captcha Token ) ĊĠĠĠ Ġ. build () Ċ Ċ fun Ġreset Password Request ( ĊĠĠĠ Ġpassword : ĠString , ĊĠĠĠ Ġpassword Repeated : ĠString Ġ= Ġpassword , ĊĠĠĠ Ġtoken : ĠString Ġ= Ġ"" Ċ ): ĠReset Password Dto Ġ= ĠReset Password Dto . builder () ĊĠĠĠ Ġ. password ( password ) ĊĠĠĠ Ġ. password Repeated ( password Repeated ) ĊĠĠĠ Ġ. token ( token ) ĊĠĠĠ Ġ. build () Ċ Ċ fun Ġuser Edit ( email : ĠString ): ĠCurrent User Edit Dto Ġ= ĠCurrent User Edit Dto . builder (). email ( email ). build () Ċ Ċ fun Ġpassword Edit ( ĊĠĠĠ Ġcurrent Password : ĠString ?, ĊĠĠĠ Ġnew Password : ĠString , ĊĠĠĠ Ġnew Password Repeated : ĠString Ġ= Ġnew Password Ċ ): ĠCurrent User Password Edit Dto Ġ= ĠCurrent User Password Edit Dto . builder () ĊĠĠĠ Ġ. current Password ( current Password ) ĊĠĠĠ Ġ. new Password ( new Password ) ĊĠĠĠ Ġ. new Password Repeated ( new Password Repeated ) ĊĠĠĠ Ġ. build () Ċ Ċ fun ĠBoard . to Form (): ĠBoard Form Ġ= ĠBoard Form . builder () ĊĠĠĠ Ġ. label ( label ) ĊĠĠĠ Ġ. name ( name ) ĊĠĠĠ Ġ. board Settings Form ( settings . to Form ()) ĊĠĠĠ Ġ. build () Ċ Ċ fun ĠBoard Settings . to Form (): ĠBoard Settings Dto Ġ= ĠBoard Settings Dto . builder () ĊĠĠĠ Ġ. attachment Categories ( attachment Categories ) ĊĠĠĠ Ġ. bump Limit ( bump Limit ) ĊĠĠĠ Ġ. captcha Enabled ( is Captcha Enabled ) ĊĠĠĠ Ġ. country Flags ( is Country Flags ) ĊĠĠĠ Ġ. default Post er Name ( default Post er Name ) ĊĠĠĠ Ġ. force Default Post er Name ( is Force Default Post er Name ) ĊĠĠĠ Ġ. ns fw ( is N sf w ) ĊĠĠĠ Ġ. poster Thread Ids ( is Post er Thread Ids ) ĊĠĠĠ Ġ. thread Limit ( thread Limit ) ĊĠĠĠ Ġ. build () Ċ Ċ fun ĠThread . to Form (): ĠThread Form Ġ= ĠThread Form . builder () ĊĠĠĠ Ġ. locked ( is Locked ) ĊĠĠĠ Ġ. stick ied ( is Stick ied ) ĊĠĠĠ Ġ. subject ( subject ) ĊĠĠĠ Ġ. post Form ( original Post ?. to Form ()) ĊĠĠĠ Ġ. build () Ċ Ċ fun ĠPost . to Form (): ĠPost Form Ġ= ĠPost Form . builder () ĊĠĠĠ Ġ. attachment ( null ) ĊĠĠĠ Ġ. body ( body ) ĊĠĠĠ Ġ. cap code ( cap code Ġ!= Ġnull ) ĊĠĠĠ Ġ. deletion Code ( deletion Code ) ĊĠĠĠ Ġ. captcha Token ( null ) ĊĠĠĠ Ġ. embed Url ( null ) ĊĠĠĠ Ġ. ip ( ip ) ĊĠĠĠ Ġ. name ( name ) ĊĠĠĠ Ġ. password ( null ) ĊĠĠĠ Ġ. sage ( is S age ) ĊĠĠĠ Ġ. build () Ċ Ċ fun ĠUser . to Form (): ĠUser Form Ġ= ĠUser Form . builder () ĊĠĠĠ Ġ. username ( username ) ĊĠĠĠ Ġ. email ( email ) ĊĠĠĠ Ġ. password ( password ) ĊĠĠĠ Ġ. password Repeated ( password ) ĊĠĠĠ Ġ. registration Ip ( registration Ip ) ĊĠĠĠ Ġ. role ( role ) ĊĠĠĠ Ġ. build () Ċ Ċ fun ĠB an . to Form (): ĠB an Form Ġ= ĠB an Form . builder () ĊĠĠĠ Ġ. ip ( ip ) ĊĠĠĠ Ġ. reason ( reason ) ĊĠĠĠ Ġ. valid To ( valid To ) ĊĠĠĠ Ġ. warning ( status Ġ== ĠB an Status . WARNING ) ĊĠĠĠ Ġ. build () Ċ Ċ fun ĠB an . to Un ban Form ( un ban Reason : ĠString Ġ= Ġ"") : ĠU nb an Form Ġ= ĠU nb an Form . builder () ĊĠĠĠ Ġ. ip ( ip ) ĊĠĠĠ Ġ. reason ( un ban Reason ) ĊĠĠĠ Ġ. build () Ċ Ċ fun Ġrandom String ( size : ĠInt ): ĠString Ġ= ĠRandom StringUtils . random ( size ) Ċ Ċ fun Ġmultipart File ( name : ĠString , Ġfilename : ĠString , Ġoriginal Filename : ĠString Ġ= Ġfilename ): ĠMock Multipart File Ġ{ ĊĠĠĠ Ġval Ġpath Ġ= ĠTEST _ ATTACH MENTS _ FOLDER . resolve ( filename ) ĊĠĠĠ Ġreturn ĠMock Multipart File ( ĊĠĠĠĠĠĠĠ Ġname , ĊĠĠĠĠĠĠĠ Ġoriginal Filename , ĊĠĠĠĠĠĠĠ ĠFiles . probe ContentType ( path ), ĊĠĠĠĠĠĠĠ ĠFiles . read All Bytes ( path ) ĊĠĠĠ Ġ) Ċ } Ċ Ċ fun Ġmultipart File ( name : ĠString , Ġsize : ĠInt ): ĠMock Multipart File Ġ{ ĊĠĠĠ Ġreturn ĠMock Multipart File ( ĊĠĠĠĠĠĠĠ Ġname , ĊĠĠĠĠĠĠĠ Ġ" filename ", ĊĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠ ĠByteArray ( size ) ĊĠĠĠ Ġ) Ċ } Ċ Ċ fun Ġattachment Path ( first : ĠString , Ġvar arg Ġmore : ĠString ): ĠPath Ġ= ĊĠĠĠ ĠConstants . USER _ CONTENT _ PATH . resolve ( Paths . get ( first , Ġ* more )) Ċ Ċ fun Ġtest Attachment Path ( first : ĠString , Ġvar arg Ġmore : ĠString ): ĠPath Ġ= ĊĠĠĠ ĠTEST _ ATTACH MENTS _ FOLDER . resolve ( Paths . get ( first , Ġ* more )) Ċ