Пример #1
0
<?php

return ['id' => 'app-console', 'class' => \yii\web\Application::className(), 'basePath' => \Yii::getAlias('@tests/app'), 'runtimePath' => \Yii::getAlias('@tests/_output'), 'bootstrap' => [], 'components' => ['db' => ['class' => '\\yii\\db\\Connection', 'dsn' => 'sqlite:' . \Yii::getAlias('@tests/_output/temp.db'), 'username' => '', 'password' => '']]];
Пример #2
-1
 public function testParseRESTRequest()
 {
     $request = new Request();
     // pretty URL rules
     $manager = new UrlManager(['enablePrettyUrl' => true, 'showScriptName' => false, 'cache' => null, 'rules' => ['PUT,POST post/<id>/<title>' => 'post/create', 'DELETE post/<id>' => 'post/delete', 'post/<id>/<title>' => 'post/view', 'POST/GET' => 'post/get']]);
     // matching pathinfo GET request
     $_SERVER['REQUEST_METHOD'] = 'GET';
     $request->pathInfo = 'post/123/this+is+sample';
     $result = $manager->parseRequest($request);
     $this->assertEquals(['post/view', ['id' => '123', 'title' => 'this+is+sample']], $result);
     // matching pathinfo PUT/POST request
     $_SERVER['REQUEST_METHOD'] = 'PUT';
     $request->pathInfo = 'post/123/this+is+sample';
     $result = $manager->parseRequest($request);
     $this->assertEquals(['post/create', ['id' => '123', 'title' => 'this+is+sample']], $result);
     $_SERVER['REQUEST_METHOD'] = 'POST';
     $request->pathInfo = 'post/123/this+is+sample';
     $result = $manager->parseRequest($request);
     $this->assertEquals(['post/create', ['id' => '123', 'title' => 'this+is+sample']], $result);
     // no wrong matching
     $_SERVER['REQUEST_METHOD'] = 'POST';
     $request->pathInfo = 'POST/GET';
     $result = $manager->parseRequest($request);
     $this->assertEquals(['post/get', []], $result);
     // createUrl should ignore REST rules
     $this->mockApplication(['components' => ['request' => ['hostInfo' => 'http://localhost/', 'baseUrl' => '/app']]], \yii\web\Application::className());
     $this->assertEquals('/app/post/delete?id=123', $manager->createUrl(['post/delete', 'id' => 123]));
     $this->destroyApplication();
     unset($_SERVER['REQUEST_METHOD']);
 }