assertEqual method's arguments should be in ('expected', 'actual')
order.
Change-Id: I35f045a9d3a6e7f083fb137c751eeab52c77000b
Closes-bug: 1277104
		
	
		
			
				
	
	
		
			178 lines
		
	
	
		
			6.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			178 lines
		
	
	
		
			6.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
 | 
						|
# Copyright 2013 Red Hat, Inc.
 | 
						|
#
 | 
						|
#    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 testscenarios
 | 
						|
 | 
						|
from oslo import messaging
 | 
						|
from tests import utils as test_utils
 | 
						|
 | 
						|
load_tests = testscenarios.load_tests_apply_scenarios
 | 
						|
 | 
						|
 | 
						|
class TargetConstructorTestCase(test_utils.BaseTestCase):
 | 
						|
 | 
						|
    scenarios = [
 | 
						|
        ('all_none', dict(kwargs=dict())),
 | 
						|
        ('exchange', dict(kwargs=dict(exchange='testexchange'))),
 | 
						|
        ('topic', dict(kwargs=dict(topic='testtopic'))),
 | 
						|
        ('namespace', dict(kwargs=dict(namespace='testnamespace'))),
 | 
						|
        ('version', dict(kwargs=dict(version='3.4'))),
 | 
						|
        ('server', dict(kwargs=dict(server='testserver'))),
 | 
						|
        ('fanout', dict(kwargs=dict(fanout=True))),
 | 
						|
    ]
 | 
						|
 | 
						|
    def test_constructor(self):
 | 
						|
        target = messaging.Target(**self.kwargs)
 | 
						|
        for k in self.kwargs:
 | 
						|
            self.assertEqual(self.kwargs[k], getattr(target, k))
 | 
						|
        for k in ['exchange', 'topic', 'namespace',
 | 
						|
                  'version', 'server', 'fanout']:
 | 
						|
            if k in self.kwargs:
 | 
						|
                continue
 | 
						|
            self.assertIsNone(getattr(target, k))
 | 
						|
 | 
						|
 | 
						|
class TargetCallableTestCase(test_utils.BaseTestCase):
 | 
						|
 | 
						|
    scenarios = [
 | 
						|
        ('all_none', dict(attrs=dict(), kwargs=dict(), vals=dict())),
 | 
						|
        ('exchange_attr', dict(attrs=dict(exchange='testexchange'),
 | 
						|
                               kwargs=dict(),
 | 
						|
                               vals=dict(exchange='testexchange'))),
 | 
						|
        ('exchange_arg', dict(attrs=dict(),
 | 
						|
                              kwargs=dict(exchange='testexchange'),
 | 
						|
                              vals=dict(exchange='testexchange'))),
 | 
						|
        ('topic_attr', dict(attrs=dict(topic='testtopic'),
 | 
						|
                            kwargs=dict(),
 | 
						|
                            vals=dict(topic='testtopic'))),
 | 
						|
        ('topic_arg', dict(attrs=dict(),
 | 
						|
                           kwargs=dict(topic='testtopic'),
 | 
						|
                           vals=dict(topic='testtopic'))),
 | 
						|
        ('namespace_attr', dict(attrs=dict(namespace='testnamespace'),
 | 
						|
                                kwargs=dict(),
 | 
						|
                                vals=dict(namespace='testnamespace'))),
 | 
						|
        ('namespace_arg', dict(attrs=dict(),
 | 
						|
                               kwargs=dict(namespace='testnamespace'),
 | 
						|
                               vals=dict(namespace='testnamespace'))),
 | 
						|
        ('version_attr', dict(attrs=dict(version='3.4'),
 | 
						|
                              kwargs=dict(),
 | 
						|
                              vals=dict(version='3.4'))),
 | 
						|
        ('version_arg', dict(attrs=dict(),
 | 
						|
                             kwargs=dict(version='3.4'),
 | 
						|
                             vals=dict(version='3.4'))),
 | 
						|
        ('server_attr', dict(attrs=dict(server='testserver'),
 | 
						|
                             kwargs=dict(),
 | 
						|
                             vals=dict(server='testserver'))),
 | 
						|
        ('server_arg', dict(attrs=dict(),
 | 
						|
                            kwargs=dict(server='testserver'),
 | 
						|
                            vals=dict(server='testserver'))),
 | 
						|
        ('fanout_attr', dict(attrs=dict(fanout=True),
 | 
						|
                             kwargs=dict(),
 | 
						|
                             vals=dict(fanout=True))),
 | 
						|
        ('fanout_arg', dict(attrs=dict(),
 | 
						|
                            kwargs=dict(fanout=True),
 | 
						|
                            vals=dict(fanout=True))),
 | 
						|
    ]
 | 
						|
 | 
						|
    def test_callable(self):
 | 
						|
        target = messaging.Target(**self.attrs)
 | 
						|
        target = target(**self.kwargs)
 | 
						|
        for k in self.vals:
 | 
						|
            self.assertEqual(self.vals[k], getattr(target, k))
 | 
						|
        for k in ['exchange', 'topic', 'namespace',
 | 
						|
                  'version', 'server', 'fanout']:
 | 
						|
            if k in self.vals:
 | 
						|
                continue
 | 
						|
            self.assertIsNone(getattr(target, k))
 | 
						|
 | 
						|
 | 
						|
