tests/test-wireproto-command-capabilities.t
changeset 37533 df4985497986
child 37534 465187fec06f
equal deleted inserted replaced
37532:8475c9bf096d 37533:df4985497986
       
     1   $ . $TESTDIR/wireprotohelpers.sh
       
     2 
       
     3   $ hg init server
       
     4   $ enablehttpv2 server
       
     5   $ hg -R server serve -p $HGPORT -d --pid-file hg.pid -E error.log
       
     6   $ cat hg.pid > $DAEMON_PIDS
       
     7 
       
     8 capabilities request returns an array of capability strings
       
     9 
       
    10   $ sendhttpv2peer << EOF
       
    11   > command capabilities
       
    12   > EOF
       
    13   creating http peer for wire protocol version 2
       
    14   sending capabilities command
       
    15   s>     POST /api/exp-http-v2-0001/ro/capabilities HTTP/1.1\r\n
       
    16   s>     Accept-Encoding: identity\r\n
       
    17   s>     accept: application/mercurial-exp-framing-0003\r\n
       
    18   s>     content-type: application/mercurial-exp-framing-0003\r\n
       
    19   s>     content-length: 27\r\n
       
    20   s>     host: $LOCALIP:$HGPORT\r\n (glob)
       
    21   s>     user-agent: Mercurial debugwireproto\r\n
       
    22   s>     \r\n
       
    23   s>     \x13\x00\x00\x01\x00\x01\x01\x11\xa1DnameLcapabilities
       
    24   s> makefile('rb', None)
       
    25   s>     HTTP/1.1 200 OK\r\n
       
    26   s>     Server: testing stub value\r\n
       
    27   s>     Date: $HTTP_DATE$\r\n
       
    28   s>     Content-Type: application/mercurial-exp-framing-0003\r\n
       
    29   s>     Transfer-Encoding: chunked\r\n
       
    30   s>     \r\n
       
    31   s>     *\r\n (glob)
       
    32   s>     *\x00\x01\x00\x02\x01F (glob)
       
    33   s>     \xa2Hcommands\xabEheads\xa2Dargs\x81JpubliconlyKpermissions\x81DpullEknown\xa2Dargs\x81EnodesKpermissions\x81DpullFlookup\xa2Dargs\x81CkeyKpermissions\x81DpullGpushkey\xa2Dargs\x84CkeyInamespaceCnewColdKpermissions\x81DpushHlistkeys\xa2Dargs\x81InamespaceKpermissions\x81DpullHunbundle\xa2Dargs\x81EheadsKpermissions\x81DpushIbranchmap\xa2Dargs\x80Kpermissions\x81DpullIgetbundle\xa2Dargs\x81A*Kpermissions\x81DpullJstream_out\xa2Dargs\x80Kpermissions\x81DpullLcapabilities\xa2Dargs\x80Kpermissions\x81DpullLclonebundles\xa2Dargs\x80Kpermissions\x81DpullKcompression\x82\xa1DnameDzstd\xa1DnameDzlib
       
    34   s>     \r\n
       
    35   received frame(size=*; request=1; stream=2; streamflags=stream-begin; type=bytes-response; flags=eos|cbor) (glob)
       
    36   s>     0\r\n
       
    37   s>     \r\n
       
    38   response: [{b'commands': {b'branchmap': {b'args': [], b'permissions': [b'pull']}, b'capabilities': {b'args': [], b'permissions': [b'pull']}, b'clonebundles': {b'args': [], b'permissions': [b'pull']}, b'getbundle': {b'args': [b'*'], b'permissions': [b'pull']}, b'heads': {b'args': [b'publiconly'], b'permissions': [b'pull']}, b'known': {b'args': [b'nodes'], b'permissions': [b'pull']}, b'listkeys': {b'args': [b'namespace'], b'permissions': [b'pull']}, b'lookup': {b'args': [b'key'], b'permissions': [b'pull']}, b'pushkey': {b'args': [b'key', b'namespace', b'new', b'old'], b'permissions': [b'push']}, b'stream_out': {b'args': [], b'permissions': [b'pull']}, b'unbundle': {b'args': [b'heads'], b'permissions': [b'push']}}, b'compression': [{b'name': b'zstd'}, {b'name': b'zlib'}]}]
       
    39 
       
    40   $ cat error.log