##// END OF EJS Templates
phabricator: make user searches case-insensitive...
phabricator: make user searches case-insensitive User names in conduit are case insensitive, but when looking for "FOO" it would return "foo" instead and we'd think the user didn't exist. So lower case both the query and the response when comparing them. Differential Revision: https://phab.mercurial-scm.org/D5934

File last commit:

r40239:f80f7a67 default
r41854:570e62f1 default
Show More
test-hgweb-no-request-uri.t
177 lines | 4.5 KiB | text/troff | Tads3Lexer
/ tests / test-hgweb-no-request-uri.t
Matt Mackall
tests: unify test-hgweb-no-request-uri
r12439 This tests if hgweb and hgwebdir still work if the REQUEST_URI variable is
no longer passed with the request. Instead, SCRIPT_NAME and PATH_INFO
should be used from d74fc8dec2b4 onward to route the request.
Martin Geisler
tests: remove redundant mkdir...
r13956 $ hg init repo
Matt Mackall
tests: unify test-hgweb-no-request-uri
r12439 $ cd repo
$ echo foo > bar
$ hg add bar
$ hg commit -m "test"
$ hg tip
changeset: 0:61c9426e69fe
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: test
$ cat > request.py <<EOF
timeless
py3: use absolute_import in test-hgweb-no-request-uri.t
r28858 > from __future__ import absolute_import
> import os
> import sys
timeless
pycompat: switch to util.stringio for py3 compat
r28861 > from mercurial import (
Matt Harbison
py3: ensure printing to stdout uses str in test-hgweb-no-request-uri.t
r39928 > encoding,
FUJIWARA Katsunori
tests: fix style issue of importing hgweb in embedded code fragments...
r40239 > hgweb,
timeless
pycompat: switch to util.stringio for py3 compat
r28861 > util,
> )
> stringio = util.stringio
Matt Mackall
tests: unify test-hgweb-no-request-uri
r12439 >
timeless
pycompat: switch to util.stringio for py3 compat
r28861 > errors = stringio()
> input = stringio()
Matt Mackall
tests: unify test-hgweb-no-request-uri
r12439 >
> def startrsp(status, headers):
Augie Fackler
tests: fix simple heredoc print statements to work on Py3...
r33686 > print('---- STATUS')
> print(status)
> print('---- HEADERS')
> print([i for i in headers if i[0] != 'ETag'])
> print('---- DATA')
Adrian Buehlmann
check-code: add 'no tab indent' check for unified tests...
r12743 > return output.write
Matt Mackall
tests: unify test-hgweb-no-request-uri
r12439 >
> env = {
Adrian Buehlmann
check-code: add 'no tab indent' check for unified tests...
r12743 > 'wsgi.version': (1, 0),
> 'wsgi.url_scheme': 'http',
> 'wsgi.errors': errors,
> 'wsgi.input': input,
> 'wsgi.multithread': False,
> 'wsgi.multiprocess': False,
> 'wsgi.run_once': False,
> 'REQUEST_METHOD': 'GET',
> 'SCRIPT_NAME': '',
Jun Wu
tests: use LOCALIP...
r31008 > 'SERVER_NAME': '$LOCALIP',
Adrian Buehlmann
check-code: add 'no tab indent' check for unified tests...
r12743 > 'SERVER_PORT': os.environ['HGPORT'],
> 'SERVER_PROTOCOL': 'HTTP/1.0'
Matt Mackall
tests: unify test-hgweb-no-request-uri
r12439 > }
>
> def process(app):
Adrian Buehlmann
check-code: add 'no tab indent' check for unified tests...
r12743 > content = app(env, startrsp)
Matt Harbison
py3: ensure printing to stdout uses str in test-hgweb-no-request-uri.t
r39928 > sys.stdout.write(encoding.strfromlocal(output.getvalue()))
> sys.stdout.write(encoding.strfromlocal(b''.join(content)))
Mads Kiilerich
hgweb: make the test suite use hgweb in a more WSGI compliant way...
r18646 > getattr(content, 'close', lambda : None)()
Augie Fackler
tests: fix simple heredoc print statements to work on Py3...
r33686 > print('---- ERRORS')
Matt Harbison
py3: ensure printing to stdout uses str in test-hgweb-no-request-uri.t
r39928 > print(encoding.strfromlocal(errors.getvalue())) # avoid b'' output diff
Matt Mackall
tests: unify test-hgweb-no-request-uri
r12439 >
timeless
pycompat: switch to util.stringio for py3 compat
r28861 > output = stringio()
Matt Mackall
tests: unify test-hgweb-no-request-uri
r12439 > env['PATH_INFO'] = '/'
> env['QUERY_STRING'] = 'style=atom'
FUJIWARA Katsunori
tests: fix style issue of importing hgweb in embedded code fragments...
r40239 > process(hgweb.hgweb(b'.', name = b'repo'))
Matt Mackall
tests: unify test-hgweb-no-request-uri
r12439 >
timeless
pycompat: switch to util.stringio for py3 compat
r28861 > output = stringio()
Matt Mackall
tests: unify test-hgweb-no-request-uri
r12439 > env['PATH_INFO'] = '/file/tip/'
> env['QUERY_STRING'] = 'style=raw'
FUJIWARA Katsunori
tests: fix style issue of importing hgweb in embedded code fragments...
r40239 > process(hgweb.hgweb(b'.', name = b'repo'))
Matt Mackall
tests: unify test-hgweb-no-request-uri
r12439 >
timeless
pycompat: switch to util.stringio for py3 compat
r28861 > output = stringio()
Matt Mackall
tests: unify test-hgweb-no-request-uri
r12439 > env['PATH_INFO'] = '/'
> env['QUERY_STRING'] = 'style=raw'
FUJIWARA Katsunori
tests: fix style issue of importing hgweb in embedded code fragments...
r40239 > process(hgweb.hgwebdir({b'repo': b'.'}))
Matt Mackall
tests: unify test-hgweb-no-request-uri
r12439 >
timeless
pycompat: switch to util.stringio for py3 compat
r28861 > output = stringio()
Matt Mackall
tests: unify test-hgweb-no-request-uri
r12439 > env['PATH_INFO'] = '/repo/file/tip/'
> env['QUERY_STRING'] = 'style=raw'
FUJIWARA Katsunori
tests: fix style issue of importing hgweb in embedded code fragments...
r40239 > process(hgweb.hgwebdir({b'repo': b'.'}))
Matt Mackall
tests: unify test-hgweb-no-request-uri
r12439 > EOF
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" request.py
Matt Mackall
tests: unify test-hgweb-no-request-uri
r12439 ---- STATUS
200 Script output follows
---- HEADERS
[('Content-Type', 'application/atom+xml; charset=ascii')]
---- DATA
<?xml version="1.0" encoding="ascii"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<!-- Changelog -->
Jun Wu
tests: use LOCALIP...
r31008 <id>http://$LOCALIP:$HGPORT/</id> (glob)
<link rel="self" href="http://$LOCALIP:$HGPORT/atom-log"/> (glob)
<link rel="alternate" href="http://$LOCALIP:$HGPORT/"/> (glob)
Matt Mackall
tests: unify test-hgweb-no-request-uri
r12439 <title>repo Changelog</title>
<updated>1970-01-01T00:00:00+00:00</updated>
<entry>
Aaron Jensen
hgweb: adding branch, tags, bookmarks, user, and file list to atom feed entries
r21056 <title>[default] test</title>
Jun Wu
tests: use LOCALIP...
r31008 <id>http://$LOCALIP:$HGPORT/#changeset-61c9426e69fef294feed5e2bbfc97d39944a5b1c</id> (glob)
<link href="http://$LOCALIP:$HGPORT/rev/61c9426e69fe"/> (glob)
Matt Mackall
tests: unify test-hgweb-no-request-uri
r12439 <author>
<name>test</name>
<email>&#116;&#101;&#115;&#116;</email>
</author>
<updated>1970-01-01T00:00:00+00:00</updated>
<published>1970-01-01T00:00:00+00:00</published>
<content type="xhtml">
av6
hgweb: reindent atom/changelogentry.tmpl...
r29439 <table xmlns="http://www.w3.org/1999/xhtml">
<tr>
<th style="text-align:left;">changeset</th>
<td>61c9426e69fe</td>
</tr>
<tr>
<th style="text-align:left;">branch</th>
<td>default</td>
</tr>
<tr>
<th style="text-align:left;">bookmark</th>
<td></td>
</tr>
<tr>
<th style="text-align:left;">tag</th>
<td>tip</td>
</tr>
<tr>
<th style="text-align:left;">user</th>
<td>&#116;&#101;&#115;&#116;</td>
</tr>
<tr>
<th style="text-align:left;vertical-align:top;">description</th>
<td>test</td>
</tr>
<tr>
<th style="text-align:left;vertical-align:top;">files</th>
<td>bar<br /></td>
</tr>
</table>
Matt Mackall
tests: unify test-hgweb-no-request-uri
r12439 </content>
</entry>
</feed>
---- ERRORS
---- STATUS
200 Script output follows
---- HEADERS
[('Content-Type', 'text/plain; charset=ascii')]
---- DATA
-rw-r--r-- 4 bar
---- ERRORS
---- STATUS
200 Script output follows
---- HEADERS
[('Content-Type', 'text/plain; charset=ascii')]
---- DATA
/repo/
---- ERRORS
---- STATUS
200 Script output follows
---- HEADERS
[('Content-Type', 'text/plain; charset=ascii')]
---- DATA
-rw-r--r-- 4 bar
---- ERRORS
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
$ cd ..