diff --git a/tests/test_base.py b/tests/test_base.py new file mode 100644 index 00000000..d6ee6a9d --- /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), "") + + 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)