/** * @depends testConnect */ public function testFilesResponse(ApiClient $docker) { $response = $docker->get('/containers/' . getenv('HOSTNAME') . '/archive', ['path' => '/project/containers/php/']); $this->assertEquals(200, $response->getStatus()); $responseHandler = new responseHandlers\Files($response); $stat = json_decode(base64_decode($responseHandler->getHeader('x-docker-container-path-stat')), true); $this->assertArrayHasKey('name', $stat); $filename = '/project/TEMP.tar'; $responseHandler->saveTar($filename); $this->assertFileExists($filename); // Note: "php" folder should not exists. But if we request '/project/containers/php/.' (>>> "/." <<<) // there is an exception when extracting. $responseHandler->extract('/project/TEMP'); $this->assertFileExists('/project/TEMP/php/Dockerfile'); exec('rm -rf /project/TEMP'); $this->assertFileNotExists('/project/TEMP/php/Dockerfile'); unlink($filename); $this->assertFileNotExists($filename); }
<?php ini_set('display_errors', '1'); require_once dirname(__FILE__) . '/../utils.php'; require_once dirname(__FILE__) . '/../config.php'; $ApiClient = new ApiClient(); $ApiClient->init(BASE_URL, PUBLIC_KEY, PRIVATE_KEY); $Parameters = array('Action' => 'CreateUHostInstance', 'Region' => 'cn-north-01', 'ImageId' => 'uimage-fig4tz', 'LoginMode' => 'Password', 'Password' => 'MTIzNDU2NZgk', 'Tag' => 'hsium.gao'); $response = $ApiClient->get($Parameters); echo $response;
<?php require_once "api_client.php"; $apiUrl = 'http://api2.panopta.com'; $apiToken = 'testing'; $version = '2'; // initialize the client $client = new ApiClient($apiUrl, $apiToken, $version, ApiClient::LOG_DEBUG, '/tmp/'); //$_SERVER['DOCUMENT_ROOT']); // get a server $queryParams = array('fqdn' => 'panopta.com', 'limit' => 10, 'offset' => 0); $results = $client->get('/server', $queryParams); print_r($results); // create a contact $data = array('name' => 'john', 'timezone' => sprintf('%s/v%s/timezone/America/Chicago', $apiUrl, $version)); $results = $client->post('/contact', $data); print_r($results);
}); // Prepare app $app = new \Slim\Slim(array('templates.path' => '../templates')); // Create monolog logger and store logger in container as singleton // (Singleton resources retrieve the same log resource definition each time) $app->container->singleton('log', function () { $log = new \Monolog\Logger('slim-skeleton'); $log->pushHandler(new \Monolog\Handler\StreamHandler('../logs/app.log', \Monolog\Logger::DEBUG)); return $log; }); // Prepare view $app->view(new \Slim\Views\Twig()); $app->view->parserOptions = array('charset' => 'utf-8', 'cache' => realpath('../templates/cache'), 'auto_reload' => true, 'strict_variables' => false, 'autoescape' => true); $app->view->parserExtensions = array(new \Slim\Views\TwigExtension()); // Define routes $app->get('/', function () use($app) { // event list $client = new ApiClient("http://api.local"); $events = $client->get("eventList"); $app->view->setData("events", $events); $app->render('events.html'); }); $app->get('/event/:event_id', function ($event_id) use($app) { // event list $client = new ApiClient("http://api.local"); $event = $client->get("event", array("event_id" => $event_id)); $app->view->setData("event", $event); $app->render('event-detail.html'); }); // Run app $app->run();
/** * @depends testConnect */ public function test1(ApiClient $dockercloud) { $response = $dockercloud->get('/api/app/v1/service/'); $responseHandler = new responseHandlers\Json($response); $this->assertTrue(is_array($responseHandler->getData())); }