Add tests and fixtures FCU DescribeQuota API

Signed-off-by: Javier M. Mellid <jmun...@igalia.com>


Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/576673d6
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/576673d6
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/576673d6

Branch: refs/heads/trunk
Commit: 576673d6360fe8bc0191ab6dc2395f6fd5a2a018
Parents: e778636
Author: Javier M. Mellid <jmun...@igalia.com>
Authored: Mon Oct 3 15:50:26 2016 +0200
Committer: Anthony Shaw <anthonys...@apache.org>
Committed: Fri Oct 7 13:23:41 2016 +1100

----------------------------------------------------------------------
 .../compute/fixtures/fcu/ex_describe_quota.xml  | 53 ++++++++++++++++++++
 libcloud/test/compute/test_ec2.py               | 25 +++++++++
 2 files changed, 78 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/576673d6/libcloud/test/compute/fixtures/fcu/ex_describe_quota.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/fcu/ex_describe_quota.xml 
b/libcloud/test/compute/fixtures/fcu/ex_describe_quota.xml
new file mode 100644
index 0000000..2948302
--- /dev/null
+++ b/libcloud/test/compute/fixtures/fcu/ex_describe_quota.xml
@@ -0,0 +1,53 @@
+<DescribeQuotaResponse
+    xmlns="http://api.outscale.com/wsdl/fcuext/2014-04-15/";>
+    <requestId>31ef7689-2521-445f-b634-2a5e3e66f699</requestId>
+    <isTruncated>true</isTruncated>
+    <referenceQuotaSet>
+        <item>
+            <reference>global</reference>
+            <quotaSet>
+                <item>
+                    <ownerId>366866344682</ownerId>
+                    <name>vm_limit</name>
+                    <displayName>VM Limit</displayName>
+                    <description>Maximum number of VM this user can 
own</description>
+                    <groupName>Compute</groupName>
+                    <maxQuotaValue>20</maxQuotaValue>
+                    <usedQuotaValue>1</usedQuotaValue>
+                </item>
+                <item>
+                    <ownerId>366866344682</ownerId>
+                    <name>core_limit</name>
+                    <displayName>Core Limit</displayName>
+                    <description>Maximum number of total cores (virtual 
core)</description>
+                    <groupName>Compute</groupName>
+                    <maxQuotaValue>800</maxQuotaValue>
+                    <usedQuotaValue>2</usedQuotaValue>
+                </item>
+                <item>
+                    <ownerId>366866344682</ownerId>
+                    <name>memory_limit</name>
+                    <displayName>Memory Limit</displayName>
+                    <description>Maximum number of total memory 
(GiB)</description>
+                    <groupName>Compute</groupName>
+                    <maxQuotaValue>4880</maxQuotaValue>
+                    <usedQuotaValue>7</usedQuotaValue>
+                </item>
+            </quotaSet>
+        </item>
+        <item>
+            <reference>vpc-00000000</reference>
+            <quotaSet>
+                <item>
+                    <ownerId>366866344682</ownerId>
+                    <name>sg_limit</name>
+                    <displayName>Security Groups Limit</displayName>
+                    <description>Maximum number of security 
groups</description>
+                    <groupName>Security Groups</groupName>
+                    <maxQuotaValue>100</maxQuotaValue>
+                    <usedQuotaValue>2</usedQuotaValue>
+                </item>
+            </quotaSet>
+        </item>
+    </referenceQuotaSet>
+</DescribeQuotaResponse>

http://git-wip-us.apache.org/repos/asf/libcloud/blob/576673d6/libcloud/test/compute/test_ec2.py
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/test_ec2.py 
b/libcloud/test/compute/test_ec2.py
index 2b24776..5d919fa 100644
--- a/libcloud/test/compute/test_ec2.py
+++ b/libcloud/test/compute/test_ec2.py
@@ -1795,5 +1795,30 @@ class OutscaleTests(EC2Tests):
         self.assertTrue('m1.xlarge' in ids)
 
 
+class FCUMockHttp(EC2MockHttp):
+    fixtures = ComputeFileFixtures('fcu')
+
+    def _DescribeQuota(self, method, url, body, headers):
+        body = self.fixtures.load('ex_describe_quota.xml')
+        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+
+class OutscaleFCUTests(LibcloudTestCase):
+
+    def setUp(self):
+        OutscaleSASNodeDriver.connectionCls.conn_classes = (None, FCUMockHttp)
+        EC2MockHttp.use_param = 'Action'
+        EC2MockHttp.type = None
+        self.driver = OutscaleSASNodeDriver(key=EC2_PARAMS[0],
+                                            secret=EC2_PARAMS[1],
+                                            host='some.fcucloud.com')
+
+    def test_ex_describe_quota(self):
+        is_truncated, quota = self.driver.ex_describe_quota()
+        self.assertTrue(is_truncated == 'true')
+        self.assertTrue('global' in quota.keys())
+        self.assertTrue('vpc-00000000' in quota.keys())
+
+
 if __name__ == '__main__':
     sys.exit(unittest.main())

Reply via email to