public function testLoginFailure() { // not send credentials $res = $this->call('POST', '/auth/login'); $this->assertEquals(401, $res->getStatusCode()); $results = json_decode($res->getContent()); $this->assertEquals('error', $results->status); $this->assertEquals('authenticate', $results->type); $this->assertEquals('Invalid Credentials.', $results->message); // user not found $res = $this->call('POST', '/auth/login', ['email' => '*****@*****.**', 'password' => '123456']); $this->assertEquals(401, $res->getStatusCode()); $results = json_decode($res->getContent()); $this->assertEquals('error', $results->status); $this->assertEquals('authenticate', $results->type); $this->assertEquals('Invalid Credentials.', $results->message); // wrong password $res = $this->call('POST', '/auth/login', ['email' => '*****@*****.**', 'password' => 'abcdef']); $this->assertEquals(401, $res->getStatusCode()); $results = json_decode($res->getContent()); $this->assertEquals('error', $results->status); $this->assertEquals('authenticate', $results->type); $this->assertEquals('Invalid Credentials.', $results->message); // can't create token JWTAuth::shouldReceive('attempt')->once()->andThrow(new Tymon\JWTAuth\Exceptions\JWTException('Could not create token.', 500)); $res = $this->call('POST', '/auth/login'); $results = json_decode($res->getContent()); $this->assertEquals(500, $res->getStatusCode()); $this->assertEquals('Could not create token.', $results->message); }
public function testUserNotFound() { // Check user not found $request = Mockery::mock(); JWTAuth::shouldReceive('setRequest')->once()->andReturn($request); $request->shouldReceive('getToken')->once()->andReturn(true); JWTAuth::shouldReceive('authenticate')->once()->andReturn(false); $res = $this->call('POST', '/auth/logout'); $result = json_decode($res->getContent()); $this->assertEquals(404, $res->getStatusCode()); $this->assertEquals('User not found.', $result->message); $this->assertEquals('error', $result->status); $this->assertEquals('authenticate', $result->type); }
public function testRouteRequirePermissionGuestAccess() { RoutePermission::setRoutePermissions('POST /blog/{id}', ['create-blog']); $res = $this->call('POST', '/blog/1'); $this->assertEquals(401, $res->getStatusCode()); $request = Mockery::mock(); $request->shouldReceive('getToken')->once()->andReturn('mocktoken'); JWTAuth::shouldReceive('setRequest')->once()->andReturn($request); JWTAuth::shouldReceive('authenticate')->once()->andThrow(new Tymon\JWTAuth\Exceptions\JWTException('Not authenticate.', 401)); $res = $this->call('POST', '/blog/1', [], [], [], ['HTTP_Authorization' => "Bearer fake_token"]); $this->assertEquals(401, $res->getStatusCode()); $request = Mockery::mock(); $request->shouldReceive('getToken')->once()->andReturn('mocktoken'); JWTAuth::shouldReceive('setRequest')->once()->andReturn($request); JWTAuth::shouldReceive('authenticate')->once()->andReturn(null); $res = $this->call('POST', '/blog/1', [], [], [], ['HTTP_Authorization' => "Bearer fake_token"]); $this->assertEquals(401, $res->getStatusCode()); }