Converted Object Storage to the OpenStack namespace.

This commit is contained in:
Matt Farina
2013-09-16 17:14:20 -04:00
parent a995a9c0a6
commit c7780debf4
22 changed files with 329 additions and 329 deletions

View File

@@ -30,10 +30,10 @@ SOFTWARE.
* a text document, a binary).
*/
namespace HPCloud\Storage;
namespace OpenStack\Storage;
use HPCloud\Storage\ObjectStorage\Container;
use HPCloud\Storage\ObjectStorage\ACL;
use OpenStack\Storage\ObjectStorage\Container;
use OpenStack\Storage\ObjectStorage\ACL;
/**
* Access to ObjectStorage (Swift).
@@ -44,7 +44,7 @@ use HPCloud\Storage\ObjectStorage\ACL;
*
* There is also a stream wrapper interface that exposes ObjectStorage
* to PHP's streams system. For common use of an object store, you may
* prefer to use that system. (See HPCloud::Bootstrap).
* prefer to use that system. (See OpenStack::Bootstrap).
*
* When constructing a new ObjectStorage object, you will need to know
* what kind of authentication you are going to perform. Older
@@ -53,7 +53,7 @@ use HPCloud\Storage\ObjectStorage\ACL;
* perform this type of authentication.
*
* Newer versions use the IdentityServices authentication mechanism (see
* HPCloud::Services::IdentityServices). That method is the preferred
* OpenStack::Services::IdentityServices). That method is the preferred
* method.
*
* Common Tasks
@@ -69,7 +69,7 @@ use HPCloud\Storage\ObjectStorage\ACL;
class ObjectStorage {
/**
* The name of this service type in HPCloud.
* The name of this service type in OpenStack.
*
* This is used with IdentityService::serviceCatalog().
*/
@@ -92,7 +92,7 @@ class ObjectStorage {
* Create a new instance after getting an authenitcation token.
*
* THIS METHOD IS DEPRECATED. OpenStack now uses Keyston to authenticate.
* You should use HPCloud::Services::IdentityServices to authenticate.
* You should use OpenStack::Services::IdentityServices to authenticate.
* Then use this class's constructor to create an object.
*
* This uses the legacy Swift authentication facility to authenticate
@@ -118,11 +118,11 @@ class ObjectStorage {
* @param string $url
* The URL to the object storage endpoint.
*
* @throws HPCloud::Transport::AuthorizationException if the
* @throws OpenStack::Transport::AuthorizationException if the
* authentication failed.
* @throws HPCloud::Transport::FileNotFoundException if the URL is
* @throws OpenStack::Transport::FileNotFoundException if the URL is
* wrong.
* @throws HPCloud::Exception if some other exception occurs.
* @throws OpenStack::Exception if some other exception occurs.
*
* @deprecated Newer versions of OpenStack use Keystone auth instead
* of Swift auth.
@@ -133,7 +133,7 @@ class ObjectStorage {
'X-Auth-Key' => $key,
);
$client = \HPCloud\Transport::instance();
$client = \OpenStack\Transport::instance();
// This will throw an exception if it cannot connect or
// authenticate.
@@ -160,13 +160,13 @@ class ObjectStorage {
* Given an IdentityServices instance, create an ObjectStorage instance.
*
* This constructs a new ObjectStorage from an authenticated instance
* of an HPCloud::Services::IdentityServices object.
* of an OpenStack::Services::IdentityServices object.
*
* @param HPCloud::Services::IdentityServices $identity
* @param OpenStack::Services::IdentityServices $identity
* An identity services object that already has a valid token and a
* service catalog.
* @retval HPCloud::Storage::ObjectStorage
* @return \HPCloud\Storage\ObjectStorage
* @retval OpenStack::Storage::ObjectStorage
* @return \OpenStack\Storage\ObjectStorage
* A new ObjectStorage instance.
*/
public static function newFromIdentity($identity, $region = ObjectStorage::DEFAULT_REGION) {
@@ -190,8 +190,8 @@ class ObjectStorage {
* just ObjectStorage::SERVICE_TYPE.
* @param string $authToken
* The auth token returned by IdentityServices.
* @retval HPCloud::Storage::ObjectStorage
* @return \HPCloud\Storage\ObjectStorage
* @retval OpenStack::Storage::ObjectStorage
* @return \OpenStack\Storage\ObjectStorage
* A new ObjectStorage instance.
*/
public static function newFromServiceCatalog($catalog, $authToken, $region = ObjectStorage::DEFAULT_REGION) {
@@ -283,7 +283,7 @@ class ObjectStorage {
* @return array
* An associative array of containers, where the key is the
* container's name and the value is an
* HPCloud::Storage::ObjectStorage::Container object. Results are
* OpenStack::Storage::ObjectStorage::Container object. Results are
* ordered in server order (the order that the remote host puts them
* in).
*/
@@ -316,10 +316,10 @@ class ObjectStorage {
*
* @param string $name
* The name of the container to load.
* @retval HPCloud::Storage::ObjectStorage::Container
* @return \HPCloud\Storage\ObjectStorage\Container
* @retval OpenStack::Storage::ObjectStorage::Container
* @return \OpenStack\Storage\ObjectStorage\Container
* A container.
* @throws HPCloud::Transport::FileNotFoundException
* @throws OpenStack::Transport::FileNotFoundException
* if the named container is not found on the remote server.
*/
public function container($name) {
@@ -335,7 +335,7 @@ class ObjectStorage {
}
// If we get here, it's not a 404 and it's not a 204.
throw new \HPCloud\Exception("Unknown status: $status");
throw new \OpenStack\Exception("Unknown status: $status");
}
/**
@@ -350,14 +350,14 @@ class ObjectStorage {
* @retval boolean
* @return boolean
* TRUE if the container exists, FALSE if it does not.
* @throws HPCloud::Exception
* @throws OpenStack::Exception
* If an unexpected network error occurs.
*/
public function hasContainer($name) {
try {
$container = $this->container($name);
}
catch (\HPCloud\Transport\FileNotFoundException $fnfe) {
catch (\OpenStack\Transport\FileNotFoundException $fnfe) {
return FALSE;
}
return TRUE;
@@ -410,15 +410,15 @@ class ObjectStorage {
* ?>
* @endcode
*
* For details on ACLs, see HPCloud::Storage::ObjectStorage::ACL.
* For details on ACLs, see OpenStack::Storage::ObjectStorage::ACL.
*
* @param string $name
* The name of the container.
* @param object $acl HPCloud::Storage::ObjectStorage::ACL
* @param object $acl OpenStack::Storage::ObjectStorage::ACL
* An access control list object. By default, a container is
* non-public (private). To change this behavior, you can add a
* custom ACL. To make the container publically readable, you can
* use this: HPCloud::Storage::ObjectStorage::ACL::makePublic().
* use this: OpenStack::Storage::ObjectStorage::ACL::makePublic().
* @param array $metadata
* An associative array of metadata to attach to the container.
* @retval boolean
@@ -437,7 +437,7 @@ class ObjectStorage {
$headers += Container::generateMetadataHeaders($metadata, $prefix);
}
$client = \HPCloud\Transport::instance();
$client = \OpenStack\Transport::instance();
// Add ACLs to header.
if (!empty($acl)) {
$headers += $acl->headers();
@@ -455,7 +455,7 @@ class ObjectStorage {
}
// According to the OpenStack docs, there are no other return codes.
else {
throw new \HPCloud\Exception('Server returned unexpected code: ' . $status);
throw new \OpenStack\Exception('Server returned unexpected code: ' . $status);
}
}
@@ -482,7 +482,7 @@ class ObjectStorage {
*
* @param string $name
* The name of the container.
* @param object $acl HPCloud::Storage::ObjectStorage::ACL
* @param object $acl OpenStack::Storage::ObjectStorage::ACL
* An ACL. To make the container publically readable, use
* ACL::makePublic().
* @retval boolean
@@ -502,7 +502,7 @@ class ObjectStorage {
* the object storage.
*
* The container MUST be empty before it can be deleted. If it is not,
* an HPCloud::Storage::ObjectStorage::ContainerNotEmptyException will
* an OpenStack::Storage::ObjectStorage::ContainerNotEmptyException will
* be thrown.
*
* @param string $name
@@ -511,10 +511,10 @@ class ObjectStorage {
* @return boolean
* TRUE if the container was deleted, FALSE if the container was not
* found (and hence, was not deleted).
* @throws HPCloud::Storage::ObjectStorage::ContainerNotEmptyException
* @throws OpenStack::Storage::ObjectStorage::ContainerNotEmptyException
* if the container is not empty.
* @throws HPCloud::Exception if an unexpected response code is returned.
* While this should never happen on HPCloud servers, forks of
* @throws OpenStack::Exception if an unexpected response code is returned.
* While this should never happen on OpenStack servers, forks of
* OpenStack may choose to extend object storage in a way that
* results in a non-standard code.
*/
@@ -524,12 +524,12 @@ class ObjectStorage {
try {
$data = $this->req($url, 'DELETE', FALSE);
}
catch (\HPCloud\Transport\FileNotFoundException $e) {
catch (\OpenStack\Transport\FileNotFoundException $e) {
return FALSE;
}
// XXX: I'm not terribly sure about this. Why not just throw the
// ConflictException?
catch (\HPCloud\Transport\ConflictException $e) {
catch (\OpenStack\Transport\ConflictException $e) {
throw new ObjectStorage\ContainerNotEmptyException("Non-empty container cannot be deleted.");
}
@@ -542,7 +542,7 @@ class ObjectStorage {
// OpenStacks documentation doesn't suggest any other return
// codes.
else {
throw new \HPCloud\Exception('Server returned unexpected code: ' . $status);
throw new \OpenStack\Exception('Server returned unexpected code: ' . $status);
}
}
@@ -560,7 +560,7 @@ class ObjectStorage {
* - bytes: Bytes consumed by existing content.
* - containers: Number of containers.
* - objects: Number of objects.
* @throws HPCloud::Transport::AuthorizationException
* @throws OpenStack::Transport::AuthorizationException
* if the user credentials are invalid or have expired.
*/
public function accountInfo() {
@@ -590,7 +590,7 @@ class ObjectStorage {
* Internal request issuing command.
*/
protected function req($url, $method = 'GET', $jsonDecode = TRUE, $body = '') {
$client = \HPCloud\Transport::instance();
$client = \OpenStack\Transport::instance();
$headers = array(
'X-Auth-Token' => $this->token(),
);

View File

@@ -25,7 +25,7 @@ SOFTWARE.
* Contains the class for manipulating ObjectStorage ACL strings.
*/
namespace HPCloud\Storage\ObjectStorage;
namespace OpenStack\Storage\ObjectStorage;
/**
* Access control list for object storage.
@@ -151,8 +151,8 @@ class ACL {
*
* - READ to any host, with container listings.
*
* @retval HPCloud::Storage::ObjectStorage::ACL
* @return \HPCloud\Storage\ObjectStorage\ACL
* @retval OpenStack::Storage::ObjectStorage::ACL
* @return \OpenStack\Storage\ObjectStorage\ACL
* an ACL object with the appopriate permissions set.
*/
public static function makePublic() {
@@ -172,8 +172,8 @@ class ACL {
* This does not grant any permissions. OpenStack interprets an object
* with no permissions as a private object.
*
* @retval HPCloud::Storage::ObjectStorage::ACL
* @return \HPCloud\Storage\ObjectStorage\ACL
* @retval OpenStack::Storage::ObjectStorage::ACL
* @return \OpenStack\Storage\ObjectStorage\ACL
* an ACL object with the appopriate permissions set.
*/
public static function makeNonPublic() {
@@ -196,8 +196,8 @@ class ACL {
*
* @param array $headers
* An associative array of headers.
* @retval HPCloud::Storage::ObjectStorage::ACL
* @return \HPCloud\Storage\ObjectStorage\ACL
* @retval OpenStack::Storage::ObjectStorage::ACL
* @return \OpenStack\Storage\ObjectStorage\ACL
* A new ACL.
*/
public static function newFromHeaders($headers) {
@@ -324,8 +324,8 @@ class ACL {
* The name of the user, or optionally an indexed array of user
* names.
*
* @retval HPCloud::Storage::ObjectStorage::ACL
* @return \HPCloud\Storage\ObjectStorage\ACL
* @retval OpenStack::Storage::ObjectStorage::ACL
* @return \OpenStack\Storage\ObjectStorage\ACL
* $this for current object so the method can be used in chaining.
*/
public function addAccount($perm, $account, $user = NULL) {
@@ -361,8 +361,8 @@ class ACL {
* @param string $host
* A host specification string as described above.
*
* @retval HPCloud::Storage::ObjectStorage::ACL
* @return \HPCloud\Storage\ObjectStorage\ACL
* @retval OpenStack::Storage::ObjectStorage::ACL
* @return \OpenStack\Storage\ObjectStorage\ACL
* $this for current object so the method can be used in chaining.
*/
public function addReferrer($perm, $host = '*') {
@@ -379,8 +379,8 @@ class ACL {
* @param array $rule
* A rule array.
*
* @retval HPCloud::Storage::ObjectStorage::ACL
* @return \HPCloud\Storage\ObjectStorage\ACL
* @retval OpenStack::Storage::ObjectStorage::ACL
* @return \OpenStack\Storage\ObjectStorage\ACL
* $this for current object so the method can be used in chaining.
*/
protected function addRule($perm, $rule) {
@@ -402,8 +402,8 @@ class ACL {
* In the current Swift implementation, there is no mechanism for
* allowing some hosts to get listings, while denying others.
*
* @retval HPCloud::Storage::ObjectStorage::ACL
* @return \HPCloud\Storage\ObjectStorage\ACL
* @retval OpenStack::Storage::ObjectStorage::ACL
* @return \OpenStack\Storage\ObjectStorage\ACL
* $this for current object so the method can be used in chaining.
*/
public function allowListings() {

View File

@@ -25,7 +25,7 @@ SOFTWARE.
* Contains the class for ObjectStorage Container objects.
*/
namespace HPCloud\Storage\ObjectStorage;
namespace OpenStack\Storage\ObjectStorage;
/**
* A container in an ObjectStorage.
@@ -44,9 +44,9 @@ namespace HPCloud\Storage\ObjectStorage;
*
* @code
* <?php
* use \HPCloud\Storage\ObjectStorage;
* use \HPCloud\Storage\ObjectStorage\Container;
* use \HPCloud\Storage\ObjectStorage\Object;
* use \OpenStack\Storage\ObjectStorage;
* use \OpenStack\Storage\ObjectStorage\Container;
* use \OpenStack\Storage\ObjectStorage\Object;
*
* // Create a new ObjectStorage instance, logging in with older Swift
* // credentials.
@@ -210,8 +210,8 @@ class Container implements \Countable, \IteratorAggregate {
* The base URL. The container name is automatically appended to
* this at construction time.
*
* @retval HPCloud::Storage::ObjectStorage::Comtainer
* @return \HPCloud\Storage\ObjectStorage\Container
* @retval OpenStack::Storage::ObjectStorage::Comtainer
* @return \OpenStack\Storage\ObjectStorage\Container
* A new container object.
*/
public static function newFromJSON($jsonArray, $token, $url) {
@@ -247,15 +247,15 @@ class Container implements \Countable, \IteratorAggregate {
*
* @param string $name
* The name of the container.
* @param object $response HPCloud::Transport::Response
* @param object $response OpenStack::Transport::Response
* The HTTP response object from the Transporter layer
* @param string $token
* The auth token.
* @param string $url
* The base URL. The container name is automatically appended to
* this at construction time.
* @retval HPCloud::Storage::ObjectStorage::Container
* @return \HPCloud\Storage\ObjectStorage\Container
* @retval OpenStack::Storage::ObjectStorage::Container
* @return \OpenStack\Storage\ObjectStorage\Container
* The Container object, initialized and ready for use.
*/
public static function newFromResponse($name, $response, $token, $url) {
@@ -398,8 +398,8 @@ class Container implements \Countable, \IteratorAggregate {
* more than 256. UTF-8 or ASCII characters are allowed, though ASCII
* seems to be preferred.
*
* @retval HPCloud::Storage::ObjectStorage::Container
* @return \HPCloud\Storage\ObjectStorage\Container
* @retval OpenStack::Storage::ObjectStorage::Container
* @return \OpenStack\Storage\ObjectStorage\Container
* $this so the method can be used in chaining.
*/
public function setMetadata($metadata) {
@@ -434,11 +434,11 @@ class Container implements \Countable, \IteratorAggregate {
/**
* Save an Object into Object Storage.
*
* This takes an HPCloud::Storage::ObjectStorage::Object
* This takes an OpenStack::Storage::ObjectStorage::Object
* and stores it in the given container in the present
* container on the remote object store.
*
* @param object $obj HPCloud::Storage::ObjectStorage::Object
* @param object $obj OpenStack::Storage::ObjectStorage::Object
* The object to store.
* @param resource $file
* An optional file argument that, if set, will be treated as the
@@ -446,24 +446,24 @@ class Container implements \Countable, \IteratorAggregate {
* @retval boolean
* @return boolean
* TRUE if the object was saved.
* @throws HPCloud::Transport::LengthRequiredException
* @throws OpenStack::Transport::LengthRequiredException
* if the Content-Length could not be determined and chunked
* encoding was not enabled. This should not occur for this class,
* which always automatically generates Content-Length headers.
* However, subclasses could generate this error.
* @throws HPCloud::Transport::UnprocessableEntityException
* @throws OpenStack::Transport::UnprocessableEntityException
* if the checksome passed here does not match the checksum
* calculated remotely.
* @throws HPCloud::Exception when an unexpected (usually
* @throws OpenStack::Exception when an unexpected (usually
* network-related) error condition arises.
*/
public function save(Object $obj, $file = NULL) {
if (empty($this->token)) {
throw new \HPCloud\Exception('Container does not have an auth token.');
throw new \OpenStack\Exception('Container does not have an auth token.');
}
if (empty($this->url)) {
throw new \HPCloud\Exception('Container does not have a URL to send data.');
throw new \OpenStack\Exception('Container does not have a URL to send data.');
}
//$url = $this->url . '/' . rawurlencode($obj->name());
@@ -502,7 +502,7 @@ class Container implements \Countable, \IteratorAggregate {
$headers += $moreHeaders;
}
$client = \HPCloud\Transport::instance();
$client = \OpenStack\Transport::instance();
if (empty($file)) {
// Now build up the rest of the headers:
@@ -544,7 +544,7 @@ class Container implements \Countable, \IteratorAggregate {
}
if ($response->status() != 201) {
throw new \HPCloud\Exception('An unknown error occurred while saving: ' . $response->status());
throw new \OpenStack\Exception('An unknown error occurred while saving: ' . $response->status());
}
return TRUE;
}
@@ -560,14 +560,14 @@ class Container implements \Countable, \IteratorAggregate {
* particularly in cases where custom headers have been set.
* Use with caution.
*
* @param object $obj HPCloud::Storage::ObjectStorage::Object
* @param object $obj OpenStack::Storage::ObjectStorage::Object
* The object to update.
*
* @retval boolean
* @return boolean
* TRUE if the metadata was updated.
*
* @throws HPCloud::Transport::FileNotFoundException
* @throws OpenStack::Transport::FileNotFoundException
* if the object does not already exist on the object storage.
*/
public function updateMetadata(Object $obj) {
@@ -587,13 +587,13 @@ class Container implements \Countable, \IteratorAggregate {
// content type IS reset during this operation.
$headers['Content-Type'] = $obj->contentType();
$client = \HPCloud\Transport::instance();
$client = \OpenStack\Transport::instance();
// The POST verb is for updating headers.
$response = $client->doRequest($url, 'POST', $headers, $obj->content());
if ($response->status() != 202) {
throw new \HPCloud\Exception('An unknown error occurred while saving: ' . $response->status());
throw new \OpenStack\Exception('An unknown error occurred while saving: ' . $response->status());
}
return TRUE;
}
@@ -610,7 +610,7 @@ class Container implements \Countable, \IteratorAggregate {
* Note that there is no MOVE operation. You must copy and then DELETE
* in order to achieve that.
*
* @param object $obj HPCloud::Storage::ObjectStorage::Object
* @param object $obj OpenStack::Storage::ObjectStorage::Object
* The object to copy. This object MUST already be saved on the
* remote server. The body of the object is not sent. Instead, the
* copy operation is performed on the remote server. You can, and
@@ -630,7 +630,7 @@ class Container implements \Countable, \IteratorAggregate {
$sourceUrl = self::objectUrl($this->url, $obj->name());
if (empty($newName)) {
throw new \HPCloud\Exception("An object name is required to copy the object.");
throw new \OpenStack\Exception("An object name is required to copy the object.");
}
// Figure out what container we store in.
@@ -645,11 +645,11 @@ class Container implements \Countable, \IteratorAggregate {
'Destination' => $destUrl,
);
$client = \HPCloud\Transport::instance();
$client = \OpenStack\Transport::instance();
$response = $client->doRequest($sourceUrl, 'COPY', $headers);
if ($response->status() != 201) {
throw new \HPCloud\Exception("An unknown condition occurred during copy. " . $response->status());
throw new \OpenStack\Exception("An unknown condition occurred during copy. " . $response->status());
}
return TRUE;
}
@@ -675,8 +675,8 @@ class Container implements \Countable, \IteratorAggregate {
*
* @param string $name
* The name of the object to load.
* @retval HPCloud::Storage::ObjectStorage::RemoteObject
* @return \HPCloud\Storage\ObjectStorage\RemoteObject
* @retval OpenStack::Storage::ObjectStorage::RemoteObject
* @return \OpenStack\Storage\ObjectStorage\RemoteObject
* A remote object with the content already stored locally.
*/
public function object($name) {
@@ -687,12 +687,12 @@ class Container implements \Countable, \IteratorAggregate {
// Auth token.
$headers['X-Auth-Token'] = $this->token;
$client = \HPCloud\Transport::instance();
$client = \OpenStack\Transport::instance();
$response = $client->doRequest($url, 'GET', $headers);
if ($response->status() != 200) {
throw new \HPCloud\Exception('An unknown error occurred while saving: ' . $response->status());
throw new \OpenStack\Exception('An unknown error occurred while saving: ' . $response->status());
}
$remoteObject = RemoteObject::newFromHeaders($name, $response->headers(), $this->token, $url);
@@ -727,8 +727,8 @@ class Container implements \Countable, \IteratorAggregate {
*
* @param string $name
* The name of the object to fetch.
* @retval HPCloud::Storage::ObjectStorage::RemoteObject
* @return \HPCloud\Storage\ObjectStorage\RemoteObject
* @retval OpenStack::Storage::ObjectStorage::RemoteObject
* @return \OpenStack\Storage\ObjectStorage\RemoteObject
* A remote object ready for use.
*/
public function proxyObject($name) {
@@ -738,12 +738,12 @@ class Container implements \Countable, \IteratorAggregate {
);
$client = \HPCloud\Transport::instance();
$client = \OpenStack\Transport::instance();
$response = $client->doRequest($url, 'HEAD', $headers);
if ($response->status() != 200) {
throw new \HPCloud\Exception('An unknown error occurred while saving: ' . $response->status());
throw new \OpenStack\Exception('An unknown error occurred while saving: ' . $response->status());
}
$headers = $response->headers();
@@ -937,8 +937,8 @@ class Container implements \Countable, \IteratorAggregate {
* ObjectStorage methods.
*
* @todo Determine how to get the ACL from JSON data.
* @retval \HPCloud\Storage\ObjectStorage\ACL
* @return HPCloud::Storage::ObjectStorage::ACL
* @retval \OpenStack\Storage\ObjectStorage\ACL
* @return OpenStack::Storage::ObjectStorage::ACL
* An ACL, or NULL if the ACL could not be retrieved.
*/
public function acl() {
@@ -954,8 +954,8 @@ class Container implements \Countable, \IteratorAggregate {
* Not all containers come fully instantiated. This method is sometimes
* called to "fill in" missing fields.
*
* @retval HPCloud::Storage::ObjectStorage::Comtainer
* @return \HPCloud\Storage\ObjectStorage\Container
* @retval OpenStack::Storage::ObjectStorage::Comtainer
* @return \OpenStack\Storage\ObjectStorage\Container
*/
protected function loadExtraData() {
@@ -964,10 +964,10 @@ class Container implements \Countable, \IteratorAggregate {
// created with Container::createContainer(). We treat
// this as an error condition.
if (empty($this->url) || empty($this->token)) {
throw new \HPCloud\Exception('Remote data cannot be fetched. Tokena and endpoint URL are required.');
throw new \OpenStack\Exception('Remote data cannot be fetched. Tokena and endpoint URL are required.');
}
// Do a GET on $url to fetch headers.
$client = \HPCloud\Transport::instance();
$client = \OpenStack\Transport::instance();
$headers = array(
'X-Auth-Token' => $this->token,
);
@@ -1006,7 +1006,7 @@ class Container implements \Countable, \IteratorAggregate {
$query = str_replace('%2F', '/', $query);
$url = $this->url . '?' . $query;
$client = \HPCloud\Transport::instance();
$client = \OpenStack\Transport::instance();
$headers = array(
'X-Auth-Token' => $this->token,
);
@@ -1016,7 +1016,7 @@ class Container implements \Countable, \IteratorAggregate {
// The only codes that should be returned are 200 and the ones
// already thrown by doRequest.
if ($response->status() != 200) {
throw new \HPCloud\Exception('An unknown exception occurred while processing the request.');
throw new \OpenStack\Exception('An unknown exception occurred while processing the request.');
}
$responseContent = $response->content();
@@ -1029,7 +1029,7 @@ class Container implements \Countable, \IteratorAggregate {
$list[] = new Subdir($item['subdir'], $params['delimiter']);
}
elseif (empty($item['name'])) {
throw new \HPCloud\Exception('Unexpected entity returned.');
throw new \OpenStack\Exception('Unexpected entity returned.');
}
else {
//$url = $this->url . '/' . rawurlencode($item['name']);
@@ -1088,17 +1088,17 @@ class Container implements \Countable, \IteratorAggregate {
'X-Auth-Token' => $this->token,
);
$client = \HPCloud\Transport::instance();
$client = \OpenStack\Transport::instance();
try {
$response = $client->doRequest($url, 'DELETE', $headers);
}
catch (\HPCloud\Transport\FileNotFoundException $fnfe) {
catch (\OpenStack\Transport\FileNotFoundException $fnfe) {
return FALSE;
}
if ($response->status() != 204) {
throw new \HPCloud\Exception("An unknown exception occured while deleting $name.");
throw new \OpenStack\Exception("An unknown exception occured while deleting $name.");
}
return TRUE;

View File

@@ -25,7 +25,7 @@ SOFTWARE.
* Contains exception class for ContainerNotEmptyException.
*/
namespace HPCloud\Storage\ObjectStorage;
namespace OpenStack\Storage\ObjectStorage;
/**
* Indicatest that a container is not empty.
@@ -35,4 +35,4 @@ namespace HPCloud\Storage\ObjectStorage;
* exception is thrown when such an operation encounters an unempty
* container when it requires an empty one.
*/
class ContainerNotEmptyException extends \HPCloud\Transport\ServerException {}
class ContainerNotEmptyException extends \OpenStack\Transport\ServerException {}

View File

@@ -24,7 +24,7 @@ SOFTWARE.
*
* Contains the ContentVerificationException object.
*/
namespace HPCloud\Storage\ObjectStorage;
namespace OpenStack\Storage\ObjectStorage;
/**
* Content Verification error condition.
@@ -34,4 +34,4 @@ namespace HPCloud\Storage\ObjectStorage;
* RemoteObject::setContentVerification().
*
*/
class ContentVerificationException extends \HPCloud\Exception {}
class ContentVerificationException extends \OpenStack\Exception {}

View File

@@ -24,12 +24,12 @@ SOFTWARE.
* Contains the class Object for ObjectStorage.
*/
namespace HPCloud\Storage\ObjectStorage;
namespace OpenStack\Storage\ObjectStorage;
/**
* An object for ObjectStorage.
*
* The HPCloud ObjectStorage system provides a method for storing
* The OpenStack ObjectStorage system provides a method for storing
* complete chunks of data (objects) in the cloud. This class describes
* such a chunk of data.
*
@@ -148,8 +148,8 @@ class Object {
* @param array $array
* An associative array of metadata names to values.
*
* @retval HPCloud::Storage::ObjectStorage::Object
* @return \HPCloud\Storage\ObjectStorage\Object
* @retval OpenStack::Storage::ObjectStorage::Object
* @return \OpenStack\Storage\ObjectStorage\Object
* $this so the method can be used in chaining.
*/
public function setMetadata(array $array) {
@@ -180,13 +180,13 @@ class Object {
* object store.
*
* To copy an object, see
* HPCloud::Storage::ObjectStorage::Container::copyObject().
* OpenStack::Storage::ObjectStorage::Container::copyObject().
*
* @param string $name
* A file or object name.
*
* @retval HPCloud::Storage::ObjectStorage::Object
* @return \HPCloud\Storage\ObjectStorage\Object
* @retval OpenStack::Storage::ObjectStorage::Object
* @return \OpenStack\Storage\ObjectStorage\Object
* $this so the method can be used in chaining.
*/
public function setName($name) {
@@ -235,8 +235,8 @@ class Object {
* @param string $type
* A valid content type.
*
* @retval HPCloud::Storage::ObjectStorage::Object
* @return \HPCloud\Storage\ObjectStorage\Object
* @retval OpenStack::Storage::ObjectStorage::Object
* @return \OpenStack\Storage\ObjectStorage\Object
* $this so the method can be used in chaining.
*/
public function setContentType($type) {
@@ -278,8 +278,8 @@ class Object {
* The content type (MIME type). This can be set here for
* convenience, or you can call setContentType() directly.
*
* @retval HPCloud::Storage::ObjectStorage::Object
* @return \HPCloud\Storage\ObjectStorage\Object
* @retval OpenStack::Storage::ObjectStorage::Object
* @return \OpenStack\Storage\ObjectStorage\Object
* $this so the method can be used in chaining.
*/
public function setContent($content, $type = NULL) {
@@ -372,8 +372,8 @@ class Object {
* @param string $encoding
* A valid encoding type.
*
* @retval HPCloud::Storage::ObjectStorage::Object
* @return \HPCloud\Storage\ObjectStorage\Object
* @retval OpenStack::Storage::ObjectStorage::Object
* @return \OpenStack\Storage\ObjectStorage\Object
* $this so the method can be used in chaining.
*/
public function setEncoding($encoding) {
@@ -417,8 +417,8 @@ class Object {
* A valid disposition declaration. These are defined in various
* HTTP specifications.
*
* @retval HPCloud::Storage::ObjectStorage::Object
* @return \HPCloud\Storage\ObjectStorage\Object
* @retval OpenStack::Storage::ObjectStorage::Object
* @return \OpenStack\Storage\ObjectStorage\Object
* $this so the method can be used in chaining.
*/
public function setDisposition($disposition) {
@@ -474,8 +474,8 @@ class Object {
* each value is the HTTP header value. No encoding or escaping is
* done.
*
* @retval HPCloud::Storage::ObjectStorage::Object
* @return \HPCloud\Storage\ObjectStorage\Object
* @retval OpenStack::Storage::ObjectStorage::Object
* @return \OpenStack\Storage\ObjectStorage\Object
* $this so the method can be used in chaining.
*/
public function setAdditionalHeaders($headers) {
@@ -509,8 +509,8 @@ class Object {
* @param array $keys
* The header names to be removed.
*
* @retval HPCloud::Storage::ObjectStorage::Object
* @return \HPCloud\Storage\ObjectStorage\Object
* @retval OpenStack::Storage::ObjectStorage::Object
* @return \OpenStack\Storage\ObjectStorage\Object
* $this for the current object so it can be used in chaining methods.
*/
public function removeHeaders($keys) {

View File

@@ -22,8 +22,8 @@ SOFTWARE.
/**
* @file
*/
namespace HPCloud\Storage\ObjectStorage;
namespace OpenStack\Storage\ObjectStorage;
/**
* Thrown if an object that is read only is modified.
*/
class ReadOnlyObjectException extends \HPCloud\Exception {}
class ReadOnlyObjectException extends \OpenStack\Exception {}

View File

@@ -25,14 +25,14 @@ SOFTWARE.
* Contains the RemoteObject class.
*/
namespace HPCloud\Storage\ObjectStorage;
namespace OpenStack\Storage\ObjectStorage;
/**
* A representation of an object stored in remote Object Storage.
*
* A remote object is one whose canonical copy is stored in a remote
* object storage. It represents a local (and possibly partial) copy of
* an object. (Contrast this with HPCloud::Storage::ObjectStorage::Object)
* an object. (Contrast this with OpenStack::Storage::ObjectStorage::Object)
*
* Depending on how the object was constructed, it may or may not have a
* local copy of the entire contents of the file. It may only have the
@@ -43,7 +43,7 @@ namespace HPCloud\Storage\ObjectStorage;
* Remote objects can be modified locally. Simply modifying an object
* will not result in those modifications being stored on the remote
* server. The object must be saved (see
* HPCloud::Storage::ObjectStorage::Container::save()). When an
* OpenStack::Storage::ObjectStorage::Container::save()). When an
* object is modified so that its local contents differ from the remote
* stored copy, it is marked dirty (see isDirty()).
*/
@@ -112,8 +112,8 @@ class RemoteObject extends Object {
* The URL to the object in the object storage. Used for issuing
* subsequent requests.
*
* @retval HPCloud::Storage::ObjectStorage::RemoteObject
* @return \HPCloud\Storage\ObjectStorage\RemoteObject
* @retval OpenStack::Storage::ObjectStorage::RemoteObject
* @return \OpenStack\Storage\ObjectStorage\RemoteObject
* A new RemoteObject.
*/
public static function newFromHeaders($name, $headers, $token, $url) {
@@ -208,8 +208,8 @@ class RemoteObject extends Object {
/**
* Set the headers
*
* @retval HPCloud::Storage::ObjectStorage::RemoteObject
* @return \HPCloud\Storage\ObjectStorage\RemoteObject
* @retval OpenStack::Storage::ObjectStorage::RemoteObject
* @return \OpenStack\Storage\ObjectStorage\RemoteObject
* $this for the current object so it can be used in chaining methods.
*/
public function setHeaders($headers) {
@@ -266,8 +266,8 @@ class RemoteObject extends Object {
/**
* Filter the headers.
*
* @retval HPCloud::Storage::ObjectStorage::RemoteObject
* @return \HPCloud\Storage\ObjectStorage\RemoteObject
* @retval OpenStack::Storage::ObjectStorage::RemoteObject
* @return \OpenStack\Storage\ObjectStorage\RemoteObject
* $this for the current object so it can be used in chaining methods.
*/
public function filterHeaders(&$headers) {
@@ -303,8 +303,8 @@ class RemoteObject extends Object {
* @param array $keys
* The header names to be removed.
*
* @retval HPCloud::Storage::ObjectStorage::RemoteObject
* @return \HPCloud\Storage\ObjectStorage\RemoteObject
* @retval OpenStack::Storage::ObjectStorage::RemoteObject
* @return \OpenStack\Storage\ObjectStorage\RemoteObject
* $this for the current object so it can be used in chaining methods.
*/
public function removeHeaders($keys) {
@@ -334,10 +334,10 @@ class RemoteObject extends Object {
* @retval string
* @return string
* The contents of the file as a string.
* @throws \HPCloud\Transport\FileNotFoundException
* @throws \OpenStack\Transport\FileNotFoundException
* when the requested content cannot be located on the remote
* server.
* @throws \HPCloud\Exception
* @throws \OpenStack\Exception
* when an unknown exception (usually an abnormal network condition)
* occurs.
*/
@@ -452,8 +452,8 @@ class RemoteObject extends Object {
* If this is TRUE, caching will be enabled. If this is FALSE,
* caching will be disabled.
*
* @retval HPCloud::Storage::ObjectStorage::RemoteObject
* @return \HPCloud\Storage\ObjectStorage\RemoteObject
* @retval OpenStack::Storage::ObjectStorage::RemoteObject
* @return \OpenStack\Storage\ObjectStorage\RemoteObject
* $this so the method can be used in chaining.
*/
public function setCaching($enabled) {
@@ -498,8 +498,8 @@ class RemoteObject extends Object {
* is hashed and checked against a server-supplied MD5 hashcode. If
* this is FALSE, no checking is done.
*
* @retval HPCloud::Storage::ObjectStorage::RemoteObject
* @return \HPCloud\Storage\ObjectStorage\RemoteObject
* @retval OpenStack::Storage::ObjectStorage::RemoteObject
* @return \OpenStack\Storage\ObjectStorage\RemoteObject
* $this so the method can be used in chaining.
*/
public function setContentVerification($enabled) {
@@ -574,8 +574,8 @@ class RemoteObject extends Object {
* @param boolean $fetchContent
* If this is TRUE, the content will be downloaded as well.
*
* @retval HPCloud::Storage::ObjectStorage::RemoteObject
* @return \HPCloud\Storage\ObjectStorage\RemoteObject
* @retval OpenStack::Storage::ObjectStorage::RemoteObject
* @return \OpenStack\Storage\ObjectStorage\RemoteObject
* $this for the current object so it can be used in chaining methods.
*/
public function refresh($fetchContent = FALSE) {
@@ -601,15 +601,15 @@ class RemoteObject extends Object {
* cause the remote host to return the object in the response body.
* The response body is not handled, though. If this is set to
* FALSE, a HEAD request is sent, and no body is returned.
* @retval HPCloud::Transport::Response
* @return \HPCloud\Transport\Response
* @retval OpenStack::Transport::Response
* @return \OpenStack\Transport\Response
* containing the object metadata and (depending on the
* $fetchContent flag) optionally the data.
*/
protected function fetchObject($fetchContent = FALSE) {
$method = $fetchContent ? 'GET' : 'HEAD';
$client = \HPCloud\Transport::instance();
$client = \OpenStack\Transport::instance();
$headers = array(
'X-Auth-Token' => $this->token,
);
@@ -617,7 +617,7 @@ class RemoteObject extends Object {
$response = $client->doRequest($this->url, $method, $headers);
if ($response->status() != 200) {
throw new \HPCloud\Exception('An unknown exception occurred during transmission.');
throw new \OpenStack\Exception('An unknown exception occurred during transmission.');
}
$this->extractFromHeaders($response);
@@ -630,8 +630,8 @@ class RemoteObject extends Object {
*
* This is used internally to set object properties from headers.
*
* @retval HPCloud::Storage::ObjectStorage::RemoteObject
* @return \HPCloud\Storage\ObjectStorage\RemoteObject
* @retval OpenStack::Storage::ObjectStorage::RemoteObject
* @return \OpenStack\Storage\ObjectStorage\RemoteObject
* $this for the current object so it can be used in chaining methods.
*/
protected function extractFromHeaders($response) {

View File

@@ -24,10 +24,10 @@ SOFTWARE.
* Contains the stream wrapper for `swift://` URLs.
*/
namespace HPCloud\Storage\ObjectStorage;
namespace OpenStack\Storage\ObjectStorage;
use \HPCloud\Bootstrap;
use \HPCloud\Storage\ObjectStorage;
use \OpenStack\Bootstrap;
use \OpenStack\Storage\ObjectStorage;
/**
* Provides stream wrapping for Swift.
@@ -83,7 +83,7 @@ use \HPCloud\Storage\ObjectStorage;
* The principle purpose of this wrapper is to make it easy to access and
* manipulate objects on a remote object storage instance. Managing
* containers is a secondary concern (and can often better be managed using
* the HPCloud API). Consequently, almost all actions done through the
* the OpenStack API). Consequently, almost all actions done through the
* stream wrapper are focused on objects, not containers, servers, etc.
*
* <b>Retrieving an Existing Object</b>
@@ -102,7 +102,7 @@ use \HPCloud\Storage\ObjectStorage;
*
* @code
* <?php
* \HPCloud\Bootstrap::useStreamWrappers();
* \OpenStack\Bootstrap::useStreamWrappers();
* // Set up the context.
* $context = stream_context_create(
* array('swift' => array(
@@ -144,7 +144,7 @@ use \HPCloud\Storage\ObjectStorage;
* - filesize()
* - fileperms()
*
* The HPCloud stream wrapper provides support for these file-level functions.
* The OpenStack stream wrapper provides support for these file-level functions.
* But there are a few things you should know:
*
* - Each call to one of these functions generates at least one request. It may
@@ -199,14 +199,14 @@ use \HPCloud\Storage\ObjectStorage;
* said markers ought to be created, they are not supported by the stream
* wrapper.
*
* As usual, the underlying HPCloud::Storage::ObjectStorage::Container class
* As usual, the underlying OpenStack::Storage::ObjectStorage::Container class
* supports the full range of Swift features.
*
* <b>SUPPORTED CONTEXT PARAMETERS</b>
*
* This section details paramters that can be passed <i>either</i>
* through a stream context <i>or</i> through
* HPCloud::Bootstrap::setConfiguration().
* OpenStack::Bootstrap::setConfiguration().
*
* @attention
* PHP functions that do not allow you to pass a context may still be supported
@@ -227,7 +227,7 @@ use \HPCloud\Storage\ObjectStorage;
* to an account and tenant.
*
* The following parameters may be set either in the stream context
* or through HPCloud::Bootstrap::setConfiguration():
* or through OpenStack::Bootstrap::setConfiguration():
*
* - token: An auth token. If this is supplied, authentication is skipped and
* this token is used. NOTE: You MUST set swift_endpoint if using this
@@ -241,7 +241,7 @@ use \HPCloud\Storage\ObjectStorage;
* - endpoint: The URL to the authentication endpoint. Necessary if you are not
* using a 'token' and 'swift_endpoint'.
* - use_swift_auth: If this is set to TRUE, it will force the app to use
* the deprecated swiftAuth instead of IdentityServices authentication.
* the deprecated swiftAuth instead of IdentityService authentication.
* In general, you should avoid using this.
* - content_type: This is effective only when writing files. It will
* set the Content-Type of the file during upload.
@@ -420,7 +420,7 @@ class StreamWrapper {
$this->dirListing = $container->objectsWithPrefix($this->dirPrefix, $sep);
}
catch (\HPCloud\Exception $e) {
catch (\OpenStack\Exception $e) {
trigger_error('Directory could not be opened: ' . $e->getMessage(), E_USER_WARNING);
return FALSE;
}
@@ -462,7 +462,7 @@ class StreamWrapper {
$curr = $this->dirListing[$this->dirIndex];
$this->dirIndex++;
if ($curr instanceof \HPCloud\Storage\ObjectStorage\Subdir) {
if ($curr instanceof \OpenStack\Storage\ObjectStorage\Subdir) {
$fullpath = $curr->path();
}
else {
@@ -578,7 +578,7 @@ class StreamWrapper {
return $container->delete($src['path']);
}
}
catch (\HPCloud\Exception $e) {
catch (\OpenStack\Exception $e) {
trigger_error('Rename was not completed: ' . $e->getMessage(), E_USER_WARNING);
return FALSE;
}
@@ -631,7 +631,7 @@ class StreamWrapper {
try {
$this->writeRemote();
}
catch (\HPCloud\Exception $e) {
catch (\OpenStack\Exception $e) {
trigger_error('Error while closing: ' . $e->getMessage(), E_USER_NOTICE);
return FALSE;
}
@@ -671,7 +671,7 @@ class StreamWrapper {
try {
$this->writeRemote();
}
catch (\HPCloud\Exception $e) {
catch (\OpenStack\Exception $e) {
syslog(LOG_WARNING, $e);
trigger_error('Error while flushing: ' . $e->getMessage(), E_USER_NOTICE);
return FALSE;
@@ -820,7 +820,7 @@ class StreamWrapper {
try {
$this->initializeObjectStorage();
}
catch (\HPCloud\Exception $e) {
catch (\OpenStack\Exception $e) {
trigger_error('Failed to init object storage: ' . $e->getMessage(), E_USER_WARNING);
return FALSE;
}
@@ -834,7 +834,7 @@ class StreamWrapper {
try {
$this->container = $this->store->container($containerName);
}
catch (\HPCloud\Transport\FileNotFoundException $e) {
catch (\OpenStack\Transport\FileNotFoundException $e) {
trigger_error('Container not found.', E_USER_WARNING);
return FALSE;
}
@@ -883,7 +883,7 @@ class StreamWrapper {
// If a 404 is thrown, we need to determine whether
// or not a new file should be created.
catch (\HPCloud\Transport\FileNotFoundException $nf) {
catch (\OpenStack\Transport\FileNotFoundException $nf) {
// For many modes, we just go ahead and create.
if ($this->createIfNotFound) {
@@ -900,7 +900,7 @@ class StreamWrapper {
}
// All other exceptions are fatal.
catch (\HPCloud\Exception $e) {
catch (\OpenStack\Exception $e) {
//if ($this->triggerErrors) {
trigger_error('Failed to fetch object: ' . $e->getMessage(), E_USER_WARNING);
//}
@@ -1001,7 +1001,7 @@ class StreamWrapper {
*
* To use standard \c stat() on a Swift stream, you will
* need to set account information (tenant ID, account ID, secret,
* etc.) through HPCloud::Bootstrap::setConfiguration().
* etc.) through OpenStack::Bootstrap::setConfiguration().
*
* @retval array
* @return array
@@ -1061,7 +1061,7 @@ class StreamWrapper {
* a marker will NOT delete the contents of the "directory".
*
* @attention
* You will need to use HPCloud::Bootstrap::setConfiguration() to set the
* You will need to use OpenStack::Bootstrap::setConfiguration() to set the
* necessary stream configuration, since \c unlink() does not take a context.
*
* @param string $path
@@ -1093,10 +1093,10 @@ class StreamWrapper {
$name = $url['host'];
$token = $this->store->token();
$endpoint_url = $this->store->url() . '/' . rawurlencode($name);
$container = new \HPCloud\Storage\ObjectStorage\Container($name, $endpoint_url, $token);
$container = new \OpenStack\Storage\ObjectStorage\Container($name, $endpoint_url, $token);
return $container->delete($url['path']);
}
catch (\HPCLoud\Exception $e) {
catch (\OpenStack\Exception $e) {
trigger_error('Error during unlink: ' . $e->getMessage(), E_USER_WARNING);
return FALSE;
}
@@ -1126,10 +1126,10 @@ class StreamWrapper {
$name = $url['host'];
$token = $this->store->token();
$endpoint_url = $this->store->url() . '/' . rawurlencode($name);
$container = new \HPCloud\Storage\ObjectStorage\Container($name, $endpoint_url, $token);
$container = new \OpenStack\Storage\ObjectStorage\Container($name, $endpoint_url, $token);
$obj = $container->remoteObject($url['path']);
}
catch(\HPCloud\Exception $e) {
catch(\OpenStack\Exception $e) {
// Apparently file_exists does not set STREAM_URL_STAT_QUIET.
//if ($flags & STREAM_URL_STAT_QUIET) {
//trigger_error('Could not stat remote file: ' . $e->getMessage(), E_USER_WARNING);
@@ -1141,7 +1141,7 @@ class StreamWrapper {
try {
return @$this->generateStat($obj, $container, $obj->contentLength());
}
catch (\HPCloud\Exception $e) {
catch (\OpenStack\Exception $e) {
return FALSE;
}
}
@@ -1180,7 +1180,7 @@ class StreamWrapper {
/**
* EXPERT: Get the ObjectStorage for this wrapper.
*
* @retval object HPCloud::ObjectStorage
* @retval object OpenStack::ObjectStorage
* An ObjectStorage object.
* @see object()
*/
@@ -1200,7 +1200,7 @@ class StreamWrapper {
}
/**
* EXPERT: Get the service catalog (IdentityServices) for this wrapper.
* EXPERT: Get the service catalog (IdentityService) for this wrapper.
*
* This is only available when a file is opened via fopen().
*
@@ -1256,7 +1256,7 @@ class StreamWrapper {
$gid = 0;
}
if ($object instanceof \HPCloud\Storage\ObjectStorage\RemoteObject) {
if ($object instanceof \OpenStack\Storage\ObjectStorage\RemoteObject) {
$modTime = $object->lastModified();
}
else {
@@ -1295,8 +1295,8 @@ class StreamWrapper {
* @param string $mode
* The mode string, e.g. `r+` or `wb`.
*
* @retval HPCloud::Storage::ObjectStorage::StreamWrapper
* @return \HPCloud\Storage\ObjectStorage\StreamWrapper
* @retval OpenStack::Storage::ObjectStorage::StreamWrapper
* @return \OpenStack\Storage\ObjectStorage\StreamWrapper
* $this so the method can be used in chaining.
*/
protected function setMode($mode) {
@@ -1409,8 +1409,8 @@ class StreamWrapper {
}
// Check to see if the value can be gotten from
// \HPCloud\Bootstrap.
$val = \HPCloud\Bootstrap::config($name, NULL);
// \OpenStack\Bootstrap.
$val = \OpenStack\Bootstrap::config($name, NULL);
if (isset($val)) {
return $val;
}
@@ -1458,7 +1458,7 @@ class StreamWrapper {
* Based on the context, initialize the ObjectStorage.
*
* The following parameters may be set either in the stream context
* or through HPCloud::Bootstrap::setConfiguration():
* or through OpenStack::Bootstrap::setConfiguration():
*
* - token: An auth token. If this is supplied, authentication is skipped and
* this token is used. NOTE: You MUST set swift_endpoint if using this
@@ -1472,7 +1472,7 @@ class StreamWrapper {
* - endpoint: The URL to the authentication endpoint. Necessary if you are not
* using a 'token' and 'swift_endpoint'.
* - use_swift_auth: If this is set to TRUE, it will force the app to use
* the deprecated swiftAuth instead of IdentityServices authentication.
* the deprecated swiftAuth instead of IdentityService authentication.
* In general, you should avoid using this.
*
* To find these params, the method first checks the supplied context. If the
@@ -1502,23 +1502,23 @@ class StreamWrapper {
// FIXME: If a token is invalidated, we should try to re-authenticate.
// If context has the info we need, start from there.
if (!empty($token) && !empty($endpoint)) {
$this->store = new \HPCloud\Storage\ObjectStorage($token, $endpoint);
$this->store = new \OpenStack\Storage\ObjectStorage($token, $endpoint);
}
// DEPRECATED: For old swift auth.
elseif ($this->cxt('use_swift_auth', FALSE)) {
if (empty($authUrl) || empty($account) || empty($key)) {
throw new \HPCloud\Exception('account, endpoint, key are required stream parameters.');
throw new \OpenStack\Exception('account, endpoint, key are required stream parameters.');
}
$this->store = \HPCloud\Storage\ObjectStorage::newFromSwiftAuth($account, $key, $authUrl);
$this->store = \OpenStack\Storage\ObjectStorage::newFromSwiftAuth($account, $key, $authUrl);
}
// If we get here and tenant ID is not set, we can't get a container.
elseif (empty($tenantId) && empty($tenantName)) {
throw new \HPCloud\Exception('Either Tenant ID (tenantid) or Tenant Name (tenantname) is required.');
throw new \OpenStack\Exception('Either Tenant ID (tenantid) or Tenant Name (tenantname) is required.');
}
elseif (empty($authUrl)) {
throw new \HPCloud\Exception('An Identity Service Endpoint (endpoint) is required.');
throw new \OpenStack\Exception('An Identity Service Endpoint (endpoint) is required.');
}
// Try to authenticate and get a new token.
else {
@@ -1534,8 +1534,8 @@ class StreamWrapper {
/*
$catalog = $ident->serviceCatalog(ObjectStorage::SERVICE_TYPE);
if (empty($catalog) || empty($catalog[0]['endpoints'][0]['publicURL'])) {
//throw new \HPCloud\Exception('No object storage services could be found for this tenant ID.' . print_r($catalog, TRUE));
throw new \HPCloud\Exception('No object storage services could be found for this tenant ID.');
//throw new \OpenStack\Exception('No object storage services could be found for this tenant ID.' . print_r($catalog, TRUE));
throw new \OpenStack\Exception('No object storage services could be found for this tenant ID.');
}
$serviceURL = $catalog[0]['endpoints'][0]['publicURL'];
@@ -1559,7 +1559,7 @@ class StreamWrapper {
$tenantName = $this->cxt('tenantname');
$authUrl = $this->cxt('endpoint');
$ident = new \HPCloud\Services\IdentityServices($authUrl);
$ident = new \OpenStack\Services\IdentityService($authUrl);
// Frustrated? Go burninate. http://www.homestarrunner.com/trogdor.html
@@ -1570,7 +1570,7 @@ class StreamWrapper {
$token = $ident->authenticateAsAccount($account, $key, $tenantId, $tenantName);
}
else {
throw new \HPCloud\Exception('Either username/password or account/key must be provided.');
throw new \OpenStack\Exception('Either username/password or account/key must be provided.');
}
// Cache the service catalog.
self::$serviceCatalogCache[$token] = $ident->serviceCatalog();

View File

@@ -25,7 +25,7 @@ SOFTWARE.
*
* <b>Note, this stream wrapper is in early testing.</b>
*
* The stream wrapper implemented in HPCloud\Storage\ObjectStorage\StreamWrapper
* The stream wrapper implemented in OpenStack\Storage\ObjectStorage\StreamWrapper
* only supports the elements of a stream that are implemented by object
* storage. This is how the PHP documentation states a stream wrapper should be
* created. Because some features do not exist, attempting to treat a stream
@@ -38,7 +38,7 @@ SOFTWARE.
* Hence the protocol is swiftfs standing for swift file system.
*
* To understand how this stream wrapper works start by first reading the
* documentation on the HPCloud::Storage::ObjectStorage::StreamWrapper.
* documentation on the OpenStack::Storage::ObjectStorage::StreamWrapper.
*
* <b>DIRECTORIES</b>
*
@@ -51,7 +51,7 @@ SOFTWARE.
*
* In addition to the parameters supported by StreamWrapper, the following
* parameters may be set either in the stream context or through
* HPCloud::Bootstrap::setConfiguration():
* OpenStack::Bootstrap::setConfiguration():
* - swiftfs_fake_stat_mode: Directories don't exist in swift. When stat() is
* is called on a directory we mock the stat information so functions like
* is_dir will work. The default file permissions is 0777. Though this
@@ -64,10 +64,10 @@ SOFTWARE.
* FALSE.
*/
namespace HPCloud\Storage\ObjectStorage;
namespace OpenStack\Storage\ObjectStorage;
use \HPCloud\Bootstrap;
use \HPCloud\Storage\ObjectStorage;
use \OpenStack\Bootstrap;
use \OpenStack\Storage\ObjectStorage;
/**
* Provides stream wrapping for Swift like a file system.
@@ -178,7 +178,7 @@ class StreamWrapperFS extends StreamWrapper {
return !empty($dirListing);
}
catch (\HPCloud\Exception $e) {
catch (\OpenStack\Exception $e) {
trigger_error('Path could not be opened: ' . $e->getMessage(), E_USER_WARNING);
return FALSE;
}

View File

@@ -24,7 +24,7 @@ SOFTWARE.
* Contains the Subdir class.
*/
namespace HPCloud\Storage\ObjectStorage;
namespace OpenStack\Storage\ObjectStorage;
/**
* Represent a subdirectory (subdir) entry.

View File

@@ -76,11 +76,11 @@ Your settings should look something like this:
```
; Settings to work with swift:
; hpcloud.swift.account = 12345678:87654321
; hpcloud.swift.key = abcdef123456
; hpcloud.swift.url = https://region-a.geo-1.objects.hpcloudsvc.com/auth/v1.0/
; openstack.swift.account = 12345678:87654321
; openstack.swift.key = abcdef123456
; openstack.swift.url = https://region-a.geo-1.objects.hpcloudsvc.com/auth/v1.0/
hpcloud.swift.container = "I♡HPCloud"
openstack.swift.container = "I♡HPCloud"
openstack.identity.url = https://region-a.geo-1.idenity.hpcloudsvc.com
openstack.identity.tenantId = 12345
@@ -93,7 +93,7 @@ hpcloud.identity.key = 9878787
You will need to add all of the `hpcloud.identity` settings, and all of
this information can be found on your console.
The hpcloud.swift.account, key, and url params are no longer required
The openstack.swift.account, key, and url params are no longer required
for the basic tests, but are required if you are also running the tests
in the group `deprecated`.

View File

@@ -47,7 +47,7 @@ class TestCase extends \PHPUnit_Framework_TestCase {
public static $ostore = NULL;
/**
* The IdentityServices instance.
* The IdentityService instance.
*/
public static $ident;
@@ -97,17 +97,17 @@ class TestCase extends \PHPUnit_Framework_TestCase {
*/
protected function swiftAuth() {
$user = self::$settings['hpcloud.swift.account'];
$key = self::$settings['hpcloud.swift.key'];
$url = self::$settings['hpcloud.swift.url'];
$user = self::$settings['openstack.swift.account'];
$key = self::$settings['openstack.swift.key'];
$url = self::$settings['openstack.swift.url'];
//$url = self::$settings['openstack.identity.url'];
return \HPCloud\Storage\ObjectStorage::newFromSwiftAuth($user, $key, $url);
return \OpenStack\Storage\ObjectStorage::newFromSwiftAuth($user, $key, $url);
}
/**
* Get a handle to an IdentityServices object.
* Get a handle to an IdentityService object.
*
* Authentication is performed, and the returned
* service has its tenant ID set already.
@@ -127,7 +127,7 @@ class TestCase extends \PHPUnit_Framework_TestCase {
$tenantId = self::conf('openstack.identity.tenantId');
$url = self::conf('openstack.identity.url');
$is = new \HPCloud\Services\IdentityServices($url);
$is = new \OpenStack\Services\IdentityService($url);
$token = $is->authenticateAsUser($user, $pass, $tenantId);
@@ -142,7 +142,7 @@ class TestCase extends \PHPUnit_Framework_TestCase {
if ($reset || empty(self::$ostore)) {
$ident = $this->identity($reset);
$objStore = \HPCloud\Storage\ObjectStorage::newFromIdentity($ident);
$objStore = \OpenStack\Storage\ObjectStorage::newFromIdentity($ident);
self::$ostore = $objStore;
@@ -158,7 +158,7 @@ class TestCase extends \PHPUnit_Framework_TestCase {
if (empty($this->containerFixture)) {
$store = $this->objectStore();
$cname = self::$settings['hpcloud.swift.container'];
$cname = self::$settings['openstack.swift.container'];
try {
$store->createContainer($cname);
@@ -216,7 +216,7 @@ class TestCase extends \PHPUnit_Framework_TestCase {
*/
protected function destroyContainerFixture() {
$store = $this->objectStore();
$cname = self::$settings['hpcloud.swift.container'];
$cname = self::$settings['openstack.swift.container'];
try {
$container = $store->container($cname);

View File

@@ -24,16 +24,16 @@ SOFTWARE.
*
* Unit tests for ObjectStorage ACLs.
*/
namespace HPCloud\Tests\Storage\ObjectStorage;
namespace OpenStack\Tests\Storage\ObjectStorage;
require_once 'src/HPCloud/Bootstrap.php';
require_once 'src/OpenStack/Bootstrap.php';
require_once 'test/TestCase.php';
use \HPCloud\Storage\ObjectStorage\ACL;
use \OpenStack\Storage\ObjectStorage\ACL;
/**
* @ingroup Tests
*/
class ACLTest extends \HPCloud\Tests\TestCase {
class ACLTest extends \OpenStack\Tests\TestCase {
public function testConstructor() {
$acl = new ACL();

View File

@@ -24,16 +24,16 @@ SOFTWARE.
*
* Unit tests for Containers.
*/
namespace HPCloud\Tests\Storage\ObjectStorage;
namespace OpenStack\Tests\Storage\ObjectStorage;
require_once 'src/HPCloud/Bootstrap.php';
require_once 'src/OpenStack/Bootstrap.php';
require_once 'test/TestCase.php';
use \HPCloud\Storage\ObjectStorage\Container;
use \HPCloud\Storage\ObjectStorage\Object;
use \HPCloud\Storage\ObjectStorage\ACL;
use \OpenStack\Storage\ObjectStorage\Container;
use \OpenStack\Storage\ObjectStorage\Object;
use \OpenStack\Storage\ObjectStorage\ACL;
class ContainerTest extends \HPCloud\Tests\TestCase {
class ContainerTest extends \OpenStack\Tests\TestCase {
const FILENAME = 'unit-test-dummy.txt';
const FILESTR = 'This is a test.';
@@ -54,7 +54,7 @@ class ContainerTest extends \HPCloud\Tests\TestCase {
}
/**
* @expectedException \HPCloud\Exception
* @expectedException \OpenStack\Exception
*/
public function testConstructorFailure() {
$container = new Container('foo');
@@ -195,8 +195,8 @@ class ContainerTest extends \HPCloud\Tests\TestCase {
try {
$foo = $container->object('no/such');
}
catch (\HPCloud\Exception $e) {
$this->assertInstanceOf('\HPCloud\Transport\FileNotFoundException', $e);
catch (\OpenStack\Exception $e) {
$this->assertInstanceOf('\OpenStack\Transport\FileNotFoundException', $e);
}
}
@@ -265,7 +265,7 @@ class ContainerTest extends \HPCloud\Tests\TestCase {
$this->assertEquals(2, count($objects));
foreach ($objects as $o) {
$this->assertInstanceOf('\HPCloud\Storage\ObjectStorage\Object', $o);
$this->assertInstanceOf('\OpenStack\Storage\ObjectStorage\Object', $o);
}
// This should give us one file and one subdir.
@@ -378,7 +378,7 @@ class ContainerTest extends \HPCloud\Tests\TestCase {
// Create a new container.
$store = $this->objectStore();
$cname = self::$settings['hpcloud.swift.container'] . 'COPY';
$cname = self::$settings['openstack.swift.container'] . 'COPY';
if ($store->hasContainer($cname)) {
$this->eradicateContainer($cname);
}
@@ -424,7 +424,7 @@ class ContainerTest extends \HPCloud\Tests\TestCase {
*/
public function testAcl() {
$store = $this->objectStore();
$cname = self::$settings['hpcloud.swift.container'] . 'PUBLIC';
$cname = self::$settings['openstack.swift.container'] . 'PUBLIC';
if ($store->hasContainer($cname)) {
$store->deleteContainer($cname);
@@ -438,7 +438,7 @@ class ContainerTest extends \HPCloud\Tests\TestCase {
$acl = $container->acl();
$this->assertInstanceOf('\HPCloud\Storage\ObjectStorage\ACL', $acl);
$this->assertInstanceOf('\OpenStack\Storage\ObjectStorage\ACL', $acl);
$this->assertTrue($acl->isPublic());
$store->deleteContainer($cname);

View File

@@ -24,16 +24,16 @@ SOFTWARE.
*
* Unit tests for ObjectStorage.
*/
namespace HPCloud\Tests\Storage;
namespace OpenStack\Tests\Storage;
require_once 'src/HPCloud/Bootstrap.php';
require_once 'src/OpenStack/Bootstrap.php';
require_once 'test/TestCase.php';
use \HPCloud\Storage\ObjectStorage\Object;
use \HPCloud\Storage\ObjectStorage\ACL;
use \OpenStack\Storage\ObjectStorage\Object;
use \OpenStack\Storage\ObjectStorage\ACL;
class ObjectStorageTest extends \HPCloud\Tests\TestCase {
class ObjectStorageTest extends \OpenStack\Tests\TestCase {
/**
* Canary test.
@@ -50,7 +50,7 @@ class ObjectStorageTest extends \HPCloud\Tests\TestCase {
$ostore = $this->swiftAuth();
$this->assertInstanceOf('\HPCloud\Storage\ObjectStorage', $ostore);
$this->assertInstanceOf('\OpenStack\Storage\ObjectStorage', $ostore);
$this->assertTrue(strlen($ostore->token()) > 0);
}
@@ -60,7 +60,7 @@ class ObjectStorageTest extends \HPCloud\Tests\TestCase {
public function testConstructor() {
$ident = $this->identity();
$services = $ident->serviceCatalog(\HPCloud\Storage\ObjectStorage::SERVICE_TYPE);
$services = $ident->serviceCatalog(\OpenStack\Storage\ObjectStorage::SERVICE_TYPE);
if (empty($services)) {
throw new \Exception('No object-store service found.');
@@ -69,9 +69,9 @@ class ObjectStorageTest extends \HPCloud\Tests\TestCase {
//$serviceURL = $services[0]['endpoints'][0]['adminURL'];
$serviceURL = $services[0]['endpoints'][0]['publicURL'];
$ostore = new \HPCloud\Storage\ObjectStorage($ident->token(), $serviceURL);
$ostore = new \OpenStack\Storage\ObjectStorage($ident->token(), $serviceURL);
$this->assertInstanceOf('\HPCloud\Storage\ObjectStorage', $ostore);
$this->assertInstanceOf('\OpenStack\Storage\ObjectStorage', $ostore);
$this->assertTrue(strlen($ostore->token()) > 0);
}
@@ -80,8 +80,8 @@ class ObjectStorageTest extends \HPCloud\Tests\TestCase {
$ident = $this->identity();
$tok = $ident->token();
$cat = $ident->serviceCatalog();
$ostore = \HPCloud\Storage\ObjectStorage::newFromServiceCatalog($cat, $tok);
$this->assertInstanceOf('\HPCloud\Storage\ObjectStorage', $ostore);
$ostore = \OpenStack\Storage\ObjectStorage::newFromServiceCatalog($cat, $tok);
$this->assertInstanceOf('\OpenStack\Storage\ObjectStorage', $ostore);
$this->assertTrue(strlen($ostore->token()) > 0);
}
@@ -89,25 +89,25 @@ class ObjectStorageTest extends \HPCloud\Tests\TestCase {
$ident = $this->identity();
$tok = $ident->token();
$cat = $ident->serviceCatalog();
$ostore = \HPCloud\Storage\ObjectStorage::newFromServiceCatalog($cat, $tok, 'region-w.geo-99999.fake');
$ostore = \OpenStack\Storage\ObjectStorage::newFromServiceCatalog($cat, $tok, 'region-w.geo-99999.fake');
$this->assertEmpty($ostore);
}
public function testNewFromIdnetity() {
$ident = $this->identity();
$ostore = \HPCloud\Storage\ObjectStorage::newFromIdentity($ident);
$this->assertInstanceOf('\HPCloud\Storage\ObjectStorage', $ostore);
$ostore = \OpenStack\Storage\ObjectStorage::newFromIdentity($ident);
$this->assertInstanceOf('\OpenStack\Storage\ObjectStorage', $ostore);
$this->assertTrue(strlen($ostore->token()) > 0);
}
public function testNewFromIdentityAltRegion() {
$ident = $this->identity();
$ostore = \HPCloud\Storage\ObjectStorage::newFromIdentity($ident, 'region-b.geo-1');
$this->assertInstanceOf('\HPCloud\Storage\ObjectStorage', $ostore);
$ostore = \OpenStack\Storage\ObjectStorage::newFromIdentity($ident, 'region-b.geo-1');
$this->assertInstanceOf('\OpenStack\Storage\ObjectStorage', $ostore);
$this->assertTrue(strlen($ostore->token()) > 0);
// Make sure the store is not the same as the default region.
$ostoreDefault = \HPCloud\Storage\ObjectStorage::newFromIdentity($ident);
$ostoreDefault = \OpenStack\Storage\ObjectStorage::newFromIdentity($ident);
$this->assertNotEquals($ostore, $ostoreDefault);
}
@@ -116,7 +116,7 @@ class ObjectStorageTest extends \HPCloud\Tests\TestCase {
* @ group acl
*/
public function testCreateContainer() {
$testCollection = self::$settings['hpcloud.swift.container'];
$testCollection = self::$settings['openstack.swift.container'];
$this->assertNotEmpty($testCollection, "Canary: container name must be in settings file.");
@@ -161,14 +161,14 @@ class ObjectStorageTest extends \HPCloud\Tests\TestCase {
//$first = array_shift($containers);
$testCollection = self::conf('hpcloud.swift.container');
$testCollection = self::conf('openstack.swift.container');
$testContainer = $containers[$testCollection];
$this->assertEquals($testCollection, $testContainer->name());
$this->assertEquals(0, $testContainer->bytes());
$this->assertEquals(0, $testContainer->count());
// Make sure we get back an ACL:
$this->assertInstanceOf('\HPCloud\Storage\ObjectStorage\ACL', $testContainer->acl());
$this->assertInstanceOf('\OpenStack\Storage\ObjectStorage\ACL', $testContainer->acl());
}
@@ -176,7 +176,7 @@ class ObjectStorageTest extends \HPCloud\Tests\TestCase {
* @depends testCreateContainer
*/
public function testContainer() {
$testCollection = self::$settings['hpcloud.swift.container'];
$testCollection = self::$settings['openstack.swift.container'];
$store = $this->objectStore();
$container = $store->container($testCollection);
@@ -194,7 +194,7 @@ class ObjectStorageTest extends \HPCloud\Tests\TestCase {
* @depends testCreateContainer
*/
public function testHasContainer() {
$testCollection = self::$settings['hpcloud.swift.container'];
$testCollection = self::$settings['openstack.swift.container'];
$store = $this->objectStore();
$this->assertTrue($store->hasContainer($testCollection));
@@ -205,7 +205,7 @@ class ObjectStorageTest extends \HPCloud\Tests\TestCase {
* @depends testHasContainer
*/
public function testDeleteContainer() {
$testCollection = self::$settings['hpcloud.swift.container'];
$testCollection = self::$settings['openstack.swift.container'];
$store = $this->objectStore();
//$ret = $store->createContainer($testCollection);
@@ -221,11 +221,11 @@ class ObjectStorageTest extends \HPCloud\Tests\TestCase {
}
/**
* @expectedException \HPCloud\Storage\ObjectStorage\ContainerNotEmptyException
* @expectedException \OpenStack\Storage\ObjectStorage\ContainerNotEmptyException
*/
public function testDeleteNonEmptyContainer() {
$testCollection = self::$settings['hpcloud.swift.container'];
$testCollection = self::$settings['openstack.swift.container'];
$this->assertNotEmpty($testCollection);
@@ -258,7 +258,7 @@ class ObjectStorageTest extends \HPCloud\Tests\TestCase {
* @group acl
*/
public function testCreateContainerPublic() {
$testCollection = self::$settings['hpcloud.swift.container'] . 'PUBLIC';
$testCollection = self::$settings['openstack.swift.container'] . 'PUBLIC';
$store = $this->objectStore();
if ($store->hasContainer($testCollection)) {
$store->deleteContainer($testCollection);
@@ -273,7 +273,7 @@ class ObjectStorageTest extends \HPCloud\Tests\TestCase {
$url = $container->url() . '?format=xml';
// Use CURL to get better debugging:
//$client = \HPCloud\Transport::instance();
//$client = \OpenStack\Transport::instance();
//$response = $client->doRequest($url, 'GET');
$data = file_get_contents($url);
@@ -289,7 +289,7 @@ class ObjectStorageTest extends \HPCloud\Tests\TestCase {
* @depends testCreateContainerPublic
*/
public function testChangeContainerACL() {
$testCollection = self::$settings['hpcloud.swift.container'] . 'PUBLIC';
$testCollection = self::$settings['openstack.swift.container'] . 'PUBLIC';
$store = $this->objectStore();
if ($store->hasContainer($testCollection)) {
$store->deleteContainer($testCollection);
@@ -297,7 +297,7 @@ class ObjectStorageTest extends \HPCloud\Tests\TestCase {
$ret = $store->createContainer($testCollection);
$acl = \HPCloud\Storage\ObjectStorage\ACL::makePublic();
$acl = \OpenStack\Storage\ObjectStorage\ACL::makePublic();
$ret = $store->changeContainerACL($testCollection, $acl);
$this->assertFalse($ret);

View File

@@ -24,14 +24,14 @@ SOFTWARE.
*
* Unit tests for ObjectStorage Object.
*/
namespace HPCloud\Tests\Storage;
namespace OpenStack\Tests\Storage;
require_once 'src/HPCloud/Bootstrap.php';
require_once 'src/OpenStack/Bootstrap.php';
require_once 'test/TestCase.php';
use \HPCloud\Storage\ObjectStorage\Object;
use \OpenStack\Storage\ObjectStorage\Object;
class ObjectTest extends \HPCloud\Tests\TestCase {
class ObjectTest extends \OpenStack\Tests\TestCase {
const FNAME = 'descartes.txt';
const FCONTENT = 'Cogito ergo sum.';

View File

@@ -24,16 +24,16 @@ SOFTWARE.
*
* Unit tests for ObjectStorage RemoteObject.
*/
namespace HPCloud\Tests\Storage\ObjectStorage;
namespace OpenStack\Tests\Storage\ObjectStorage;
require_once 'src/HPCloud/Bootstrap.php';
require_once 'src/OpenStack/Bootstrap.php';
require_once 'test/TestCase.php';
use \HPCloud\Storage\ObjectStorage\RemoteObject;
use \HPCloud\Storage\ObjectStorage\Object;
use \HPCloud\Storage\ObjectStorage\Container;
use \OpenStack\Storage\ObjectStorage\RemoteObject;
use \OpenStack\Storage\ObjectStorage\Object;
use \OpenStack\Storage\ObjectStorage\Container;
class RemoteObjectTest extends \HPCloud\Tests\TestCase {
class RemoteObjectTest extends \OpenStack\Tests\TestCase {
const FNAME = 'RemoteObjectTest';
//const FTYPE = 'text/plain; charset=UTF-8';
@@ -74,7 +74,7 @@ class RemoteObjectTest extends \HPCloud\Tests\TestCase {
$obj = $container->remoteObject(self::FNAME);
$this->assertInstanceOf('\HPCloud\Storage\ObjectStorage\RemoteObject', $obj);
$this->assertInstanceOf('\OpenStack\Storage\ObjectStorage\RemoteObject', $obj);
return $obj;
}
@@ -184,8 +184,8 @@ class RemoteObjectTest extends \HPCloud\Tests\TestCase {
// This will be HTTP if we are using the PHP stream
// wrapper, but for CURL this will be PHP.
$klass = \HPCloud\Bootstrap::config('transport', NULL);
if ($klass == '\HPCloud\Transport\PHPStreamTransport') {
$klass = \OpenStack\Bootstrap::config('transport', NULL);
if ($klass == '\OpenStack\Transport\PHPStreamTransport') {
$expect = 'http';
}
else {
@@ -259,8 +259,8 @@ class RemoteObjectTest extends \HPCloud\Tests\TestCase {
// The CURL, though, backs its up with a temp file wrapped in a PHP
// stream. Other backends are likely to do the same. So this test
// is weakened for CURL backends.
$transport = \HPCloud\Bootstrap::config('transport');
if ($transport == '\HPCloud\Transport\PHPStreamTransport') {
$transport = \OpenStack\Bootstrap::config('transport');
if ($transport == '\OpenStack\Transport\PHPStreamTransport') {
$expect = 'http';
}
else {

View File

@@ -24,11 +24,11 @@ SOFTWARE.
*
* Unit tests for Response.
*/
namespace HPCloud\Tests\Transport;
namespace OpenStack\Tests\Transport;
require_once 'test/TestCase.php';
class ResponseTest extends \HPCloud\Tests\TestCase {
class ResponseTest extends \OpenStack\Tests\TestCase {
protected $fakeBody = '{"msg":"This is a fake response"}';
protected $fakeHeaders = array(
@@ -61,7 +61,7 @@ class ResponseTest extends \HPCloud\Tests\TestCase {
// reset and seek don't reset the unread_bytes.
$metadata['unread_bytes'] = strlen($this->fakeBody);
return new \HPCloud\Transport\Response($file, $metadata);
return new \OpenStack\Transport\Response($file, $metadata);
}

View File

@@ -24,20 +24,20 @@ SOFTWARE.
*
* Unit tests for the stream wrapper file systema.
*/
namespace HPCloud\Tests\Storage\ObjectStorage;
namespace OpenStack\Tests\Storage\ObjectStorage;
require_once 'src/HPCloud/Bootstrap.php';
require_once 'src/OpenStack/Bootstrap.php';
require_once 'test/TestCase.php';
use \HPCloud\Storage\ObjectStorage\StreamWrapperFS;
use \HPCloud\Storage\ObjectStorage\Container;
use \HPCloud\Storage\ObjectStorage\Object;
use \HPCloud\Storage\ObjectStorage\ACL;
use \OpenStack\Storage\ObjectStorage\StreamWrapperFS;
use \OpenStack\Storage\ObjectStorage\Container;
use \OpenStack\Storage\ObjectStorage\Object;
use \OpenStack\Storage\ObjectStorage\ACL;
/**
* @group streamWrapper
*/
class StreamWrapperFSTest extends \HPCloud\Tests\TestCase {
class StreamWrapperFSTest extends \OpenStack\Tests\TestCase {
const FNAME = 'streamTest.txt';
const FTYPE = 'application/x-tuna-fish; charset=iso-8859-13';
@@ -56,22 +56,22 @@ class StreamWrapperFSTest extends \HPCloud\Tests\TestCase {
$tenantId = self::conf('openstack.identity.tenantId');
$url = self::conf('openstack.identity.url');
$ident = new \HPCloud\Services\IdentityServices($url);
$ident = new \OpenStack\Services\IdentityService($url);
$token = $ident->authenticateAsUser($user, $pass, $tenantId);
// Then we need to get an instance of storage
$store = \HPCloud\Storage\ObjectStorage::newFromIdentity($ident);
$store = \OpenStack\Storage\ObjectStorage::newFromIdentity($ident);
// Delete the container and all the contents.
$cname = self::$settings['hpcloud.swift.container'];
$cname = self::$settings['openstack.swift.container'];
try {
$container = $store->container($cname);
}
// The container was never created.
catch (\HPCloud\Transport\FileNotFoundException $e) {
catch (\OpenStack\Transport\FileNotFoundException $e) {
return;
}
@@ -87,7 +87,7 @@ class StreamWrapperFSTest extends \HPCloud\Tests\TestCase {
protected function newUrl($objectName) {
$scheme = StreamWrapperFS::DEFAULT_SCHEME;
$cname = self::$settings['hpcloud.swift.container'];
$cname = self::$settings['openstack.swift.container'];
$cname = urlencode($cname);
$objectParts = explode('/', $objectName);
@@ -105,7 +105,7 @@ class StreamWrapperFSTest extends \HPCloud\Tests\TestCase {
* This assumes auth has already been done.
*/
protected function basicSwiftContext($add = array(), $scheme = NULL) {
$cname = self::$settings['hpcloud.swift.container'];
$cname = self::$settings['openstack.swift.container'];
if (empty($scheme)) {
$scheme = StreamWrapperFS::DEFAULT_SCHEME;
@@ -128,11 +128,11 @@ class StreamWrapperFSTest extends \HPCloud\Tests\TestCase {
/**
* This performs authentication via context.
*
* UPDATE: This now users IdentityServices instead of deprecated
* UPDATE: This now users IdentityService instead of deprecated
* swauth.
*/
protected function authSwiftContext($add = array(), $scheme = NULL) {
$cname = self::$settings['hpcloud.swift.container'];
$cname = self::$settings['openstack.swift.container'];
$account = self::$settings['openstack.identity.access'];
$key = self::$settings['openstack.identity.secret'];
$tenant = self::$settings['openstack.identity.tenantId'];
@@ -173,14 +173,14 @@ class StreamWrapperFSTest extends \HPCloud\Tests\TestCase {
'token' => $this->objectStore()->token(),
'swift_endpoint' => $this->objectStore()->url(),
);
\HPCloud\Bootstrap::setConfiguration($opts);
\OpenStack\Bootstrap::setConfiguration($opts);
}
// Canary. There are UTF-8 encoding issues in stream wrappers.
public function testStreamContext() {
// Clear old values.
\HPCloud\Bootstrap::setConfiguration(array(
\OpenStack\Bootstrap::setConfiguration(array(
'token' => NULL,
));
@@ -200,7 +200,7 @@ class StreamWrapperFSTest extends \HPCloud\Tests\TestCase {
// Canary
$this->assertNotEmpty(StreamWrapperFS::DEFAULT_SCHEME);
$klass = '\HPCloud\Storage\ObjectStorage\StreamWrapperFS';
$klass = '\OpenStack\Storage\ObjectStorage\StreamWrapperFS';
stream_wrapper_register(StreamWrapperFS::DEFAULT_SCHEME, $klass);
$wrappers = stream_get_wrappers();
@@ -222,7 +222,7 @@ class StreamWrapperFSTest extends \HPCloud\Tests\TestCase {
* @depends testRegister
*/
public function testOpen() {
$cname = self::$settings['hpcloud.swift.container'];
$cname = self::$settings['openstack.swift.container'];
// Create a fresh container.
$this->eradicateContainer($cname);
@@ -384,7 +384,7 @@ class StreamWrapperFSTest extends \HPCloud\Tests\TestCase {
//throw new \Exception(print_r($md, true));
$obj = $md['wrapper_data']->object();
$this->assertInstanceOf('\HPCloud\Storage\ObjectStorage\RemoteObject', $obj);
$this->assertInstanceOf('\OpenStack\Storage\ObjectStorage\RemoteObject', $obj);
$this->assertEquals(self::FTYPE, $obj->contentType());

View File

@@ -24,20 +24,20 @@ SOFTWARE.
*
* Unit tests for the stream wrapper.
*/
namespace HPCloud\Tests\Storage\ObjectStorage;
namespace OpenStack\Tests\Storage\ObjectStorage;
require_once 'src/HPCloud/Bootstrap.php';
require_once 'src/OpenStack/Bootstrap.php';
require_once 'test/TestCase.php';
use \HPCloud\Storage\ObjectStorage\StreamWrapper;
use \HPCloud\Storage\ObjectStorage\Container;
use \HPCloud\Storage\ObjectStorage\Object;
use \HPCloud\Storage\ObjectStorage\ACL;
use \OpenStack\Storage\ObjectStorage\StreamWrapper;
use \OpenStack\Storage\ObjectStorage\Container;
use \OpenStack\Storage\ObjectStorage\Object;
use \OpenStack\Storage\ObjectStorage\ACL;
/**
* @group streamWrapper
*/
class StreamWrapperTest extends \HPCloud\Tests\TestCase {
class StreamWrapperTest extends \OpenStack\Tests\TestCase {
const FNAME = 'streamTest.txt';
const FTYPE = 'application/x-tuna-fish; charset=iso-8859-13';
@@ -53,22 +53,22 @@ class StreamWrapperTest extends \HPCloud\Tests\TestCase {
$tenantId = self::conf('openstack.identity.tenantId');
$url = self::conf('openstack.identity.url');
$ident = new \HPCloud\Services\IdentityServices($url);
$ident = new \OpenStack\Services\IdentityService($url);
$token = $ident->authenticateAsUser($user, $pass, $tenantId);
// Then we need to get an instance of storage
$store = \HPCloud\Storage\ObjectStorage::newFromIdentity($ident);
$store = \OpenStack\Storage\ObjectStorage::newFromIdentity($ident);
// Delete the container and all the contents.
$cname = self::$settings['hpcloud.swift.container'];
$cname = self::$settings['openstack.swift.container'];
try {
$container = $store->container($cname);
}
// The container was never created.
catch (\HPCloud\Transport\FileNotFoundException $e) {
catch (\OpenStack\Transport\FileNotFoundException $e) {
return;
}
@@ -84,7 +84,7 @@ class StreamWrapperTest extends \HPCloud\Tests\TestCase {
protected function newUrl($objectName) {
$scheme = StreamWrapper::DEFAULT_SCHEME;
$cname = self::$settings['hpcloud.swift.container'];
$cname = self::$settings['openstack.swift.container'];
$cname = urlencode($cname);
$objectParts = explode('/', $objectName);
@@ -102,7 +102,7 @@ class StreamWrapperTest extends \HPCloud\Tests\TestCase {
* This assumes auth has already been done.
*/
protected function basicSwiftContext($add = array(), $scheme = NULL) {
$cname = self::$settings['hpcloud.swift.container'];
$cname = self::$settings['openstack.swift.container'];
if (empty($scheme)) {
$scheme = StreamWrapper::DEFAULT_SCHEME;
@@ -125,11 +125,11 @@ class StreamWrapperTest extends \HPCloud\Tests\TestCase {
/**
* This performs authentication via context.
*
* UPDATE: This now users IdentityServices instead of deprecated
* UPDATE: This now users IdentityService instead of deprecated
* swauth.
*/
protected function authSwiftContext($add = array(), $scheme = NULL) {
$cname = self::$settings['hpcloud.swift.container'];
$cname = self::$settings['openstack.swift.container'];
$account = self::$settings['openstack.identity.access'];
$key = self::$settings['openstack.identity.secret'];
$tenant = self::$settings['openstack.identity.tenantId'];
@@ -170,7 +170,7 @@ class StreamWrapperTest extends \HPCloud\Tests\TestCase {
'token' => $this->objectStore()->token(),
'swift_endpoint' => $this->objectStore()->url(),
);
\HPCloud\Bootstrap::setConfiguration($opts);
\OpenStack\Bootstrap::setConfiguration($opts);
}
@@ -178,7 +178,7 @@ class StreamWrapperTest extends \HPCloud\Tests\TestCase {
public function testStreamContext() {
// Reset this in case something else left its
// auth token lying around.
\HPCloud\Bootstrap::setConfiguration(array(
\OpenStack\Bootstrap::setConfiguration(array(
'token' => NULL,
));
$cxt = $this->authSwiftContext();
@@ -197,7 +197,7 @@ class StreamWrapperTest extends \HPCloud\Tests\TestCase {
// Canary
$this->assertNotEmpty(StreamWrapper::DEFAULT_SCHEME);
$klass = '\HPCloud\Storage\ObjectStorage\StreamWrapper';
$klass = '\OpenStack\Storage\ObjectStorage\StreamWrapper';
stream_wrapper_register(StreamWrapper::DEFAULT_SCHEME, $klass);
$wrappers = stream_get_wrappers();
@@ -209,7 +209,7 @@ class StreamWrapperTest extends \HPCloud\Tests\TestCase {
* @depends testRegister
*/
public function testOpenFailureWithoutContext() {
$cname = self::$settings['hpcloud.swift.container'];
$cname = self::$settings['openstack.swift.container'];
// Create a fresh container.
$this->eradicateContainer($cname);
@@ -225,7 +225,7 @@ class StreamWrapperTest extends \HPCloud\Tests\TestCase {
* @depends testRegister
*/
public function testOpen() {
$cname = self::$settings['hpcloud.swift.container'];
$cname = self::$settings['openstack.swift.container'];
// Create a fresh container.
$this->eradicateContainer($cname);
@@ -386,7 +386,7 @@ class StreamWrapperTest extends \HPCloud\Tests\TestCase {
//throw new \Exception(print_r($md, true));
$obj = $md['wrapper_data']->object();
$this->assertInstanceOf('\HPCloud\Storage\ObjectStorage\RemoteObject', $obj);
$this->assertInstanceOf('\OpenStack\Storage\ObjectStorage\RemoteObject', $obj);
$this->assertEquals(self::FTYPE, $obj->contentType());

View File

@@ -23,18 +23,18 @@ openstack.identity.secret =
; Settings to work with swift:
; Account is the tenandId:console username.
hpcloud.swift.account = 12345678:87654321
openstack.swift.account = 12345678:87654321
; Key is the console account password.
hpcloud.swift.key = abcdef123456
openstack.swift.key = abcdef123456
; URL is the same as used for identity services calls (including port) except
; with /auth/v1.0/ appended to the end.
hpcloud.swift.url = https://region-a.geo-1.identity.hpcloudsvc.com:35357/auth/v1.0/
openstack.swift.url = https://region-a.geo-1.identity.hpcloudsvc.com:35357/auth/v1.0/
; Container used for testing.
hpcloud.swift.container = "I♡HPCloud"
openstack.swift.container = "I♡HPCloud"
; Specified region name to test against.
hpcloud.swift.region = "region-a.geo-1"
openstack.swift.region = "region-a.geo-1"
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Configuration Parameters ;