Example #1
0
 /**
  * @dataProvider getRouteFirewallParameters
  */
 public function testRouteFirewall($rules, $checks)
 {
     $firewall = new RouteFirewall($rules);
     $mockRbac = $this->getMock('ZfcRbac\\Service\\Rbac');
     $mockRbac->expects($this->any())->method('hasRole')->will($this->returnCallback(function ($val) {
         if ($val === array('guest')) {
             return true;
         }
         return false;
     }));
     $mockRbac->expects($this->any())->method('isGranted')->will($this->returnCallback(function ($val) {
         if ($val === 'SECRET_PERMISSION') {
             return true;
         }
         return false;
     }));
     $firewall->setRbac($mockRbac);
     foreach ($checks as $check) {
         $this->assertEquals($check['result'], $firewall->isGranted($check['resource']));
     }
 }