ImboCliUnitTest\Command\AddPublicKeyTest::testContinuesAskingForAclRulesIfUserSaysThereAreMoreRulesToAdd PHP Метод

testContinuesAskingForAclRulesIfUserSaysThereAreMoreRulesToAdd() публичный Метод

    public function testContinuesAskingForAclRulesIfUserSaysThereAreMoreRulesToAdd()
    {
        $this->adapter->expects($this->exactly(3))->method('addAccessRule')->withConsecutive([$this->equalTo('foo'), $this->callback(function ($rule) {
            $diff = array_diff($rule['resources'], Resource::getReadOnlyResources());
            return count($rule['users']) === 2 && in_array('espenh', $rule['users']) && in_array('kribrabr', $rule['users']) && empty($diff);
        })], [$this->equalTo('foo'), $this->callback(function ($rule) {
            $diff = array_diff($rule['resources'], Resource::getReadWriteResources());
            return count($rule['users']) === 2 && in_array('rexxars', $rule['users']) && in_array('kbrabrand', $rule['users']) && empty($diff);
        })], [$this->equalTo('foo'), $this->callback(function ($rule) {
            $diff = array_diff($rule['resources'], Resource::getAllResources());
            return $rule['users'] === '*' && empty($diff);
        })]);
        $helper = $this->command->getHelper('question');
        $helper->setInputStream($this->getInputStream(['0', 'espenh,kribrabr', 'y', '1', 'rexxars, kbrabrand', 'y', '2', '*', 'n']));
        $commandTester = new CommandTester($this->command);
        $commandTester->execute(['publicKey' => 'foo', 'privateKey' => 'bar']);
        $this->assertSame(3, substr_count($commandTester->getDisplay(true), 'Create more ACL-rules for this public key?'));
    }