/** * Test to create and endpoint. * @throws \InvalidArgumentException * @throws InputException */ public function testCreateEndpoint() { $manager = new Manager(); $url = 'http://*****:*****@validurl.com/bla'; $newEndpoint = $manager->createEndpoint($url); static::assertInstanceOf('WebservicesNl\\Common\\Endpoint\\Endpoint', $newEndpoint); static::assertEquals($url, (string) $newEndpoint->getUri()); static::assertEquals(Endpoint::STATUS_ACTIVE, $newEndpoint->getStatus()); static::assertEquals(null, $newEndpoint->getLastConnected()); }
/** * Creates and configures a EndpointManager. * * If url key is present in settings array, this url will be set to the active endpoint. * * @param array $settings optional settings * * @return Manager Endpoint manager * * @throws \InvalidArgumentException * @throws InputException */ private function createEndpointManager(array $settings = []) { // get the default end points from config object $endPoints = $this->getConfig()->getEndPoints(); // merge defaults urls with custom url if present, custom url is set to active if (array_key_exists('url', $settings) && filter_var($settings['url'], FILTER_VALIDATE_URL) !== false) { array_unshift($endPoints, $settings['url']); } // Create EndPoint Manager $manager = new Manager(); foreach ($endPoints as $endPoint) { $manager->createEndpoint($endPoint); } if ($this->hasLogger() === true) { $this->logger->info('Created endpoint manager', ['endpoint count' => $manager->getEndpoints()->count()]); } return $manager; }
/** * @throws \Exception * @throws \InvalidArgumentException * @throws \WebservicesNl\Common\Exception\Server\NoServerAvailableException * @throws \WebservicesNl\Common\Exception\Client\InputException * @throws \SoapFault */ public function testSoapClientInstanceBadCallWithMultipleEndpoints() { $manager = new Manager(); $manager->createEndpoint('https://ws1.webservices.nl/soap_doclit'); $manager->createEndpoint('https://ws2.webservices.nl/soap_doclit'); // Create a mock and queue a bad and successful response. $mock = new MockHandler([new ConnectException('Error Communicating with Server', new Request('GET', 'login')), new Response(202, ['Content-Length' => 0])]); $handler = HandlerStack::create($mock); $curlClient = new Client(['handler' => $handler]); $instance = new SoapClient($this->settings, $manager, $curlClient); $instance->setLogger($this->logger); $instance->call(['functionName' => 'login']); static::assertTrue($manager->getEndpoints()->first()->isError()); static::assertTrue($this->testHandler->hasError('Endpoint is not responding')); }