From b5116514c3f145470f684fdc17c488043df63c6d Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Wed, 18 Oct 2023 01:03:57 +0000 Subject: [PATCH] add invalid api function tests --- tests/Controller/Api/test.pdf | 192 ++++++++++++++++++++-------------- 1 file changed, 116 insertions(+), 76 deletions(-) diff --git a/tests/Controller/Api/test.pdf b/tests/Controller/Api/test.pdf index 4a7256a..aa20ff1 100644 --- a/tests/Controller/Api/test.pdf +++ b/tests/Controller/Api/test.pdf @@ -1,76 +1,116 @@ -%PDF-1.5 -%µí®û -3 0 obj -<< /Length 4 0 R - /Filter /FlateDecode ->> -stream -xœmPËjÄ0 ¼û+æœX²å” -½·`è9 -›…BC“ìÿSy“@ ‹i¥ÑØ‹yÇb\Ç‘S()ŽJTâ)Ő°^Ñ×ÍøˆìÂ6Å‚õ‚é>ýàâ³Yп -·Ûe1nèÛ8Ÿb”u ˜¶…]͐ð̝hL°‘N5uFê¨Y”Â$II–œ9ü±øRMÈpz4‘úâ$÷I´«~›~²Î:êdžœs¤`…W…(âQKG-+Êsý2¯uÿª»ü¿•´×4IŒ]&F{ƒ•ñ¦I|<åÍ/ΐUe -endstream -endobj -4 0 obj - 224 -endobj -2 0 obj -<< - /ExtGState << - /a0 << /CA 1 /ca 1 >> - >> - /Pattern << /p5 5 0 R >> - /Font << - /f-0-0 6 0 R - >> ->> -endobj -7 0 obj -<< /Type /Page - /Parent 1 0 R - /MediaBox [ 0 0 595 841 ] - /Contents 3 0 R - /Group << - /Type /Group - /S /Transparency - /CS /DeviceRGB - >> - /Resources 2 0 R ->> -endobj -9 0 obj -<< /Length 10 0 R - /Filter /FlateDecode - /Type /XObject - /Subtype /Image - /Width 565 - /Height 532 - /ColorSpace /DeviceGray - /BitsPerComponent 8 ->> -stream -xœíÝg`TÅ೩$t’ÐbB/RB•""Ò»€¨x ýZP@PE”&R¤Di"A@/HÔJ!m³¹ H`“ìî™™÷œ9ßó[6ûͼîœ2EQ´Ä¹dß Á#?ïVÓýMˆ8y–èÔiûºÓIÜ -ýß¶ÖÎèïD4¬TÙFÝ^ŒKJçÞ¶éýZV+žýíˆÖöê4ãêù¤ŒÄŸÝüÝçÝjåBO¢ Îî~ín<~2É’abžŠ8¾sz6Wô7&P~¥Í›wþŠ -qyæjÊhUã%wôw'ây7ïöí´#§ì‰KÚÑê䚩ëçFWADqÍ×jÒ÷¡Ñvý¾X~üïõ_µñótCWD¸*X­ñŒ£{UçåKlô™eýè7GR^~çJŒa˜g6OÞ½N!t…„)Ÿj Nœ3s Ì·OïÙ0¡{%t©„W¿®}¸Ë5/iœmá‚®˜¨S®Gïe¡¢òòØýùÙÑUG™JõØ¸ä¢ØÀ<öm~tíĹ+}¸ü¶ú›jýRI1¡[€Ø)GÓÕwQyäÒGè& öq}eS442)fE7±]öú¿ŸE'&ÅÝ¢4Dé„GûMÂn®³p º1ˆM:ˆBgå™;_н·æyô›»_²nG ¡4-ÇÇÐyÑå²èf!ó³«Îô@· É@éV Ó‘¡‰ôxX‹J -:ˆNFfö6¢{o­yyÄat,²pýut‘tüzÜCg"k·Þ¥{oíÈ=ØÑ™ábÅ®(…n*ò˜kµåè4Øl×[èÖ")*‡AGÁÑ£Ð -F”žWÑ9°98ºÉŒ®à–øe¾ÌÄäâœÍ·pé¦ -Û|<`Èì™36<vçîôÍó`E×âÌÿ¶Nlõ¸ -‰q£R—Oͦ¶œ]= -È_´\…Æm[ô¼hÁŠ{w_Nˆ3›³ZmlÞ4©Š·o⪾ɽ‹Šßûo’9Ý,5«¢ü»õ7iþª -‡î »wË‘‰ÐW¶¶÷3Ø]\öÁ×õ&oQW¯ü4®[ßFÙ_~þì‡;­Õõ_,!êܷ퍴/SÑ%ꍷۗwÏ™27°^¡ìOî”*]·˜Ó-"ßìãPõÙ&²šý|jq¯Êٔɭµ†oš“nŸØ0¿× Àzå_øâc“âÓ]olwä‚´øl†Û<85ºº—¶Õ :ˆ]ÿ–ÑütXÓ×ʽä™ÑW‘|ß”¶ËØ? ´Gãï}Íà’ª:Dû -ÌeÛfªÅÅÄ_úgù½š/çÕÿ²®?'ÿƒÄ´?6§«ÙW¾GŸ;ìK0ošÐ¬€ÄuŠü;Íu-æÂÖåÁÚ½UÚæ+ÚRþaBâ³_›‹ -í)¿ÚÚ¸ ¿Ž*—e¾™j̧Íìt=毹u®P,·½—Õo¤ü{‹9þéÝwD3Ûÿõküf -I|3Uü·V³•åöÖO^övx¿¢n ?å٥ͽŽ6þÓ|#8¿Ï—ôfj*ßVËÚÕUëª+alê'%&>¹´‰ýÀ¦Xä7þåÉx3剽×]ß¹šê_p·_Ÿ|œåÉâ¸Ol¸ -m)æjN¾›©Žœ.mðð\H÷"Lþô=öôC-©?6 ÁY}2»zY“ëf*ÏVa -—^ï:ø1+£^š»æ'×ÃS3ߘé=Ht3ÕEhÃ=õÛ”:E˜ÖÑÓÊY˜Ù‰@¬èeMš›)·ŸD7]²° -ýØO|™bå­ôÊè¿æò@ÏRÜL5¾ZèÜ^Ey î9¬ÝýVØúÌí^Öô3•Sì«móÝ9ì®cžSÊÚ)d;‹YûO9>гÞo¦"¶Uèì…xNþ~óÁs1åŠxÏ‹;ãs —5óúôyì«ÉIùFT+Åm™Ñ„û‘¬ýåcÏ?8ñ@Ï ®”—w‹°çd*)æjðöžÏš‹8 Ò4Ëjï¤%聞 -â¯NéœOg³ŠMÎÊHMö÷À:¢®ûòìxñï[’n¾ýì¿ù@Ï¡[;•õÐÑe±›âw™w›Ä„ -­Àþî:cå¬×ððé‹(Ñôl±êóW -l#5œ\”þ,{ž%áÜþé -D/jaõ˜²Øá/ÀÅ?г…%éÚÚ¯Zzéà%ƒÉM)x‚S+Ü<~`ÍÐ.µ|T¯BrÀ§Ö¿ÒÚ2¸z61‡.mTÄ]ã+‹ÝLNÙï—®oš9t`µb"‡¤ôœZÿf׆µÃ=гMôå½Jjù†Êä¢ädºÏkbÜê¥Ãº”Ïp¸(ùvYÿ‚ ÿ²,—Ä¤SˆÖÓìvp®ÎJSV¥Þ=½åCÞ-禑wq¯°* ãþá)]¼Ý´x…ã¢({Õ×·{äˆ ƒ¼V(ºœ´LíµuWm?Ëý#ÓÚA\f*ù‚«­š›Ï‡‘—¶Õ­SWSO\ó¬4búâý·˜uŒ%~oH¿W4òÛý˜SrhŸqgý´Üš¹Ð7åõö/ûêûŸÏZ³ëh|Ã~û¾ûËfžšyò笸uð°¯+#û×CýGLJε›¿3 dמ3·n³í-͈¿÷çØ6¥ÑMýHòMGJˆŽžZþNß䜷@…ú|9÷Ñðˆ‡I;Oˆ½DóفþðWTN&¥Ã}»¿üɝAžÀûi“sžÂeª7ï1cÙî¢ã9tަ…mþ°†r 2™”fvo^txd>Ô÷u©X÷w>˜¶rDZˆ›Òÿ®d(:bՐ73˜‡(€I©mß“Œè“ëÿ=s,֥ߠ³÷]»)ÿ(”5‹%ê÷Nâ»!U¹Óv|Õã;{ˆ½€ÏY TÅ&&Ì_²+"ž¢òœã¾"»"²ûmþŽ·6g¾vˆ!S¡ -õ;w=mÛÁ›74þ’çNEQÝ‘žÏvÛ¾_❆uËf¶pˆ©Rßï8wõ®ÅB¿-™/ªCÒñ°m£CË[ }S=ŒscËâ\‘½òD7þ_^8ô]Á º -®ãßÞrøFlǁ¹ª=/PIÒµwOá¦Â Ç9%®éŒ›¡ñŒµ0“ŒY‚„uMŽ1Ïýí#[ib³É|ˆmÿt툰ÿÕë§Ÿ#¹n”~dRTÒˁvšaé,¨kr¯Ló!zmP~A7K¦~Â÷ŠÔ½Íbæ™›ú<û¡ùãOøäög¼v[_§Î yÛcRžµ2v Ã§pQ9Ë÷îä_ éš©á^›\SÈŸ³Ãl¹VEŠq)€ǘ¼Ï¤ü©cqûÆd$o;ƒLuÐ5ß$%™Chjs‡Tèæ×§yü_¾ù`J£›_Ÿ"jqŠjô‡Öö¦'YûÝs@QèÖשýðW†0.óЍ¯WÑï û¦È±¬›‡Xµ^‹·5Bkxg_K \ No newline at end of file +app = new class() extends ApplicationAbstract + { + protected string $appName = 'Api'; + }; + + $this->app->dbPool = $GLOBALS['dbpool']; + $this->app->unitId = 1; + $this->app->accountManager = new AccountManager($GLOBALS['session']); + $this->app->appSettings = new CoreSettings(); + $this->app->moduleManager = new ModuleManager($this->app, __DIR__ . '/../../../../Modules/'); + $this->app->dispatcher = new Dispatcher($this->app); + $this->app->eventManager = new EventManager($this->app->dispatcher); + $this->app->eventManager->importFromFile(__DIR__ . '/../../../../Web/Api/Hooks.php'); + $this->app->sessionManager = new HttpSession(36000); + $this->app->l11nManager = new L11nManager(); + + $account = new Account(); + TestUtils::setMember($account, 'id', 1); + + $permission = new AccountPermission(); + $permission->unit = 1; + $permission->app = 2; + $permission->setPermission( + PermissionType::READ + | PermissionType::CREATE + | PermissionType::MODIFY + | PermissionType::DELETE + | PermissionType::PERMISSION + ); + + $account->addPermission($permission); + + $this->app->accountManager->add($account); + $this->app->router = new WebRouter(); + + $this->module = $this->app->moduleManager->get('ContractManagement', 'Api'); + $this->attrModule = $this->app->moduleManager->get('ContractManagement', 'ApiAttribute'); + $this->typeModule = $this->app->moduleManager->get('ContractManagement', 'ApiContractType'); + + TestUtils::setMember($this->module, 'app', $this->app); + TestUtils::setMember($this->attrModule, 'app', $this->app); + TestUtils::setMember($this->typeModule, 'app', $this->app); + } + + use ApiControllerContractTypeTrait; + use ApiControllerContractTrait; + use ApiControllerAttributeTrait; + } + + public function testInvalidapiContractDelete() : void + { + $response = new HttpResponse(); + $request = new HttpRequest(new HttpUri('')); + + $request->header->account = 1; + $this->module->apiContractDelete($request, $response); + self::assertEquals(RequestStatusCode::R_400, $response->header->status); + } +}