

def test_rpc_topic_uses_message_type(self):
    self.flags(rpc_driver_queue_base='cells.intercell42', group='cells')
    msg_runner = fakes.get_message_runner('api-cell')
    cell_state = fakes.get_cell_state('api-cell', 'child-cell2')
    message = messaging._BroadcastMessage(msg_runner, self.ctxt, 'fake', {
        
    }, 'down', fanout=True)
    message.message_type = 'fake-message-type'
    expected_server_params = {
        'hostname': 'rpc_host2',
        'password': 'password2',
        'port': 3092,
        'username': 'username2',
        'virtual_host': 'rpc_vhost2',
    }
    expected_url = ('rabbit://%(username)s:%(password)s@%(hostname)s:%(port)d/%(virtual_host)s' % expected_server_params)

    def check_transport_url(cell_state):
        return (cell_state.db_info['transport_url'] == expected_url)
    rpcapi = self.driver.intercell_rpcapi
    rpcclient = self.mox.CreateMockAnything()
    self.mox.StubOutWithMock(rpcapi, '_get_client')
    rpcapi._get_client(mox.Func(check_transport_url), 'cells.intercell42.fake-message-type').AndReturn(rpcclient)
    rpcclient.prepare(fanout=True).AndReturn(rpcclient)
    rpcclient.cast(mox.IgnoreArg(), 'process_message', message=message.to_json())
    self.mox.ReplayAll()
    self.driver.send_message_to_cell(cell_state, msg_runner)

dataset/ETHPy150Open BU-NU-CLOUD-SP16/Trusted-Platform-Module-nova/nova/tests/unit/cells/test_cells_rpc_driver.py CellsRPCDriverTestCase.test_rpc_topic_uses_message_type/VarMisuse@235/418 `message`->`msg_runner`