Testing containers with the cloudfiles python bindings.
authorAntony Chazapis <chazapis@gmail.com>
Thu, 28 Apr 2011 17:43:20 +0000 (20:43 +0300)
committerAntony Chazapis <chazapis@gmail.com>
Thu, 28 Apr 2011 17:43:20 +0000 (20:43 +0300)
pithos/api/functions.py
pithos/api/test.py [new file with mode: 0644]
pithos/backends/dummy_debug.py
pithos/urls.py

index 39360c9..48828ac 100644 (file)
@@ -37,7 +37,7 @@ def authenticate(request):
     response = HttpResponse(status = 204)\r
     response['X-Auth-Token'] = 'eaaafd18-0fed-4b3a-81b4-663c99ec1cbb'\r
     # TODO: Do we support redirections?\r
-    #response['X-Storage-Url'] = 'https://storage.grnet.gr/pithos/v1.0/<some reference>'\r
+    response['X-Storage-Url'] = 'http://127.0.0.1:8000/v1/asdf'\r
     return response\r
 \r
 def account_demux(request, v_account):\r
@@ -84,11 +84,11 @@ def account_meta(request, v_account):
     #                       unauthorized (401),\r
     #                       badRequest (400)\r
     \r
-    container_count, bytes_count = get_account_meta(request.user)\r
+    info = get_account_meta(request.user)\r
     \r
     response = HttpResponse(status = 204)\r
-    response['X-Account-Container-Count'] = container_count\r
-    response['X-Account-Total-Bytes-Used'] = bytes_count\r
+    response['X-Account-Container-Count'] = info['count']\r
+    response['X-Account-Bytes-Used'] = info['bytes']\r
     return response\r
 \r
 @api_method('GET', format_allowed = True)\r
@@ -127,11 +127,11 @@ def container_meta(request, v_account, v_container):
     #                       unauthorized (401),\r
     #                       badRequest (400)\r
     \r
-    object_count, bytes_count = get_container_meta(request.user, v_container)\r
+    info = get_container_meta(request.user, v_container)\r
     \r
     response = HttpResponse(status = 204)\r
-    response['X-Container-Object-Count'] = object_count\r
-    response['X-Container-Bytes-Used'] = bytes_count\r
+    response['X-Container-Object-Count'] = info['count']\r
+    response['X-Container-Bytes-Used'] = info['bytes']\r
     return response\r
 \r
 @api_method('PUT')\r
diff --git a/pithos/api/test.py b/pithos/api/test.py
new file mode 100644 (file)
index 0000000..cfa0e45
--- /dev/null
@@ -0,0 +1,23 @@
+import cloudfiles
+
+conn = cloudfiles.get_connection('jsmith', '1234567890', authurl = 'http://127.0.0.1:8000/v1')
+print 'Authenticated. Token: %s' % conn.token
+print 'Container count: %d Total bytes: %d' % conn.get_info()
+
+containers = conn.get_all_containers()
+print 'Found: %d containers' % len(containers)
+for container in containers:
+    print container.name
+
+containers = conn.list_containers_info()
+for container in containers:
+    print container
+
+container = 'asdf'
+conn.create_container(container)
+
+cont = conn.get_container(container)
+print 'Got container %s.' % container
+print 'Object count: %s Total bytes: %s' % (cont.object_count, cont.size_used)
+
+conn.delete_container(container)
index e761691..42bb1a8 100644 (file)
@@ -28,7 +28,7 @@ def binary_search_name(a, x, lo = 0, hi = None):
     raise ValueError()
 
 def get_account_meta(account):
-    logging.debug("get_account_meta: %s %s", account, name)
+    logging.debug("get_account_meta: %s", account)
     return {'count': 13, 'bytes': 3148237468}
 
 def create_container(account, name):
index 1a85f8a..9c47320 100755 (executable)
@@ -5,5 +5,6 @@
 from django.conf.urls.defaults import *\r
 \r
 urlpatterns = patterns('',\r
+    (r'^v1$', include('pithos.api.urls')),\r
     (r'^v1/', include('pithos.api.urls'))\r
 )\r