/* Ċ Ġ* ĠCopyright Ġ 2 0 0 2 - 2 0 1 8 Ġthe Ġoriginal Ġauthor Ġor Ġauthors . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġorg . springframework . fu . k of u . web mvc Ċ Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . springframework . boot . Web Application Type Ċ import Ġorg . springframework . fu . k of u . application Ċ import Ġorg . springframework . fu . k of u . local Server Port Ċ import Ġorg . springframework . http . HttpHeaders Ċ import Ġorg . springframework . http . HttpMethod Ċ import Ġorg . springframework . http . HttpMethod .* Ċ import Ġorg . springframework . test . web . reactive . server . Web Test Client Ċ Ċ /** Ċ Ġ* Ġ@ author ĠSeb ast ien ĠDe le u ze Ċ Ġ*/ Ċ class ĠC ors Dsl Tests Ġ{ ĊĊ ĉ @ Test Ċ ĉ fun Ġ` Enable Ġcors Ġmodule Ġon Ġserver , Ġcreate Ġand Ġrequest Ġa ĠJSON Ġendpoint `() Ġ{ Ċĉ ĉ val Ġapp Ġ= Ġapplication ( Web Application Type . SERV LET ) Ġ{ Ċĉĉ ĉ web Mvc Ġ{ Ċĉĉĉ ĉ port Ġ= Ġ 0 Ċĉĉĉ ĉ router Ġ{ Ċĉĉĉĉ ĉ GET ("/") Ġ{ Ġno Content (). build () Ġ} Ċĉĉĉ ĉ } Ċĉĉĉ ĉ cors Ġ{ Ċĉĉĉĉ ĉ "/ api " Ġ{ Ċĉĉĉĉĉ ĉ allowed Orig ins Ġ= ĠlistOf (" first . example . com ", Ġ" second . example . com ") Ċĉĉĉĉĉ ĉ allowed Methods Ġ= ĠlistOf (" GET ", Ġ" PUT ", Ġ" POST ", Ġ" DELETE ") Ċĉĉĉĉ ĉ } Ċĉĉĉĉ ĉ "/ public " Ġ{ Ċĉĉĉĉĉ ĉ allowed Origin Ġ= Ġ"*" Ċĉĉĉĉĉ ĉ allowed Method Ġ= Ġ" GET " Ċĉĉĉĉ ĉ } Ċĉĉĉĉ ĉ " full Config " Ġ{ Ċĉĉĉĉĉ ĉ allowed Origin Ġ= Ġ" full . config . example . com " Ċĉĉĉĉĉ ĉ allowed Method Ġ= Ġ" GET " Ċĉĉĉĉĉ ĉ allowed Header Ġ= Ġ"*" Ċĉĉĉĉĉ ĉ ex posed Header Ġ= Ġ" Content - Location " Ċĉĉĉĉĉ ĉ allow Credentials Ġ= Ġtrue Ċĉĉĉĉĉ ĉ max Age Ġ= Ġ 3 6 0 0 Ċĉĉĉĉ ĉ } Ċĉĉĉ ĉ } Ċĉĉ ĉ } Ċĉ ĉ } Ċĉ ĉ with ( app . run ()) Ġ{ Ċĉĉ ĉ assert ( contains Bean (" cors Filter ")) Ċĉĉ ĉ val Ġclient Ġ= ĠWeb Test Client . bind ToServer (). baseUrl (" http :// 1 2 7 . 0 . 0 . 1 :$ local Server Port "). build () Ċĉĉ ĉ client . get (). uri ("/ "). exchange (). expect Status (). is 2 xx Successful Ċĉĉ ĉ close () Ċĉ ĉ } Ċ ĉ } Ċ } ĊĊĊ