summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorTatyana Leontovich <tleontov@yahoo-inc.com>2013-03-04 13:15:06 +0200
committerTatyana Leontovich <tleontov@yahoo-inc.com>2013-05-15 17:59:43 +0300
commitab36778ec3c8ed69ce798816161ee35a368e2dc2 (patch)
tree13a98b7c7a0b5f84080ca23f5d10cd7f0022cc4d /tests
parentde5f2eea025a5ba926bff376f85ce4ad7ca364dd (diff)
downloadpython-glanceclient-ab36778ec3c8ed69ce798816161ee35a368e2dc2.tar.gz
Improve unit tests for python-glanceclient.glanceclient.common.base
Add several tests for glanceclient.common.base module Fixes: bug #1144158 Change-Id: Ifc288075c79849ee1384f09f513874ee08cd0248
Diffstat (limited to 'tests')
-rw-r--r--tests/test_base.py58
1 files changed, 58 insertions, 0 deletions
diff --git a/tests/test_base.py b/tests/test_base.py
new file mode 100644
index 0000000..d6ee6a9
--- /dev/null
+++ b/tests/test_base.py
@@ -0,0 +1,58 @@
+# Copyright 2013 OpenStack Foundation
+# Copyright (C) 2013 Yahoo! Inc.
+# 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.
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+import testtools
+
+from glanceclient.common import base
+
+
+class TestBase(testtools.TestCase):
+
+ def test_resource_repr(self):
+ r = base.Resource(None, dict(foo="bar", baz="spam"))
+ self.assertEqual(repr(r), "<Resource baz=spam, foo=bar>")
+
+ def test_getid(self):
+ self.assertEqual(base.getid(4), 4)
+
+ class TmpObject(object):
+ id = 4
+ self.assertEqual(base.getid(TmpObject), 4)
+
+ def test_two_resources_with_same_id_are_equal(self):
+ # Two resources of the same type with the same id: equal
+ r1 = base.Resource(None, {'id': 1, 'name': 'hi'})
+ r2 = base.Resource(None, {'id': 1, 'name': 'hello'})
+ self.assertEqual(r1, r2)
+
+ def test_two_resources_with_eq_info_are_equal(self):
+ # Two resources with no ID: equal if their info is equal
+ r1 = base.Resource(None, {'name': 'joe', 'age': 12})
+ r2 = base.Resource(None, {'name': 'joe', 'age': 12})
+ self.assertEqual(r1, r2)
+
+ def test_two_resources_with_diff_id_are_not_equal(self):
+ # Two resources with diff ID: not equal
+ r1 = base.Resource(None, {'id': 1, 'name': 'hi'})
+ r2 = base.Resource(None, {'id': 2, 'name': 'hello'})
+ self.assertNotEqual(r1, r2)
+
+ def test_two_resources_with_not_eq_info_are_not_equal(self):
+ # Two resources with no ID: not equal if their info is not equal
+ r1 = base.Resource(None, {'name': 'bill', 'age': 21})
+ r2 = base.Resource(None, {'name': 'joe', 'age': 12})
+ self.assertNotEqual(r1, r2)