/** * Tests the Context runOnContext method directly. */ public function testGetContext() { $context = Vertx::currentContext(); $context->runOnContext(function () { $this->complete(); }); }
public function setUp() { $this->fileSystem = Vertx::fileSystem(); if ($this->fileSystem->existsSync(TEST_OUTPUT_DIRECTORY)) { $this->fileSystem->deleteRecursiveSync(TEST_OUTPUT_DIRECTORY); } $this->fileSystem->mkdirSync(TEST_OUTPUT_DIRECTORY, 'rwxr-xr-x'); }
public function setUp() { $this->server = Vertx::createHttpServer(); $this->client = Vertx::createHttpClient(); $this->client->port = 8080; $this->routeMatcher = new Vertx\Http\RouteMatcher(); $this->server->requestHandler($this->routeMatcher); }
function do_undeploy($deployId, $count) { Vertx::undeployVerticle($deployId, function () { $count++; if ($count < 10) { do_deploy($count); } else { Vertx::logger()->info('Done!'); } }); }
/** * Tests a periodic timer. */ public function testPeriodic() { $total = 10; $count = 0; Vertx::setPeriodic(10, function ($timer_id) use(&$count, $total) { $this->assertNotNull($timer_id); $count += 1; if ($count == $total) { Vertx::cancelTimer($timer_id); Vertx::setTimer(10, function () { $this->complete(); }); } else { if ($count > $total) { $this->assertTrue(FALSE, 'Counter went off too many times!'); } } }); }
<?php $log = Vert::logger(); $log->info('Deploying module'); $config = array('some-var' => 'Hello world!'); Vertx::deployModule('org.foo~bar-mod~1.0.0', $config, 1, function ($deployId, $error) use($log) { if (empty($error)) { $log->info('Deployment ID is ' . $deployId); } else { $log->info('Failed to deploy module.'); } });
/** * Tests failing a verticle undeploy. */ public function testUndeployFail() { Vertx::undeployVerticle('asdlkjsdalf', function ($error) { $this->assertNotNull($error); $this->complete(); }); }
<?php $client = Vertx::createHttpClient(); $client->port = 4443; $client->ssl = TRUE; $client->getNow('/', function ($response) { $log = Container::logger(); $log->info('Got response ' . $response->statusCode()); $response->bodyHandler(function ($body) use($log) { $log->info('Got data ' . $body); }); });
<?php $server = Vertx::createHttpServer(); $server->ssl = TRUE; $server->keyStorePath = 'server-keystore.jks'; $server->keyStorePassword = '******'; $server->requestHandler(function ($request) { $request->response->end('<html><body><h1>Hello from vert.x!</h1></body></html>'); })->listen(4443, 'localhost');
<?php $config = array('name' => 'tim', 'age' => 823823); Vertx::deployVerticle('deploy/child.php', $config);
<?php Vertx::logger()->info('Config is ' . var_dump(Vertx::config()));
<?php $log = Vertx::logger(); $log->info('In foo mod!'); $config = Vertx::config(); $log->info('some-var is ' . $config['some-var']);
<?php $logger = Vertx::logger(); $logger->info('in child.php, config is ' . var_dump(Vertx::config()));
<?php require_vertx("hello-lib.php"); $eventBus = Vertx::eventBus(); Vertx::logger()->info(sayHello("User")); /** * Test if the require_vertx really loads php files of other module ressources * if they are included */ $eventBus->registerHandler('test.require_vertx', function ($message) { $message->reply(sayHello("Test")); }); /** * test if the Autoclassloader is using the Vertx Classloader to load * internal classes */ $eventBus->registerHandler('test.autoload.internal', function ($message) { $helloObject = new InternalHelloClass("Test"); $message->reply($helloObject->sayHello()); }); /** * test if the Autoclassloader is using the Vertx ClassLoader, so it can find * included module classes */ $eventBus->registerHandler('test.autoload.external', function ($message) { $helloObject = new lib\ExternalHelloClass("Test"); $message->reply($helloObject->sayHello()); });
<?php $routeMatcher = new Vertx\Http\RouteMatcher(); $routeMatcher->get('/details/:user/:id', function ($request) { $request->response->end('User: '******'user'] . ' ID: ' . $request->params['id']); }); $routeMatcher->getWithRegEx('.*', function ($request) { $request->response->sendFile('route_match/index.html'); }); Vertx::createHttpServer()->routeHandler($routeMatcher)->listen(8080);
<?php use Vertx\Pump; Vertx::createNetServer()->connectHandler(function ($socket) { $pump = new Pump($socket, $socket); $pump->start(); })->listen(1234);
<?php $eventBus = Vertx::eventBus(); Vertx::setPeriodic(1000, function () use($eventBus) { $eventBus->publish('news-feed', 'Some news!'); });
<?php /* * Copyright 2013 the original author or authors. * * Licensed under the MIT License (the "License"); you may not use this * file except in compliance with the License. You may obtain a copy of * the License at * * http://opensource.org/licenses/MIT * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ Vertx::eventBus();
<?php $logger = Vertx::logger(); Vertx::eventBus()->registerHandler('news-feed', function ($message) use($logger) { $logger->info('Received news ' . $message->body); });
<?php /* * Copyright 2013 the original author or authors. * * Licensed under the MIT License (the "License"); you may not use this * file except in compliance with the License. You may obtain a copy of * the License at * * http://opensource.org/licenses/MIT * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ Vertx::eventBus()->send('test-address', 'started');
<?php $logger = Vertx::logger(); Vertx::createHttpClient()->setPort(8080)->getNow('/', function ($response) use($logger) { $logger->info('Got response ' . $response->statusCode()); $response->bodyHandler(function ($body) use($logger) { $logger->info('Got body ' . $body); }); });
/** * Tests HTTP client methods. */ public function testClientMethods() { $client = Vertx::createHttpClient(); $client->host('0.0.0.0'); $this->assertEquals($client->host(), '0.0.0.0'); $client->host = '1.1.1.1'; $this->assertEquals($client->host, '1.1.1.1'); $client->port(12345); $this->assertEquals($client->port(), 12345); $client->port = 12345; $this->assertEquals($client->port, 12345); $client->ssl = TRUE; $this->assertTrue($client->ssl); $client->ssl = FALSE; $this->assertFalse($client->ssl); $client->ssl(TRUE); $this->assertTrue($client->ssl()); $client->keyStorePath('foo.jks'); $this->assertEquals($client->keyStorePath(), 'foo.jks'); $client->keyStorePath = 'bar.jks'; $this->assertEquals($client->keyStorePath, 'bar.jks'); $client->keyStorePassword('foo'); $this->assertEquals($client->keyStorePassword(), 'foo'); $client->keyStorePassword = '******'; $this->assertEquals($client->keyStorePassword, 'bar'); $client->trustStorePath('foo.jks'); $this->assertEquals($client->trustStorePath(), 'foo.jks'); $client->trustStorePath = 'bar.jks'; $this->assertEquals($client->trustStorePath, 'bar.jks'); $client->trustStorePassword('foo'); $this->assertEquals($client->trustStorePassword(), 'foo'); $client->trustStorePassword = '******'; $this->assertEquals($client->trustStorePassword, 'bar'); $client->trustAll = TRUE; $this->assertTrue($client->trustAll); $client->trustAll = FALSE; $this->assertFalse($client->trustAll); $client->trustAll(TRUE); $this->assertTrue($client->trustAll()); $client->sendBufferSize(12345); $this->assertEquals($client->sendBufferSize(), 12345); $client->sendBufferSize = 12345; $this->assertEquals($client->sendBufferSize, 12345); $client->receiveBufferSize(12345); $this->assertEquals($client->receiveBufferSize(), 12345); $client->receiveBufferSize = 12345; $this->assertEquals($client->receiveBufferSize, 12345); $client->keepAlive = TRUE; $this->assertTrue($client->keepAlive); $client->keepAlive = FALSE; $this->assertFalse($client->keepAlive); $client->keepAlive(TRUE); $this->assertTrue($client->keepAlive()); $client->reuseAddress = TRUE; $this->assertTrue($client->reuseAddress); $client->reuseAddress = FALSE; $this->assertFalse($client->reuseAddress); $client->reuseAddress(TRUE); $this->assertTrue($client->reuseAddress()); $client->verifyHost = TRUE; $this->assertTrue($client->verifyHost); $client->verifyHost = FALSE; $this->assertFalse($client->verifyHost); $client->verifyHost(TRUE); $this->assertTrue($client->verifyHost()); $client->trafficClass(12345); $this->assertEquals($client->trafficClass(), 12345); $client->trafficClass = 12345; $this->assertEquals($client->trafficClass, 12345); $client->connectTimeout(12345); $this->assertEquals($client->connectTimeout(), 12345); $client->connectTimeout = 12345; $this->assertEquals($client->connectTimeout, 12345); $client->maxPoolSize(12345); $this->assertEquals($client->maxPoolSize(), 12345); $client->maxPoolSize = 12345; $this->assertEquals($client->maxPoolSize, 12345); $this->complete(); }
public function setUp() { $this->eventBus = Vertx::eventBus(); }
/** * Tests net client methods. */ public function testClientMethods() { $client = Vertx::createNetClient(); $client->ssl = TRUE; $this->assertTrue($client->ssl); $client->ssl = FALSE; $this->assertFalse($client->ssl); $client->ssl(TRUE); $this->assertTrue($client->ssl()); $client->keyStorePath('foo.jks'); $this->assertEquals($client->keyStorePath(), 'foo.jks'); $client->keyStorePath = 'bar.jks'; $this->assertEquals($client->keyStorePath, 'bar.jks'); $client->keyStorePassword('foo'); $this->assertEquals($client->keyStorePassword(), 'foo'); $client->keyStorePassword = '******'; $this->assertEquals($client->keyStorePassword, 'bar'); $client->trustStorePath('foo.jks'); $this->assertEquals($client->trustStorePath(), 'foo.jks'); $client->trustStorePath = 'bar.jks'; $this->assertEquals($client->trustStorePath, 'bar.jks'); $client->trustStorePassword('foo'); $this->assertEquals($client->trustStorePassword(), 'foo'); $client->trustStorePassword = '******'; $this->assertEquals($client->trustStorePassword, 'bar'); $client->trustAll = TRUE; $this->assertTrue($client->trustAll); $client->trustAll = FALSE; $this->assertFalse($client->trustAll); $client->trustAll(TRUE); $this->assertTrue($client->trustAll()); $client->sendBufferSize(12345); $this->assertEquals($client->sendBufferSize(), 12345); $client->sendBufferSize = 12345; $this->assertEquals($client->sendBufferSize, 12345); $client->receiveBufferSize(12345); $this->assertEquals($client->receiveBufferSize(), 12345); $client->receiveBufferSize = 12345; $this->assertEquals($client->receiveBufferSize, 12345); $client->keepAlive = TRUE; $this->assertTrue($client->keepAlive); $client->keepAlive = FALSE; $this->assertFalse($client->keepAlive); $client->keepAlive(TRUE); $this->assertTrue($client->keepAlive()); $client->reuseAddress = TRUE; $this->assertTrue($client->reuseAddress); $client->reuseAddress = FALSE; $this->assertFalse($client->reuseAddress); $client->reuseAddress(TRUE); $this->assertTrue($client->reuseAddress()); $client->trafficClass(12345); $this->assertEquals($client->trafficClass(), 12345); $client->trafficClass = 12345; $this->assertEquals($client->trafficClass, 12345); $this->complete(); }
/** * Tests sending a message to an unregistering handler. */ public function testSendUnregisterSend() { $this->currentHandlerId = $this->eventBus->registerHandler(self::TEST_ADDRESS, function ($message) { $this->assertNotNull($message->replyAddress); if ($this->received) { $this->assertTrue(FALSE, 'Handler was already called.'); } $this->assertEquals($message->body['message'], self::$jsonMessage['message']); $this->eventBus->unregisterHandler($this->currentHandlerId); $this->received = TRUE; Vertx::setTimer(100, function () { $this->complete(); }); }); $this->assertNotNull($this->currentHandlerId); $this->eventBus->send(self::TEST_ADDRESS, self::$jsonMessage); $this->eventBus->send(self::TEST_ADDRESS, self::$jsonMessage); }
<?php Vertx::createHttpServer()->requestHandler(function ($request) { $request->response()->end('<html><body><h1>Hello from vert.x!</h1></body></html>'); })->listen(8080);
<?php $eventBus = Vertx::eventBus(); $logger = Vertx::logger(); Vertx::setPeriodic(1000, function () use($eventBus, $logger) { $eventBus->send('ping-address', 'ping', function ($reply) use($logger) { $logger->info("Received reply " . $reply->body); }); });
<?php $logger = Vertx::logger(); Vertx::eventBus()->registerHandler('ping-address', function ($message) use($logger) { $logger->info("Received message " . $message->body()); $message->reply('pong'); });
<?php use Vertx\Buffer; $client = Vertx::createNetClient(); $logger = Vertx::logger(); $client->connectTimeout = 30; $client->connect(1234, NULL, function ($socket, $error) use($logger) { if (!$error) { $buffer = new Buffer(); $socket->dataHandler(function ($buffer) use($logger) { $logger->info("Client receiving " . $buffer); $buffer->appendBuffer($buffer); }); for ($i = 0; $i < 10; $i++) { $message = "Hello {$i}."; $logger->info("Client sending " . $message); $socket->write($message); } } else { $logger->info("Failed to connect to the server. " . $error->getMessage()); } });
public function setUp() { $this->sharedData = Vertx::sharedData(); }