/******************************************************************************* Ċ Ġ* ĠCopyright Ġ 2 0 1 8 ĠGeneral ĠE lectric ĠCompany Ċ Ġ* Ċ Ġ* Ġ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 . Ċ Ġ* Ċ Ġ* ĠSPDX - License - Identifier : ĠApache - 2 . 0 Ċ Ġ************************************************************************* ******/ Ċ Ċ package Ġorg . eclipse . ket i . integration . test Ċ Ċ import Ġcom . fasterxml . jackson . core . Json ParseException Ċ import Ġcom . fasterxml . jackson . databind . Json Mapping Exception Ċ import Ġorg . eclipse . ket i . acs . model . Attribute Ċ import Ġorg . eclipse . ket i . acs . model . Effect Ċ import Ġorg . eclipse . ket i . acs . rest . Base Resource Ċ import Ġorg . eclipse . ket i . acs . rest . Base Subject Ċ import Ġorg . eclipse . ket i . acs . rest . Parent Ċ import Ġorg . eclipse . ket i . acs . rest . Policy Evaluation Result Ċ import Ġorg . eclipse . ket i . test . utils . ACS IT SetUp Factory Ċ import Ġorg . eclipse . ket i . test . utils . ACS _ POLICY _ EVAL _ API _ PATH Ċ import Ġorg . eclipse . ket i . test . utils . Policy Helper Ċ import Ġorg . eclipse . ket i . test . utils . Privilege Helper Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ import Ġorg . springframework . http . Http Entity Ċ import Ġorg . springframework . http . HttpHeaders Ċ import Ġorg . springframework . http . HttpStatus Ċ import Ġorg . springframework . security . oauth 2 . client . OAuth 2 Rest Template Ċ import Ġorg . springframework . test . context . Context Configuration Ċ import Ġorg . springframework . test . context . testng . Abstract Test NG Spring Context Tests Ċ import Ġorg . testng . Assert Ċ import Ġorg . testng . annotations . After Class Ċ import Ġorg . testng . annotations . After Method Ċ import Ġorg . testng . annotations . BeforeClass Ċ import Ġorg . testng . annotations . Test Ċ import Ġjava . io . IOException Ċ import Ġjava . util . HashSet Ċ Ċ private Ġconst Ġval ĠISS U ER _ URI Ġ= Ġ" acs . example . org " Ċ private Ġval ĠTOP _ SECRET _ CLAS SIF ICATION Ġ= ĠAttribute ( ĊĠĠĠ ĠISS U ER _ URI , Ġ" classification ", ĊĠĠĠ Ġ" top Ġsecret " Ċ ) Ċ private Ġval ĠSPECIAL _ AGENT S _ GROUP _ ATTRIBUTE Ġ= ĠAttribute ( ĊĠĠĠ ĠISS U ER _ URI , Ġ" group ", ĊĠĠĠ Ġ" special - agents " Ċ ) Ċ Ċ private Ġconst Ġval ĠF BI Ġ= Ġ" fb i " Ċ private Ġconst Ġval ĠSPECIAL _ AGENT S _ GROUP Ġ= Ġ" special - agents " Ċ private Ġconst Ġval ĠAG ENT _ MUL DER Ġ= Ġ" mul der " Ċ private Ġconst Ġval ĠAG ENT _ SC ULL Y Ġ= Ġ" sc ull y " Ċ const Ġval ĠE VID ENCE _ SC ULL YS _ TEST IM ONY _ ID Ġ= Ġ"/ evidence / sc ull ys - test im ony " Ċ Ċ @ Context Configuration (" classpath : integration - test - spring - context . xml ") Ċ class ĠPolicy Eval Caching With Graph DB IT Ġ: ĠAbstract Test NG Spring Context Tests () Ġ{ ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġpolicy Helper : ĠPolicy Helper ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġprivilege Helper : ĠPriv ilege Helper ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġac sit SetUp Factory : ĠA CS IT SetUp Factory ĊĊĠĠĠ Ġprivate Ġvar Ġac s Admin Rest Template : ĠOAuth 2 Rest Template ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġac s Zone 1 Headers : ĠHttp Headers ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġac s Url : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ BeforeClass ĊĠĠĠ Ġ@ Throws ( Json ParseException :: class , ĠJson Mapping Exception :: class , ĠIOException :: class ) ĊĠĠĠ Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ Ġac sit SetUp Factory . setUp () ĊĠĠĠĠĠĠĠ Ġac s Zone 1 Headers Ġ= Ġac sit SetUp Factory . zone 1 Headers ĊĠĠĠĠĠĠĠ Ġac s Admin Rest Template Ġ= Ġac sit SetUp Factory . acs Zone Admin Rest Template ĊĠĠĠĠĠĠĠ Ġac s Url Ġ= Ġac sit SetUp Factory . acs Url ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After Method ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun Ġcleanup () Ġ{ ĊĠĠĠĠĠĠĠ Ġprivilege Helper . delete Resources ( acs Admin Rest Template !! , Ġac s Url !! , Ġac s Zone 1 Headers !! ) ĊĠĠĠĠĠĠĠ Ġprivilege Helper . delete Subject s ( acs Admin Rest Template !! , Ġac s Url !! , Ġac s Zone 1 Headers !! ) ĊĠĠĠĠĠĠĠ Ġpolicy Helper . delete Policy Sets ( acs Admin Rest Template !! , Ġac s Url !! , Ġac s Zone 1 Headers !! ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġtest Ġmakes Ġsure Ġthat Ġcached Ġpolicy Ġevaluation Ġresults Ġare Ġproperly Ġinvalid ated Ġfor Ġa Ġsubject Ġand Ġits ĊĠĠĠĠ Ġ* Ġdesc endants , Ġwhen Ġattributes Ġare Ġchanged Ġfor Ġthe Ġparent Ġsubject . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun Ġtest Policy Eval Cache Invalid ation When Subject Parent Changes () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġf bi Ġ= ĠBase Subject ( FB I ) ĊĊĠĠĠĠĠĠĠ Ġval Ġspecial Agents Group Ġ= ĠBase Subject ( SPECIAL _ AGENT S _ GROUP ) ĊĠĠĠĠĠĠĠ Ġspecial Agents Group ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. parents Ġ= ĠHashSet ( listOf ( Parent ( fb i . subject Identifier !! ))) ĊĊĠĠĠĠĠĠĠ Ġval Ġagent Mul der Ġ= ĠBase Subject ( AGENT _ MUL DER ) ĊĠĠĠĠĠĠĠ Ġagent Mul der . parents Ġ= ĠHashSet ( listOf ( Parent ( special Agents Group . subject Identifier !! ))) ĊĊĠĠĠĠĠĠĠ Ġval Ġagent Sc ull y Ġ= ĠBase Subject ( AGENT _ SC ULL Y ) ĊĠĠĠĠĠĠĠ Ġagent Sc ull y . parents Ġ= ĠHashSet ( listOf ( Parent ( special Agents Group . subject Identifier !! ))) ĊĊĠĠĠĠĠĠĠ Ġval Ġsc ull ys Test im ony Ġ= ĠBase Resource ( E VID ENCE _ SC ULL YS _ TEST IM ONY _ ID ) ĊĊĠĠĠĠĠĠĠ Ġval Ġmul der Policy Evaluation Request Ġ= Ġpolicy Helper ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. create Eval Request (" GET ", Ġagent Mul der . subject Identifier , ĠE VID ENCE _ SC ULL YS _ TEST IM ONY _ ID , Ġnull ) ĊĠĠĠĠĠĠĠ Ġval Ġsc ull y Policy Evaluation Request Ġ= Ġpolicy Helper ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. create Eval Request (" GET ", Ġagent Sc ull y . subject Identifier , ĠE VID ENCE _ SC ULL YS _ TEST IM ONY _ ID , Ġnull ) ĊĊĠĠĠĠĠĠĠ Ġval Ġendpoint Ġ= Ġac s Url ĊĊĠĠĠĠĠĠĠ Ġ// ĠSet Ġup Ġf bi Ġ<-- Ġspecial Agents Group Ġ<-- Ġ( agent Mul der , Ġagent Sc ull y ) Ġsubject Ġhierarchy ĊĠĠĠĠĠĠĠ Ġprivilege Helper . put Subject ( acs Admin Rest Template !! , Ġf bi , Ġendpoint , Ġac s Zone 1 Headers !! ) ĊĠĠĠĠĠĠĠ Ġprivilege Helper . put Subject ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġac s Admin Rest Template !! , Ġspecial Agents Group , Ġendpoint , Ġac s Zone 1 Headers !! , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSPECIAL _ AGENT S _ GROUP _ ATTRIBUTE ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġprivilege Helper . put Subject ( acs Admin Rest Template !! , Ġagent Mul der , Ġendpoint , Ġac s Zone 1 Headers !! ) ĊĠĠĠĠĠĠĠ Ġprivilege Helper . put Subject ( acs Admin Rest Template !! , Ġagent Sc ull y , Ġendpoint , Ġac s Zone 1 Headers !! ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠSet Ġup Ġresource ĊĠĠĠĠĠĠĠ Ġprivilege Helper . put Resource ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġac s Admin Rest Template !! , Ġsc ull ys Test im ony , Ġendpoint !! , Ġac s Zone 1 Headers !! , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSPECIAL _ AGENT S _ GROUP _ ATTRIBUTE , ĠTOP _ SECRET _ CLAS SIF ICATION ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠSet Ġup Ġpolicy ĊĠĠĠĠĠĠĠ Ġval Ġpolicy File Ġ= Ġ" src / test / resources / policies / complete - sample - policy - set - 2 . json " ĊĠĠĠĠĠĠĠ Ġpolicy Helper . set Test Policy ( acs Admin Rest Template !! , Ġac s Zone 1 Headers !! , Ġendpoint , Ġpolicy File ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠVerify Ġthat Ġpolicy Ġis Ġevaluated Ġto ĠD EN Y Ġsince Ġtop Ġsecret Ġclassification Ġis Ġnot Ġset ĊĠĠĠĠĠĠĠ Ġvar Ġpost For Entity Ġ= Ġac s Admin Rest Template !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. post For Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġendpoint Ġ+ ĠA CS _ POLICY _ EVAL _ API _ PATH , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHttp Entity ( mul der Policy Evaluation Request , Ġac s Zone 1 Headers ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPolicy Evaluation Result :: class . java ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( post For Entity . statusCode , ĠHttpStatus . OK ) ĊĠĠĠĠĠĠĠ Ġvar Ġresponse Body Ġ= Ġpost For Entity . body ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( response Body . effect , ĠEffect . DEN Y ) ĊĊĠĠĠĠĠĠĠ Ġpost For Entity Ġ= Ġac s Admin Rest Template !!. post For Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġendpoint Ġ+ ĠA CS _ POLICY _ EVAL _ API _ PATH , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHttp Entity ( sc ull y Policy Evaluation Request , Ġac s Zone 1 Headers ), ĠPolicy Evaluation Result :: class . java ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( post For Entity . statusCode , ĠHttpStatus . OK ) ĊĠĠĠĠĠĠĠ Ġresponse Body Ġ= Ġpost For Entity . body ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( response Body . effect , ĠEffect . DEN Y ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠChange Ġparent Ġsubject Ġto Ġadd Ġtop Ġsecret Ġclassification ĊĠĠĠĠĠĠĠ Ġprivilege Helper . put Subject ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġac s Admin Rest Template !! , Ġspecial Agents Group , Ġendpoint , Ġac s Zone 1 Headers !! , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSPECIAL _ AGENT S _ GROUP _ ATTRIBUTE , ĠTOP _ SECRET _ CLAS SIF ICATION ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠVerify Ġthat Ġpolicy Ġis Ġevaluated Ġto ĠPER MIT Ġsince Ġtop Ġsecret Ġclassification Ġis Ġnow Ġprop og ated Ġfrom Ġthe Ġparent ĊĠĠĠĠĠĠĠ Ġpost For Entity Ġ= Ġac s Admin Rest Template !!. post For Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġendpoint Ġ+ ĠA CS _ POLICY _ EVAL _ API _ PATH , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHttp Entity ( mul der Policy Evaluation Request , Ġac s Zone 1 Headers ), ĠPolicy Evaluation Result :: class . java ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( post For Entity . statusCode , ĠHttpStatus . OK ) ĊĠĠĠĠĠĠĠ Ġresponse Body Ġ= Ġpost For Entity . body ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( response Body . effect , ĠEffect . PER MIT ) ĊĊĠĠĠĠĠĠĠ Ġpost For Entity Ġ= Ġac s Admin Rest Template !!. post For Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġendpoint Ġ+ ĠA CS _ POLICY _ EVAL _ API _ PATH , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHttp Entity ( sc ull y Policy Evaluation Request , Ġac s Zone 1 Headers ), ĠPolicy Evaluation Result :: class . java ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( post For Entity . statusCode , ĠHttpStatus . OK ) ĊĠĠĠĠĠĠĠ Ġresponse Body Ġ= Ġpost For Entity . body ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( response Body . effect , ĠEffect . PER MIT ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġtest Ġmakes Ġsure Ġthat Ġcached Ġpolicy Ġevaluation Ġresults Ġare Ġproperly Ġinvalid ated Ġfor Ġa Ġresource Ġand Ġits ĊĠĠĠĠ Ġ* Ġdesc endants , Ġwhen Ġattributes Ġare Ġchanged Ġfor Ġthe Ġparent Ġresource . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun Ġtest Policy Eval Cache Invalid ation When Resource Parent Changes () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgrand parent Resource Ġ= ĠBase Resource ("/ sec ured - by - value / sites / east - bay ") ĊĠĠĠĠĠĠĠ Ġval Ġparent Resource Ġ= ĠBase Resource ("/ sec ured - by - value / sites / san ram on ") ĊĠĠĠĠĠĠĠ Ġval Ġchild Resource Ġ= ĠBase Resource ("/ sec ured - by - value / sites / base ment ") ĊĊĠĠĠĠĠĠĠ Ġparent Resource . parents Ġ= ĠHashSet ( listOf ( Parent ( grand parent Resource . resource Identifier !! ))) ĊĊĠĠĠĠĠĠĠ Ġchild Resource . parents Ġ= ĠHashSet ( listOf ( Parent ( parent Resource . resource Identifier !! ))) ĊĊĠĠĠĠĠĠĠ Ġval Ġagent Mul der Ġ= ĠBase Subject ( AGENT _ MUL DER ) ĊĊĠĠĠĠĠĠĠ Ġval Ġsan ram on Policy Evaluation Request Ġ= Ġpolicy Helper ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. create Eval Request ( agent Mul der . subject Identifier !! , Ġ" san ram on ") ĊĊĠĠĠĠĠĠĠ Ġval Ġbase ment Policy Evaluation Request Ġ= Ġpolicy Helper ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. create Eval Request ( agent Mul der . subject Identifier !! , Ġ" base ment ") ĊĊĠĠĠĠĠĠĠ Ġval Ġendpoint Ġ= Ġac s Url ĊĊĠĠĠĠĠĠĠ Ġprivilege Helper . put Resource ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġac s Admin Rest Template !! , Ġgrand parent Resource , Ġendpoint !! , Ġac s Zone 1 Headers !! , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivilege Helper . default Org Attribute ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġprivilege Helper . put Resource ( acs Admin Rest Template !! , Ġparent Resource , Ġendpoint , Ġac s Zone 1 Headers !! ) ĊĠĠĠĠĠĠĠ Ġprivilege Helper . put Resource ( acs Admin Rest Template !! , Ġchild Resource , Ġendpoint , Ġac s Zone 1 Headers !! ) ĊĠĠĠĠĠĠĠ Ġprivilege Helper . put Subject ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġac s Admin Rest Template !! , Ġagent Mul der , Ġendpoint , Ġac s Zone 1 Headers !! , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivilege Helper . default Attribute , Ġprivilege Helper . default Org Attribute ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġpolicy File Ġ= Ġ" src / test / resources / policies / single - org - based . json " ĊĠĠĠĠĠĠĠ Ġpolicy Helper . set Test Policy ( acs Admin Rest Template !! , Ġac s Zone 1 Headers !! , Ġendpoint , Ġpolicy File ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠSubject Ġpolicy Ġevaluation Ġrequest Ġfor Ġsite Ġ" san ram on " ĊĠĠĠĠĠĠĠ Ġvar Ġpost For Entity Ġ= Ġac s Admin Rest Template !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. post For Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġendpoint Ġ+ ĠA CS _ POLICY _ EVAL _ API _ PATH , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHttp Entity ( san ram on Policy Evaluation Request , Ġac s Zone 1 Headers ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPolicy Evaluation Result :: class . java ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( post For Entity . statusCode , ĠHttpStatus . OK ) ĊĠĠĠĠĠĠĠ Ġvar Ġresponse Body Ġ= Ġpost For Entity . body ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( response Body . effect , ĠEffect . PER MIT ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠSubject Ġpolicy Ġevaluation Ġrequest Ġfor Ġsite Ġ" base ment " ĊĠĠĠĠĠĠĠ Ġpost For Entity Ġ= Ġac s Admin Rest Template !!. post For Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġendpoint Ġ+ ĠA CS _ POLICY _ EVAL _ API _ PATH , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHttp Entity ( base ment Policy Evaluation Request , Ġac s Zone 1 Headers ), ĠPolicy Evaluation Result :: class . java ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( post For Entity . statusCode , ĠHttpStatus . OK ) ĊĠĠĠĠĠĠĠ Ġresponse Body Ġ= Ġpost For Entity . body ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( response Body . effect , ĠEffect . PER MIT ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠChange Ġgrand parent Ġresource Ġattributes Ġfrom ĠDefault Org Attribute Ġto ĠAltern ate Org Attribute ĊĠĠĠĠĠĠĠ Ġprivilege Helper . put Resource ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġac s Admin Rest Template !! , Ġgrand parent Resource , Ġendpoint , Ġac s Zone 1 Headers !! , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivilege Helper . alternate Org Attribute ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠSubject Ġpolicy Ġevaluation Ġrequest Ġfor Ġsite Ġ" san ram on " ĊĠĠĠĠĠĠĠ Ġpost For Entity Ġ= Ġac s Admin Rest Template !!. post For Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġendpoint Ġ+ ĠA CS _ POLICY _ EVAL _ API _ PATH , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHttp Entity ( san ram on Policy Evaluation Request , Ġac s Zone 1 Headers ), ĠPolicy Evaluation Result :: class . java ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( post For Entity . statusCode , ĠHttpStatus . OK ) ĊĠĠĠĠĠĠĠ Ġresponse Body Ġ= Ġpost For Entity . body ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( response Body . effect , ĠEffect . NOT _ AP PL IC ABLE ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠSubject Ġpolicy Ġevaluation Ġrequest Ġfor Ġsite Ġ" base ment " ĊĠĠĠĠĠĠĠ Ġpost For Entity Ġ= Ġac s Admin Rest Template !!. post For Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġendpoint Ġ+ ĠA CS _ POLICY _ EVAL _ API _ PATH , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHttp Entity ( base ment Policy Evaluation Request , Ġac s Zone 1 Headers ), ĠPolicy Evaluation Result :: class . java ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( post For Entity . statusCode , ĠHttpStatus . OK ) ĊĠĠĠĠĠĠĠ Ġresponse Body Ġ= Ġpost For Entity . body ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( response Body . effect , ĠEffect . NOT _ AP PL IC ABLE ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After Class ĊĠĠĠ Ġfun Ġdestroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġac sit SetUp Factory . destroy () ĊĠĠĠ Ġ} Ċ } Ċ