/** * Производит конфигурирование сервиса * * @param array $config Опции конфигурации * * @throws ConfigurationErrorException */ public function configure(array $config = []) { if (!array_key_exists('url', $config)) { throw new ConfigurationErrorException(self::ERR__URL_REQUIRED); } $soapOptions = []; if (array_key_exists('soapOptions', $config)) { $soapOptions = $config['soapOptions']; } $this->client = new Client($config['url'], $soapOptions); if (array_key_exists('contentType', $config)) { $this->client->setContentType($config['contentType']); } if (array_key_exists('curlOptions', $config)) { $this->client->setCurlOptions($config['curlOptions']); } if (array_key_exists('defaultArgs', $config)) { if (!is_array($config['defaultArgs'])) { throw new ConfigurationErrorException(self::ERR__DEFAULT_ARGS_ARRAY); } $this->defaultArgs = $config['defaultArgs']; } $this->mapper = new Mapper(); if (array_key_exists('mapper', $config)) { $this->mapper->setConfig($config['mapper']); } if (!array_key_exists('pinba', $config)) { $config['pinba'] = ['type' => 'soap', 'target' => $config['url']]; } parent::configure($config); }
/** * Test for getMethodConfigKey method * * ./vendor/bin/codecept run unit MapperTest.php:testGetMethodConfigKey * * @return void * * @covers \ITMH\Soap\Mapper::getMethodConfigKey */ public function testGetMethodConfigKey() { $config = ['method' => ['key' => 'value']]; $mapper = new Mapper(); $mapper->setConfig($config); $method = self::getMethod('getMethodConfigKey'); self::assertEquals('value', $method->invokeArgs($mapper, ['method', 'key'])); self::assertEquals(null, $method->invokeArgs($mapper, ['method', 'anotherKey'])); }