Exemple #1
0
 /**
  * Производит конфигурирование сервиса
  *
  * @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);
 }
Exemple #2
0
 /**
  * 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']));
 }