def METHOD_NAME(self):
    node = self.nodes[0]
    # wrong argument count
    assert_raises_rpc_error(-1, 'help', node.help, 'foo', 'bar')
    # invalid argument
    assert_raises_rpc_error(-3, "JSON value of type number is not of expected type string", node.help, 0)
    # help of unknown command
    assert_equal(node.help('foo'), 'help: unknown command: foo')
    # command titles
    titles = [line[3:-3] for line in node.help().splitlines() if line.startswith('==')]
    components = ['Blockchain', 'Control', 'Mining', 'Network', 'Rawtransactions', 'Util']
    if self.is_wallet_compiled():
        components.append('Wallet')
    if self.is_external_signer_compiled():
        components.append('Signer')
    if self.is_zmq_compiled():
        components.append('Zmq')
    assert_equal(titles, sorted(components))