summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2015-09-07 13:42:13 +0000
committerGerrit Code Review <review@openstack.org>2015-09-07 13:42:13 +0000
commit20e7ef702a03ac506f9f606aca6b7cee2552c2e0 (patch)
tree61140a761d60b2efec024205fa46158351238bef
parent8888b2ef55969e7d09b890cbb7789744263c1340 (diff)
parentc0352876e1ec5d15952642f99d6ba2a5f0a62b44 (diff)
downloadpython-designateclient-20e7ef702a03ac506f9f606aca6b7cee2552c2e0.tar.gz
Merge "Added quotas and servers test cases for designateclient"
-rw-r--r--designateclient/tests/test_v1/test_quotas.py48
-rw-r--r--designateclient/tests/test_v1/test_servers.py83
2 files changed, 131 insertions, 0 deletions
diff --git a/designateclient/tests/test_v1/test_quotas.py b/designateclient/tests/test_v1/test_quotas.py
new file mode 100644
index 0000000..f818b29
--- /dev/null
+++ b/designateclient/tests/test_v1/test_quotas.py
@@ -0,0 +1,48 @@
+# Copyright 2015 NEC Corporation. All rights reserved.
+#
+# Licensed 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 mock
+from mock import patch
+
+from designateclient.tests import test_v1
+from designateclient.v1 import quotas
+
+
+class TestQuota(test_v1.APIV1TestCase, test_v1.CrudMixin):
+
+ @patch.object(quotas.QuotasController, "get")
+ def test_get(self, quota_get):
+ QUOTA = {"domains": 10,
+ "recordset_records": 20,
+ "domain_records": 500,
+ "domain_recordsets": 500}
+ quota_get.return_value = QUOTA
+ response = self.client.quotas.get("foo")
+ self.assertEqual(response, QUOTA)
+
+ @patch.object(quotas.QuotasController, "update")
+ def test_update(self, quota_update):
+ args = mock.MagicMock()
+ args.tenant_id = "1234"
+ args.value = {"domains": 1000}
+ self.client.quotas.update(args.tenant_id, args.value)
+ self.client.quotas.update.assert_called_with(args.tenant_id,
+ args.value)
+
+ @patch.object(quotas.QuotasController, "reset")
+ def test_reset(self, quota_reset):
+ args = mock.MagicMock()
+ args.tenant_id = "1234"
+ self.client.quotas.reset(args.tenant_id)
+ self.client.quotas.reset.assert_called_with("1234")
diff --git a/designateclient/tests/test_v1/test_servers.py b/designateclient/tests/test_v1/test_servers.py
new file mode 100644
index 0000000..5d4217f
--- /dev/null
+++ b/designateclient/tests/test_v1/test_servers.py
@@ -0,0 +1,83 @@
+# Copyright 2015 NEC Corporation. All rights reserved.
+#
+# Licensed 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 uuid
+
+import mock
+from mock import patch
+
+from designateclient.tests import test_v1
+from designateclient.v1 import servers
+
+
+class TestServers(test_v1.APIV1TestCase, test_v1.CrudMixin):
+ RESOURCE = 'servers'
+
+ def new_ref(self, **kwargs):
+ ref = super(TestServers, self).new_ref(**kwargs)
+ ref.setdefault("name", uuid.uuid4().hex)
+ return ref
+
+ def test_list(self):
+ items = [
+ self.new_ref(name="ns1.example.org.",
+ id="89acac79-38e7-497d-807c-a011e1310438"),
+ self.new_ref(name="ns2.example.org.",
+ id="89acac79-38e7-497d-807c-a011e1310435")
+ ]
+
+ self.stub_url("GET", parts=[self.RESOURCE], json={"servers": items})
+
+ listed = self.client.servers.list()
+ self.assertList(items, listed)
+ self.assertQueryStringIs("")
+
+ def test_get(self):
+ ref = self.new_ref(name="ns1.example.org.",
+ id="89acac79-38e7-497d-807c-a011e1310438")
+
+ self.stub_entity("GET", entity=ref, id=ref["id"])
+
+ response = self.client.servers.get(ref["id"])
+ self.assertEqual(ref, response)
+
+ def test_create(self):
+ ref = {"id": "89acac79-38e7-497d-807c-a011e1310438",
+ "name": "ns1.example.org."}
+
+ self.stub_url("POST", parts=[self.RESOURCE], json=ref)
+
+ values = ref.copy()
+ del values["id"]
+
+ self.client.servers.create({"name": "ns1.example.org."})
+ self.assertRequestBodyIs(json=values)
+
+ @patch.object(servers.ServersController, "update")
+ def test_update(self, server_update):
+ ref = self.new_ref()
+
+ self.stub_entity("PUT", entity=ref, id=ref["id"])
+
+ mock_server = mock.MagicMock()
+ self.client.servers.update(mock_server)
+ self.client.servers.update.assert_called_with(mock_server)
+
+ def test_delete(self):
+ ref = self.new_ref()
+
+ self.stub_entity("DELETE", id=ref["id"])
+
+ self.client.servers.delete(ref["id"])
+ self.assertRequestBodyIs(None)