加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php – 测试基本身份验证

发布时间:2020-05-22 12:26:48 所属栏目:PHP 来源:互联网
导读:我想测试我的基本身份验证页面.未授权测试工作正常.但我在授权登录方面很费劲,因为我不知道如何在测试中设置标头. 我找不到提示,如何在$this- call()上设置标题.我能找到的唯一信息是: $this-call($method, $uri, $parameters, $cookies, $files, $server, $

我想测试我的基本身份验证页面.未授权测试工作正常.但我在授权登录方面很费劲,因为我不知道如何在测试中设置标头.

我找不到提示,如何在$this-> call()上设置标题.我能找到的唯一信息是:

$this->call($method,$uri,$parameters,$cookies,$files,$server,$content);

并且缺少标题.

如何在laravel上轻松测试基本身份验证.具体:如何为测试请求设置基本auth标头?

我目前拥有的:

class ExampleTest extends TestCase {
    public function test401UnauthorizedOnMe() { 
        $response = $this->call('GET','/api/me');
        $this->assertResponseStatus( 401);
    }

    public function testCorrectLoginOnMe() { 
        // http://shortrecipes.blogspot.de/2009/12/testing-basic-http-authentication-using.html
        //send header with correct user and password i.e.
        ////YWRtaW46YWRtaW4xMg== is equal to base64_encode( "admin:admin12")
        $this->request->setHeader( 'Authorization','Basic YWRtaW46YWRtaW4xMg==');
        $response = $this->call('GET','/api/me');
        $this->assertResponseStatus(200);
    }
}

我试过$this-> $request-> setHeader();但有了这个,我只得到一个错误:

1) ExampleTest::testCorrectLoginOnMe
ErrorException: Undefined property: ExampleTest::$request
找到了 HTTP authentication with PHP的解决方案.这可以在$this-> call()的$server参数中使用.

这是我的工作职能:

public function testCorrectLoginOnMe() {
    // call( $method,$parameters = [],$cookies = [],$files = [],$server = [],$content = null)
    $this->call('GET','/api/me',[],['PHP_AUTH_USER' => 'admin','PHP_AUTH_PW' => 'admin12']);
    $this->assertResponseStatus( 200 );
}

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读