/** * @dataProvider dataForWaiterConfigTest */ public function testLoadAndResolvesWaiterConfigs($name, $expected) { $api = new Service(function () { return ['waiters' => ['__default__' => ['acceptor_path' => 'Foo/Baz', 'acceptor_type' => 'output', 'max_attempts' => 10], 'Test' => ['success_value' => 'foo', 'ignore_errors' => ['1', '2']], 'Extending' => ['extends' => 'Test', 'failure_value' => 'fail'], 'Overwrite' => ['extends' => 'Test', 'max_attempts' => 20, 'success_value' => 'abc', 'failure_type' => 'baz']]]; }, '', ''); // Handle exception test cases if (is_string($expected)) { $this->setExpectedException($expected); } // Get the resolved config and verify its correctness $actual = $api->getWaiterConfig($name); /** @var array $expected */ foreach ($expected as $key => $value) { $this->assertEquals($value, $actual[$key]); $this->assertEquals($name, $actual['waiter_name']); } }
public function getWaiter($name, array $args = [], array $config = []) { $config += $this->api->getWaiterConfig($name); return new ResourceWaiter($this, $name, $args, $config); }