You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by je...@apache.org on 2010/05/19 15:21:31 UTC
svn commit: r946177 - in /incubator/libcloud/trunk/test: ./ fixtures/gogrid/
Author: jerry
Date: Wed May 19 13:21:30 2010
New Revision: 946177
URL: http://svn.apache.org/viewvc?rev=946177&view=rev
Log:
GoGrid tests - LIBCLOUD-34
Added:
incubator/libcloud/trunk/test/fixtures/gogrid/
incubator/libcloud/trunk/test/fixtures/gogrid/image_list.json
incubator/libcloud/trunk/test/fixtures/gogrid/ip_list.json
incubator/libcloud/trunk/test/fixtures/gogrid/server_add.json
incubator/libcloud/trunk/test/fixtures/gogrid/server_delete.json
incubator/libcloud/trunk/test/fixtures/gogrid/server_list.json
incubator/libcloud/trunk/test/fixtures/gogrid/server_power.json
incubator/libcloud/trunk/test/test_gogrid.py
Added: incubator/libcloud/trunk/test/fixtures/gogrid/image_list.json
URL: http://svn.apache.org/viewvc/incubator/libcloud/trunk/test/fixtures/gogrid/image_list.json?rev=946177&view=auto
==============================================================================
--- incubator/libcloud/trunk/test/fixtures/gogrid/image_list.json (added)
+++ incubator/libcloud/trunk/test/fixtures/gogrid/image_list.json Wed May 19 13:21:30 2010
@@ -0,0 +1,180 @@
+{
+ "list": [
+ {
+ "billingtokens": [
+ {
+ "id": 46,
+ "name": "CentOS 5.3 32bit",
+ "price": 0
+ }
+ ],
+ "description": "CentOS 5.3 (32-bit) w/ None",
+ "friendlyName": "CentOS 5.3 (32-bit) w/ None",
+ "id": 1531,
+ "isActive": true,
+ "isPublic": true,
+ "location": "gogrid/GSI-2c4c6672-69e1-4928-ac9d-a564521d55fe.img",
+ "name": "centos5.3_32_base",
+ "object": "serverimage",
+ "os": {
+ "description": "CentOS 5.3 (32-bit)",
+ "id": 16,
+ "name": "CentOS 5.3 (32-bit)",
+ "object": "option"
+ },
+ "owner": {
+ "id": -1,
+ "name": "GoGrid",
+ "object": "customer"
+ },
+ "price": 0,
+ "state": {
+ "description": "Image is available for adds",
+ "id": 2,
+ "name": "Available",
+ "object": "option"
+ },
+ "type": {
+ "description": "Web or Application Server",
+ "id": 1,
+ "name": "Web Server",
+ "object": "option"
+ },
+ "updatedTime": 1257789046453
+ },
+ {
+ "billingtokens": [
+ {
+ "id": 47,
+ "name": "CentOS 5.3 64bit",
+ "price": 0
+ }
+ ],
+ "description": "CentOS 5.3 (64-bit) w/ None",
+ "friendlyName": "CentOS 5.3 (64-bit) w/ None",
+ "id": 1532,
+ "isActive": true,
+ "isPublic": true,
+ "location": "gogrid/GSI-939ef909-84b8-4a2f-ad56-02ccd7da05ff.img",
+ "name": "centos5.3_64_base",
+ "object": "serverimage",
+ "os": {
+ "description": "CentOS 5.3 (64-bit)",
+ "id": 17,
+ "name": "CentOS 5.3 (64-bit)",
+ "object": "option"
+ },
+ "owner": {
+ "id": -1,
+ "name": "GoGrid",
+ "object": "customer"
+ },
+ "price": 0,
+ "state": {
+ "description": "Image is available for adds",
+ "id": 2,
+ "name": "Available",
+ "object": "option"
+ },
+ "type": {
+ "description": "Web or Application Server",
+ "id": 1,
+ "name": "Web Server",
+ "object": "option"
+ },
+ "updatedTime": 1257789076417
+ },
+ {
+ "billingtokens": [
+ {
+ "id": 48,
+ "name": "RHEL 5.4 32bit",
+ "price": 0
+ }
+ ],
+ "description": "RHEL 5.4 (32-bit) w/ None",
+ "friendlyName": "RHEL 5.4 (32-bit) w/ None",
+ "id": 1533,
+ "isActive": true,
+ "isPublic": true,
+ "location": "gogrid/GSI-4c88cb92-dd7b-4bb1-95b6-7cc93eb1d2aa.img",
+ "name": "rhel5.4_32_base",
+ "object": "serverimage",
+ "os": {
+ "description": "RHEL 5.4 (32-bit)",
+ "id": 18,
+ "name": "RHEL 5.4 (32-bit)",
+ "object": "option"
+ },
+ "owner": {
+ "id": -1,
+ "name": "GoGrid",
+ "object": "customer"
+ },
+ "price": 0,
+ "state": {
+ "description": "Image is available for adds",
+ "id": 2,
+ "name": "Available",
+ "object": "option"
+ },
+ "type": {
+ "description": "Web or Application Server",
+ "id": 1,
+ "name": "Web Server",
+ "object": "option"
+ },
+ "updatedTime": 1257789076417
+ },
+ {
+ "billingtokens": [
+ {
+ "id": 49,
+ "name": "RHEL 5.4 64bit",
+ "price": 0
+ }
+ ],
+ "description": "RHEL 5.4 (64-bit) w/ None",
+ "friendlyName": "RHEL 5.4 (64-bit) w/ None",
+ "id": 1534,
+ "isActive": true,
+ "isPublic": true,
+ "location": "gogrid/GSI-2bd8ddb3-cc53-4a76-8188-0dce7537a422.img",
+ "name": "rhel5.4_64_base",
+ "object": "serverimage",
+ "os": {
+ "description": "RHEL 5.4 (64-bit)",
+ "id": 19,
+ "name": "RHEL 5.4 (64-bit)",
+ "object": "option"
+ },
+ "owner": {
+ "id": -1,
+ "name": "GoGrid",
+ "object": "customer"
+ },
+ "price": 0,
+ "state": {
+ "description": "Image is available for adds",
+ "id": 2,
+ "name": "Available",
+ "object": "option"
+ },
+ "type": {
+ "description": "Web or Application Server",
+ "id": 1,
+ "name": "Web Server",
+ "object": "option"
+ },
+ "updatedTime": 1257789076417
+ }
+ ],
+ "method": "/grid/image/list",
+ "status": "success",
+ "summary": {
+ "numpages": 0,
+ "returned": 59,
+ "start": 0,
+ "total": 59
+ }
+}
Added: incubator/libcloud/trunk/test/fixtures/gogrid/ip_list.json
URL: http://svn.apache.org/viewvc/incubator/libcloud/trunk/test/fixtures/gogrid/ip_list.json?rev=946177&view=auto
==============================================================================
--- incubator/libcloud/trunk/test/fixtures/gogrid/ip_list.json (added)
+++ incubator/libcloud/trunk/test/fixtures/gogrid/ip_list.json Wed May 19 13:21:30 2010
@@ -0,0 +1,220 @@
+{
+ "list": [
+ {
+ "id": 1659917,
+ "ip": "192.168.0.192",
+ "object": "ip",
+ "public": true,
+ "state": {
+ "description": "IP is reserved or in use",
+ "id": 2,
+ "name": "Assigned",
+ "object": "option"
+ },
+ "subnet": "192.168.0.192/255.255.255.240"
+ },
+ {
+ "id": 1659918,
+ "ip": "192.168.0.193",
+ "object": "ip",
+ "public": true,
+ "state": {
+ "description": "IP is reserved or in use",
+ "id": 2,
+ "name": "Assigned",
+ "object": "option"
+ },
+ "subnet": "192.168.0.192/255.255.255.240"
+ },
+ {
+ "id": 1659919,
+ "ip": "192.168.0.194",
+ "object": "ip",
+ "public": true,
+ "state": {
+ "description": "IP is available to use",
+ "id": 1,
+ "name": "Unassigned",
+ "object": "option"
+ },
+ "subnet": "192.168.0.192/255.255.255.240"
+ },
+ {
+ "id": 1659920,
+ "ip": "192.168.0.195",
+ "object": "ip",
+ "public": true,
+ "state": {
+ "description": "IP is available to use",
+ "id": 1,
+ "name": "Unassigned",
+ "object": "option"
+ },
+ "subnet": "192.168.0.192/255.255.255.240"
+ },
+ {
+ "id": 1659921,
+ "ip": "192.168.0.196",
+ "object": "ip",
+ "public": true,
+ "state": {
+ "description": "IP is available to use",
+ "id": 1,
+ "name": "Unassigned",
+ "object": "option"
+ },
+ "subnet": "192.168.0.192/255.255.255.240"
+ },
+ {
+ "id": 1659922,
+ "ip": "192.168.0.197",
+ "object": "ip",
+ "public": true,
+ "state": {
+ "description": "IP is available to use",
+ "id": 1,
+ "name": "Unassigned",
+ "object": "option"
+ },
+ "subnet": "192.168.0.192/255.255.255.240"
+ },
+ {
+ "id": 1659923,
+ "ip": "192.168.0.198",
+ "object": "ip",
+ "public": true,
+ "state": {
+ "description": "IP is reserved or in use",
+ "id": 2,
+ "name": "Assigned",
+ "object": "option"
+ },
+ "subnet": "192.168.0.192/255.255.255.240"
+ },
+ {
+ "id": 1659924,
+ "ip": "192.168.0.199",
+ "object": "ip",
+ "public": true,
+ "state": {
+ "description": "IP is reserved or in use",
+ "id": 2,
+ "name": "Assigned",
+ "object": "option"
+ },
+ "subnet": "192.168.0.192/255.255.255.240"
+ },
+ {
+ "id": 1659925,
+ "ip": "192.168.0.200",
+ "object": "ip",
+ "public": true,
+ "state": {
+ "description": "IP is reserved or in use",
+ "id": 2,
+ "name": "Assigned",
+ "object": "option"
+ },
+ "subnet": "192.168.0.192/255.255.255.240"
+ },
+ {
+ "id": 1659926,
+ "ip": "192.168.0.201",
+ "object": "ip",
+ "public": true,
+ "state": {
+ "description": "IP is available to use",
+ "id": 1,
+ "name": "Unassigned",
+ "object": "option"
+ },
+ "subnet": "192.168.0.192/255.255.255.240"
+ },
+ {
+ "id": 1659927,
+ "ip": "192.168.0.202",
+ "object": "ip",
+ "public": true,
+ "state": {
+ "description": "IP is available to use",
+ "id": 1,
+ "name": "Unassigned",
+ "object": "option"
+ },
+ "subnet": "192.168.0.192/255.255.255.240"
+ },
+ {
+ "id": 1659928,
+ "ip": "192.168.0.203",
+ "object": "ip",
+ "public": true,
+ "state": {
+ "description": "IP is available to use",
+ "id": 1,
+ "name": "Unassigned",
+ "object": "option"
+ },
+ "subnet": "192.168.0.192/255.255.255.240"
+ },
+ {
+ "id": 1659929,
+ "ip": "192.168.0.204",
+ "object": "ip",
+ "public": true,
+ "state": {
+ "description": "IP is available to use",
+ "id": 1,
+ "name": "Unassigned",
+ "object": "option"
+ },
+ "subnet": "192.168.0.192/255.255.255.240"
+ },
+ {
+ "id": 1659930,
+ "ip": "192.168.0.205",
+ "object": "ip",
+ "public": true,
+ "state": {
+ "description": "IP is available to use",
+ "id": 1,
+ "name": "Unassigned",
+ "object": "option"
+ },
+ "subnet": "192.168.0.192/255.255.255.240"
+ },
+ {
+ "id": 1659931,
+ "ip": "192.168.0.206",
+ "object": "ip",
+ "public": true,
+ "state": {
+ "description": "IP is available to use",
+ "id": 1,
+ "name": "Unassigned",
+ "object": "option"
+ },
+ "subnet": "192.168.0.192/255.255.255.240"
+ },
+ {
+ "id": 1659932,
+ "ip": "192.168.0.207",
+ "object": "ip",
+ "public": true,
+ "state": {
+ "description": "IP is reserved or in use",
+ "id": 2,
+ "name": "Assigned",
+ "object": "option"
+ },
+ "subnet": "192.168.0.192/255.255.255.240"
+ }
+ ],
+ "method": "/grid/ip/list",
+ "status": "success",
+ "summary": {
+ "numpages": 0,
+ "returned": 16,
+ "start": 0,
+ "total": 16
+ }
+}
Added: incubator/libcloud/trunk/test/fixtures/gogrid/server_add.json
URL: http://svn.apache.org/viewvc/incubator/libcloud/trunk/test/fixtures/gogrid/server_add.json?rev=946177&view=auto
==============================================================================
--- incubator/libcloud/trunk/test/fixtures/gogrid/server_add.json (added)
+++ incubator/libcloud/trunk/test/fixtures/gogrid/server_add.json Wed May 19 13:21:30 2010
@@ -0,0 +1,97 @@
+{
+ "list": [
+ {
+ "id": 90967,
+ "image": {
+ "billingtokens": [
+ {
+ "id": 46,
+ "name": "CentOS 5.3 32bit",
+ "price": 0
+ }
+ ],
+ "description": "CentOS 5.3 (32-bit) w/ None",
+ "friendlyName": "CentOS 5.3 (32-bit) w/ None",
+ "id": 1531,
+ "isActive": true,
+ "isPublic": true,
+ "location": "gogrid/GSI-2c4c6672-69e1-4928-ac9d-a564521d55fe.img",
+ "name": "centos5.3_32_base",
+ "object": "serverimage",
+ "os": {
+ "description": "CentOS 5.3 (32-bit)",
+ "id": 16,
+ "name": "CentOS 5.3 (32-bit)",
+ "object": "option"
+ },
+ "owner": {
+ "id": -1,
+ "name": "GoGrid",
+ "object": "customer"
+ },
+ "price": 0,
+ "state": {
+ "description": "Image is available for adds",
+ "id": 2,
+ "name": "Available",
+ "object": "option"
+ },
+ "type": {
+ "description": "Web or Application Server",
+ "id": 1,
+ "name": "Web Server",
+ "object": "option"
+ },
+ "updatedTime": 1257789046453
+ },
+ "ip": {
+ "id": 1659927,
+ "ip": "192.168.0.202",
+ "object": "ip",
+ "public": true,
+ "state": {
+ "description": "IP is reserved or in use",
+ "id": 2,
+ "name": "Assigned",
+ "object": "option"
+ },
+ "subnet": "192.168.0.192/255.255.255.240"
+ },
+ "isSandbox": false,
+ "name": "test1",
+ "object": "server",
+ "os": {
+ "description": "CentOS 5.3 (32-bit)",
+ "id": 16,
+ "name": "CentOS 5.3 (32-bit)",
+ "object": "option"
+ },
+ "ram": {
+ "description": "Server with 512MB RAM",
+ "id": 1,
+ "name": "512MB",
+ "object": "option"
+ },
+ "state": {
+ "description": "Server is in active state.",
+ "id": 1,
+ "name": "On",
+ "object": "option"
+ },
+ "type": {
+ "description": "Web or Application Server",
+ "id": 1,
+ "name": "Web Server",
+ "object": "option"
+ }
+ }
+ ],
+ "method": "/grid/server/add",
+ "status": "success",
+ "summary": {
+ "numpages": 0,
+ "returned": 1,
+ "start": 0,
+ "total": 1
+ }
+}
Added: incubator/libcloud/trunk/test/fixtures/gogrid/server_delete.json
URL: http://svn.apache.org/viewvc/incubator/libcloud/trunk/test/fixtures/gogrid/server_delete.json?rev=946177&view=auto
==============================================================================
--- incubator/libcloud/trunk/test/fixtures/gogrid/server_delete.json (added)
+++ incubator/libcloud/trunk/test/fixtures/gogrid/server_delete.json Wed May 19 13:21:30 2010
@@ -0,0 +1,97 @@
+{
+ "list": [
+ {
+ "id": 90967,
+ "image": {
+ "billingtokens": [
+ {
+ "id": 46,
+ "name": "CentOS 5.3 32bit",
+ "price": 0
+ }
+ ],
+ "description": "CentOS 5.3 (32-bit) w/ None",
+ "friendlyName": "CentOS 5.3 (32-bit) w/ None",
+ "id": 1531,
+ "isActive": true,
+ "isPublic": true,
+ "location": "gogrid/GSI-2c4c6672-69e1-4928-ac9d-a564521d55fe.img",
+ "name": "centos5.3_32_base",
+ "object": "serverimage",
+ "os": {
+ "description": "CentOS 5.3 (32-bit)",
+ "id": 16,
+ "name": "CentOS 5.3 (32-bit)",
+ "object": "option"
+ },
+ "owner": {
+ "id": -1,
+ "name": "GoGrid",
+ "object": "customer"
+ },
+ "price": 0,
+ "state": {
+ "description": "Image is available for adds",
+ "id": 2,
+ "name": "Available",
+ "object": "option"
+ },
+ "type": {
+ "description": "Web or Application Server",
+ "id": 1,
+ "name": "Web Server",
+ "object": "option"
+ },
+ "updatedTime": 1257789046453
+ },
+ "ip": {
+ "id": 1659927,
+ "ip": "192.168.0.202",
+ "object": "ip",
+ "public": true,
+ "state": {
+ "description": "IP is reserved or in use",
+ "id": 2,
+ "name": "Assigned",
+ "object": "option"
+ },
+ "subnet": "192.168.0.192/255.255.255.240"
+ },
+ "isSandbox": false,
+ "name": "test1",
+ "object": "server",
+ "os": {
+ "description": "CentOS 5.3 (32-bit)",
+ "id": 16,
+ "name": "CentOS 5.3 (32-bit)",
+ "object": "option"
+ },
+ "ram": {
+ "description": "Server with 512MB RAM",
+ "id": 1,
+ "name": "512MB",
+ "object": "option"
+ },
+ "state": {
+ "description": "Server is in active state.",
+ "id": 1,
+ "name": "On",
+ "object": "option"
+ },
+ "type": {
+ "description": "Web or Application Server",
+ "id": 1,
+ "name": "Web Server",
+ "object": "option"
+ }
+ }
+ ],
+ "method": "/grid/server/delete",
+ "status": "success",
+ "summary": {
+ "numpages": 0,
+ "returned": 1,
+ "start": 0,
+ "total": 1
+ }
+}
Added: incubator/libcloud/trunk/test/fixtures/gogrid/server_list.json
URL: http://svn.apache.org/viewvc/incubator/libcloud/trunk/test/fixtures/gogrid/server_list.json?rev=946177&view=auto
==============================================================================
--- incubator/libcloud/trunk/test/fixtures/gogrid/server_list.json (added)
+++ incubator/libcloud/trunk/test/fixtures/gogrid/server_list.json Wed May 19 13:21:30 2010
@@ -0,0 +1,97 @@
+{
+ "list": [
+ {
+ "id": 90967,
+ "image": {
+ "billingtokens": [
+ {
+ "id": 46,
+ "name": "CentOS 5.3 32bit",
+ "price": 0
+ }
+ ],
+ "description": "CentOS 5.3 (32-bit) w/ None",
+ "friendlyName": "CentOS 5.3 (32-bit) w/ None",
+ "id": 1531,
+ "isActive": true,
+ "isPublic": true,
+ "location": "gogrid/GSI-2c4c6672-69e1-4928-ac9d-a564521d55fe.img",
+ "name": "centos5.3_32_base",
+ "object": "serverimage",
+ "os": {
+ "description": "CentOS 5.3 (32-bit)",
+ "id": 16,
+ "name": "CentOS 5.3 (32-bit)",
+ "object": "option"
+ },
+ "owner": {
+ "id": -1,
+ "name": "GoGrid",
+ "object": "customer"
+ },
+ "price": 0,
+ "state": {
+ "description": "Image is available for adds",
+ "id": 2,
+ "name": "Available",
+ "object": "option"
+ },
+ "type": {
+ "description": "Web or Application Server",
+ "id": 1,
+ "name": "Web Server",
+ "object": "option"
+ },
+ "updatedTime": 1257789046453
+ },
+ "ip": {
+ "id": 1659927,
+ "ip": "192.168.0.202",
+ "object": "ip",
+ "public": true,
+ "state": {
+ "description": "IP is reserved or in use",
+ "id": 2,
+ "name": "Assigned",
+ "object": "option"
+ },
+ "subnet": "192.168.0.192/255.255.255.240"
+ },
+ "isSandbox": false,
+ "name": "test1",
+ "object": "server",
+ "os": {
+ "description": "CentOS 5.3 (32-bit)",
+ "id": 16,
+ "name": "CentOS 5.3 (32-bit)",
+ "object": "option"
+ },
+ "ram": {
+ "description": "Server with 512MB RAM",
+ "id": 1,
+ "name": "512MB",
+ "object": "option"
+ },
+ "state": {
+ "description": "Server is in active state.",
+ "id": 1,
+ "name": "On",
+ "object": "option"
+ },
+ "type": {
+ "description": "Web or Application Server",
+ "id": 1,
+ "name": "Web Server",
+ "object": "option"
+ }
+ }
+ ],
+ "method": "/grid/server/list",
+ "status": "success",
+ "summary": {
+ "numpages": 0,
+ "returned": 1,
+ "start": 0,
+ "total": 1
+ }
+}
Added: incubator/libcloud/trunk/test/fixtures/gogrid/server_power.json
URL: http://svn.apache.org/viewvc/incubator/libcloud/trunk/test/fixtures/gogrid/server_power.json?rev=946177&view=auto
==============================================================================
--- incubator/libcloud/trunk/test/fixtures/gogrid/server_power.json (added)
+++ incubator/libcloud/trunk/test/fixtures/gogrid/server_power.json Wed May 19 13:21:30 2010
@@ -0,0 +1,97 @@
+{
+ "list": [
+ {
+ "id": 90967,
+ "image": {
+ "billingtokens": [
+ {
+ "id": 46,
+ "name": "CentOS 5.3 32bit",
+ "price": 0
+ }
+ ],
+ "description": "CentOS 5.3 (32-bit) w/ None",
+ "friendlyName": "CentOS 5.3 (32-bit) w/ None",
+ "id": 1531,
+ "isActive": true,
+ "isPublic": true,
+ "location": "gogrid/GSI-2c4c6672-69e1-4928-ac9d-a564521d55fe.img",
+ "name": "centos5.3_32_base",
+ "object": "serverimage",
+ "os": {
+ "description": "CentOS 5.3 (32-bit)",
+ "id": 16,
+ "name": "CentOS 5.3 (32-bit)",
+ "object": "option"
+ },
+ "owner": {
+ "id": -1,
+ "name": "GoGrid",
+ "object": "customer"
+ },
+ "price": 0,
+ "state": {
+ "description": "Image is available for adds",
+ "id": 2,
+ "name": "Available",
+ "object": "option"
+ },
+ "type": {
+ "description": "Web or Application Server",
+ "id": 1,
+ "name": "Web Server",
+ "object": "option"
+ },
+ "updatedTime": 1257789046453
+ },
+ "ip": {
+ "id": 1659927,
+ "ip": "192.168.0.202",
+ "object": "ip",
+ "public": true,
+ "state": {
+ "description": "IP is reserved or in use",
+ "id": 2,
+ "name": "Assigned",
+ "object": "option"
+ },
+ "subnet": "192.168.0.192/255.255.255.240"
+ },
+ "isSandbox": false,
+ "name": "test1",
+ "object": "server",
+ "os": {
+ "description": "CentOS 5.3 (32-bit)",
+ "id": 16,
+ "name": "CentOS 5.3 (32-bit)",
+ "object": "option"
+ },
+ "ram": {
+ "description": "Server with 512MB RAM",
+ "id": 1,
+ "name": "512MB",
+ "object": "option"
+ },
+ "state": {
+ "description": "Server is in active state.",
+ "id": 1,
+ "name": "On",
+ "object": "option"
+ },
+ "type": {
+ "description": "Web or Application Server",
+ "id": 1,
+ "name": "Web Server",
+ "object": "option"
+ }
+ }
+ ],
+ "method": "/grid/server/power",
+ "status": "success",
+ "summary": {
+ "numpages": 0,
+ "returned": 1,
+ "start": 0,
+ "total": 1
+ }
+}
Added: incubator/libcloud/trunk/test/test_gogrid.py
URL: http://svn.apache.org/viewvc/incubator/libcloud/trunk/test/test_gogrid.py?rev=946177&view=auto
==============================================================================
--- incubator/libcloud/trunk/test/test_gogrid.py (added)
+++ incubator/libcloud/trunk/test/test_gogrid.py Wed May 19 13:21:30 2010
@@ -0,0 +1,94 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# 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.
+import sys
+import unittest
+
+try:
+ import json
+except ImportError:
+ import simplejson as json
+
+from libcloud.drivers.gogrid import GoGridNodeDriver
+from libcloud.base import Node, NodeImage, NodeSize
+
+from test import MockHttp, TestCaseMixin
+from test.file_fixtures import FileFixtures
+
+import httplib
+
+class GoGridTests(unittest.TestCase, TestCaseMixin):
+
+ def setUp(self):
+ GoGridNodeDriver.connectionCls.conn_classes = (None, GoGridMockHttp)
+ self.driver = GoGridNodeDriver("foo", "bar")
+
+ def test_create_node(self):
+ image = NodeImage(1531, None, self.driver)
+ size = NodeSize('512Mb', None, None, None, None, None, driver=self.driver)
+
+ node = self.driver.create_node(name='foo', image=image, size=size)
+ self.assertEqual(node.id, 90967)
+
+ def test_list_nodes(self):
+ node = self.driver.list_nodes()[0]
+ self.assertEqual(node.id, 90967)
+
+ def test_reboot_node(self):
+ node = Node(90967, None, None, None, None, self.driver)
+ ret = self.driver.reboot_node(node)
+ self.assertTrue(ret)
+
+ def test_destroy_node(self):
+ node = Node(90967, None, None, None, None, self.driver)
+ ret = self.driver.destroy_node(node)
+ self.assertTrue(ret)
+
+ def test_list_images(self):
+ images = self.driver.list_images()
+ image = images[0]
+ self.assertEqual(len(images), 4)
+ self.assertEqual(image.name, 'CentOS 5.3 (32-bit) w/ None')
+ self.assertEqual(image.id, 1531)
+
+class GoGridMockHttp(MockHttp):
+
+ fixtures = FileFixtures('gogrid')
+
+ def _api_grid_image_list(self, method, url, body, headers):
+ body = self.fixtures.load('image_list.json')
+ return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+ def _api_grid_server_list(self, method, url, body, headers):
+ body = self.fixtures.load('server_list.json')
+ return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+ def _api_grid_ip_list(self, method, url, body, headers):
+ body = self.fixtures.load('ip_list.json')
+ return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+ def _api_grid_server_power(self, method, url, body, headers):
+ body = self.fixtures.load('server_power.json')
+ return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+ def _api_grid_server_add(self, method, url, body, headers):
+ body = self.fixtures.load('server_add.json')
+ return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+ def _api_grid_server_delete(self, method, url, body, headers):
+ body = self.fixtures.load('server_delete.json')
+ return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+if __name__ == '__main__':
+ sys.exit(unittest.main())