class TargetReprTestCase(test_utils.BaseTestCase):
 | 
						|
 | 
						|
    scenarios = [
 | 
						|
        ('all_none', dict(kwargs=dict(), repr='')),
 | 
						|
        ('exchange', dict(kwargs=dict(exchange='testexchange'),
 | 
						|
                          repr='exchange=testexchange')),
 | 
						|
        ('topic', dict(kwargs=dict(topic='testtopic'),
 | 
						|
                       repr='topic=testtopic')),
 | 
						|
        ('namespace', dict(kwargs=dict(namespace='testnamespace'),
 | 
						|
                           repr='namespace=testnamespace')),
 | 
						|
        ('version', dict(kwargs=dict(version='3.4'),
 | 
						|
                         repr='version=3.4')),
 | 
						|
        ('server', dict(kwargs=dict(server='testserver'),
 | 
						|
                        repr='server=testserver')),
 | 
						|
        ('fanout', dict(kwargs=dict(fanout=True),
 | 
						|
                        repr='fanout=True')),
 | 
						|
        ('exchange_and_fanout', dict(kwargs=dict(exchange='testexchange',
 | 
						|
                                                 fanout=True),
 | 
						|
                                     repr='exchange=testexchange, '
 | 
						|
                                          'fanout=True')),
 | 
						|
    ]
 | 
						|
 | 
						|
    def test_repr(self):
 | 
						|
        target = messaging.Target(**self.kwargs)
 | 
						|
        self.assertEqual('<Target ' + self.repr + '>', str(target))
 | 
						|
 | 
						|
 | 
						|
_notset = object()
 | 
						|
 | 
						|
 | 
						|
class EqualityTestCase(test_utils.BaseTestCase):
 | 
						|
 | 
						|
    @classmethod
 | 
						|
    def generate_scenarios(cls):
 | 
						|
        attr = [
 | 
						|
            ('exchange', dict(attr='exchange')),
 | 
						|
            ('topic', dict(attr='topic')),
 | 
						|
            ('namespace', dict(attr='namespace')),
 | 
						|
            ('version', dict(attr='version')),
 | 
						|
            ('server', dict(attr='server')),
 | 
						|
            ('fanout', dict(attr='fanout')),
 | 
						|
        ]
 | 
						|
        a = [
 | 
						|
            ('a_notset', dict(a_value=_notset)),
 | 
						|
            ('a_none', dict(a_value=None)),
 | 
						|
            ('a_empty', dict(a_value='')),
 | 
						|
            ('a_foo', dict(a_value='foo')),
 | 
						|
            ('a_bar', dict(a_value='bar')),
 | 
						|
        ]
 | 
						|
        b = [
 | 
						|
            ('b_notset', dict(b_value=_notset)),
 | 
						|
            ('b_none', dict(b_value=None)),
 | 
						|
            ('b_empty', dict(b_value='')),
 | 
						|
            ('b_foo', dict(b_value='foo')),
 | 
						|
            ('b_bar', dict(b_value='bar')),
 | 
						|
        ]
 | 
						|
 | 
						|
        cls.scenarios = testscenarios.multiply_scenarios(attr, a, b)
 | 
						|
        for s in cls.scenarios:
 | 
						|
            s[1]['equals'] = (s[1]['a_value'] == s[1]['b_value'])
 | 
						|
 | 
						|
    def test_equality(self):
 | 
						|
        a_kwargs = {self.attr: self.a_value}
 | 
						|
        b_kwargs = {self.attr: self.b_value}
 | 
						|
 | 
						|
        a = messaging.Target(**a_kwargs)
 | 
						|
        b = messaging.Target(**b_kwargs)
 | 
						|
 | 
						|
        if self.equals:
 | 
						|
            self.assertEqual(a, b)
 | 
						|
            self.assertFalse(a != b)
 | 
						|
        else:
 | 
						|
            self.assertNotEqual(a, b)
 | 
						|
            self.assertFalse(a == b)
 | 
						|
 | 
						|
 | 
						|
EqualityTestCase.generate_scenarios()
 |