def test_deferred_map_event_subclass_propagate(self):
        users, User = (self.tables.users,
                       self.classes.User)

        class SubUser(User):
            pass

        class SubSubUser(SubUser):
            pass

        canary = Mock()

        def evt(x, y, z):
            canary.append(x)
        event.listen(User, "before_insert", canary, propagate=True, raw=True)

        m = mapper(SubUser, users)
        m.dispatch.before_insert(5, 6, 7)
        eq_(canary.mock_calls,
            [call(5, 6, 7)])

        m2 = mapper(SubSubUser, users)

        m2.dispatch.before_insert(8, 9, 10)
        eq_(canary.mock_calls,
            [call(5, 6, 7), call(8, 9, 10)])
helper function to build a tag parameter list to send
dataset/ETHPy150Open zzzeek/sqlalchemy/test/orm/test_events.py/DeferredMapperEventsTest.test_deferred_map_event_subclass_propagate--crossover with--dataset/ETHPy150Open saltstack/salt/salt/modules/boto_elb.py/_build_tag_param_list