summaryrefslogtreecommitdiff
path: root/functional
diff options
context:
space:
mode:
authorTang Chen <chen.tang@easystack.cn>2016-02-17 14:39:57 +0800
committerTang Chen <chen.tang@easystack.cn>2016-02-27 03:48:11 +0800
commit9c91c1df4147cbd277c3384b0c648a6069c5f723 (patch)
tree8c118f32304470c3e9856f26eb0c42739f36dae4 /functional
parent859bfaf8757086c8607c1520c8018ab20e91a3ac (diff)
downloadpython-openstackclient-9c91c1df4147cbd277c3384b0c648a6069c5f723.tar.gz
Make SetAgent inherit from cliff.Command
set/unset command classes should inherit from cliff.Command class. Also, this patch adds functional tests for compute agent. Change-Id: I25eafffd1167f82aa0d430628c22dee7516b1e19 Partial-Bug: 1546065
Diffstat (limited to 'functional')
-rw-r--r--functional/tests/compute/v2/test_agent.py76
1 files changed, 76 insertions, 0 deletions
diff --git a/functional/tests/compute/v2/test_agent.py b/functional/tests/compute/v2/test_agent.py
new file mode 100644
index 00000000..df7c21f2
--- /dev/null
+++ b/functional/tests/compute/v2/test_agent.py
@@ -0,0 +1,76 @@
+# 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 hashlib
+
+from functional.common import test
+
+
+class ComputeAgentTests(test.TestCase):
+ """Functional tests for compute agent. """
+
+ ID = None
+ MD5HASH = hashlib.md5().hexdigest()
+ URL = "http://localhost"
+ VER = "v1"
+ OS = "TEST_OS"
+ ARCH = "x86_64"
+ HYPER = "kvm"
+
+ HEADERS = ['agent_id', 'md5hash']
+ FIELDS = ['agent_id', 'md5hash']
+
+ @classmethod
+ def setUpClass(cls):
+ opts = cls.get_show_opts(cls.HEADERS)
+ raw_output = cls.openstack('compute agent create '
+ + cls.OS + ' ' + cls.ARCH + ' '
+ + cls.VER + ' ' + cls.URL + ' '
+ + cls.MD5HASH + ' ' + cls.HYPER + ' '
+ + opts)
+
+ # Get agent id because agent can only be deleted by ID
+ output_list = raw_output.split('\n', 1)
+ cls.ID = output_list[0]
+
+ cls.assertOutput(cls.MD5HASH + '\n', output_list[1])
+
+ @classmethod
+ def tearDownClass(cls):
+ raw_output = cls.openstack('compute agent delete ' + cls.ID)
+ cls.assertOutput('', raw_output)
+
+ def test_agent_list(self):
+ raw_output = self.openstack('compute agent list')
+ self.assertIn(self.ID, raw_output)
+ self.assertIn(self.OS, raw_output)
+ self.assertIn(self.ARCH, raw_output)
+ self.assertIn(self.VER, raw_output)
+ self.assertIn(self.URL, raw_output)
+ self.assertIn(self.MD5HASH, raw_output)
+ self.assertIn(self.HYPER, raw_output)
+
+ def test_agent_set(self):
+ ver = 'v2'
+ url = "http://openstack"
+ md5hash = hashlib.md5().hexdigest()
+
+ raw_output = self.openstack('compute agent set '
+ + self.ID + ' ' + ver + ' '
+ + url + ' ' + md5hash)
+ self.assertEqual('', raw_output)
+
+ raw_output = self.openstack('compute agent list')
+ self.assertIn(self.ID, raw_output)
+ self.assertIn(ver, raw_output)
+ self.assertIn(url, raw_output)
+ self.assertIn(md5hash, raw_output)