示例#1
0
 /**
  * @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);
 }
示例#2
0
<?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()));
 }