~ubuntu-branches/ubuntu/raring/nova/raring-proposed

« back to all changes in this revision

Viewing changes to nova/tests/test_safeutils.py

  • Committer: Package Import Robot
  • Author(s): Chuck Short, Chuck Short, James Page
  • Date: 2013-03-20 12:59:22 UTC
  • mfrom: (1.1.69)
  • Revision ID: package-import@ubuntu.com-20130320125922-ohvfav96lemn9wlz
Tags: 1:2013.1~rc1-0ubuntu1
[ Chuck Short ]
* New upstream release.
* debian/patches/avoid_setuptools_git_dependency.patch: Refreshed.
* debian/control: Clean up dependencies:
  - Dropped python-gflags no longer needed.
  - Dropped python-daemon no longer needed.
  - Dropped python-glance no longer needed.
  - Dropped python-lockfile no longer needed.
  - Dropped python-simplejson no longer needed.
  - Dropped python-tempita no longer needed.
  - Dropped python-xattr no longer needed.
  - Add sqlite3 required for the testsuite.

[ James Page ]
* d/watch: Update uversionmangle to deal with upstream versioning
  changes, remove tarballs.openstack.org. 

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# vim: tabstop=4 shiftwidth=4 softtabstop=4
 
2
 
 
3
#    Copyright 2011 Justin Santa Barbara
 
4
#
 
5
#    Licensed under the Apache License, Version 2.0 (the "License"); you may
 
6
#    not use this file except in compliance with the License. You may obtain
 
7
#    a copy of the License at
 
8
#
 
9
#         http://www.apache.org/licenses/LICENSE-2.0
 
10
#
 
11
#    Unless required by applicable law or agreed to in writing, software
 
12
#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 
13
#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 
14
#    License for the specific language governing permissions and limitations
 
15
#    under the License.
 
16
 
 
17
from nova import safe_utils
 
18
from nova import test
 
19
 
 
20
 
 
21
class GetCallArgsTestCase(test.TestCase):
 
22
    def _test_func(self, instance, red=None, blue=None):
 
23
        pass
 
24
 
 
25
    def test_all_kwargs(self):
 
26
        args = ()
 
27
        kwargs = {'instance': {'uuid': 1}, 'red': 3, 'blue': 4}
 
28
        callargs = safe_utils.getcallargs(self._test_func, *args, **kwargs)
 
29
        #implicit self counts as an arg
 
30
        self.assertEqual(4, len(callargs))
 
31
        self.assertTrue('instance' in callargs)
 
32
        self.assertEqual({'uuid': 1}, callargs['instance'])
 
33
        self.assertTrue('red' in callargs)
 
34
        self.assertEqual(3, callargs['red'])
 
35
        self.assertTrue('blue' in callargs)
 
36
        self.assertEqual(4, callargs['blue'])
 
37
 
 
38
    def test_all_args(self):
 
39
        args = ({'uuid': 1}, 3, 4)
 
40
        kwargs = {}
 
41
        callargs = safe_utils.getcallargs(self._test_func, *args, **kwargs)
 
42
        #implicit self counts as an arg
 
43
        self.assertEqual(4, len(callargs))
 
44
        self.assertTrue('instance' in callargs)
 
45
        self.assertEqual({'uuid': 1}, callargs['instance'])
 
46
        self.assertTrue('red' in callargs)
 
47
        self.assertEqual(3, callargs['red'])
 
48
        self.assertTrue('blue' in callargs)
 
49
        self.assertEqual(4, callargs['blue'])
 
50
 
 
51
    def test_mixed_args(self):
 
52
        args = ({'uuid': 1}, 3)
 
53
        kwargs = {'blue': 4}
 
54
        callargs = safe_utils.getcallargs(self._test_func, *args, **kwargs)
 
55
        #implicit self counts as an arg
 
56
        self.assertEqual(4, len(callargs))
 
57
        self.assertTrue('instance' in callargs)
 
58
        self.assertEqual({'uuid': 1}, callargs['instance'])
 
59
        self.assertTrue('red' in callargs)
 
60
        self.assertEqual(3, callargs['red'])
 
61
        self.assertTrue('blue' in callargs)
 
62
        self.assertEqual(4, callargs['blue'])
 
63
 
 
64
    def test_partial_kwargs(self):
 
65
        args = ()
 
66
        kwargs = {'instance': {'uuid': 1}, 'red': 3}
 
67
        callargs = safe_utils.getcallargs(self._test_func, *args, **kwargs)
 
68
        #implicit self counts as an arg
 
69
        self.assertEqual(4, len(callargs))
 
70
        self.assertTrue('instance' in callargs)
 
71
        self.assertEqual({'uuid': 1}, callargs['instance'])
 
72
        self.assertTrue('red' in callargs)
 
73
        self.assertEqual(3, callargs['red'])
 
74
        self.assertTrue('blue' in callargs)
 
75
        self.assertEqual(None, callargs['blue'])
 
76
 
 
77
    def test_partial_args(self):
 
78
        args = ({'uuid': 1}, 3)
 
79
        kwargs = {}
 
80
        callargs = safe_utils.getcallargs(self._test_func, *args, **kwargs)
 
81
        #implicit self counts as an arg
 
82
        self.assertEqual(4, len(callargs))
 
83
        self.assertTrue('instance' in callargs)
 
84
        self.assertEqual({'uuid': 1}, callargs['instance'])
 
85
        self.assertTrue('red' in callargs)
 
86
        self.assertEqual(3, callargs['red'])
 
87
        self.assertTrue('blue' in callargs)
 
88
        self.assertEqual(None, callargs['blue'])
 
89
 
 
90
    def test_partial_mixed_args(self):
 
91
        args = (3,)
 
92
        kwargs = {'instance': {'uuid': 1}}
 
93
        callargs = safe_utils.getcallargs(self._test_func, *args, **kwargs)
 
94
        self.assertEqual(4, len(callargs))
 
95
        self.assertTrue('instance' in callargs)
 
96
        self.assertEqual({'uuid': 1}, callargs['instance'])
 
97
        self.assertTrue('red' in callargs)
 
98
        self.assertEqual(3, callargs['red'])
 
99
        self.assertTrue('blue' in callargs)
 
100
        self.assertEqual(None, callargs['blue'])