示例#1
0
def test_remaining_url_arg_parser():
    with get(webify.wsgify(simplest.app), '/joe?times=10') as r:
        assert u'200' in r.status
        assert u'joe' in r.body
        assert u'Hello, joe!' in r.body
        assert len(re.findall(u'joe', r.body)) == 10
        assert u'Hello, joe!' in r.body
示例#2
0
def test_simplest():
    with get(webify.wsgify(simplest.app), '/world?times=3') as r:
        assert u'200' in r.status
        body = r.body
        assert u'world' in body
        assert u'Hello, world!' in body
        assert len(re.findall('world', body)) == 3
示例#3
0
def test_simplest_hello():
    with get(webify.wsgify(simplest.app), '/') as r:
        assert u'200' in r.status
        assert u'world' in r.body
        assert u'Hello, world!' in r.body
        assert u'<br />' in r.body
        assert u'500' not in r.status
        assert u'Error' not in r.status
        assert u'Error' not in r.body
示例#4
0
文件: __init__.py 项目: jperla/webify
app = webify.defaults.app()
from webify.templates.helpers import html


# Controllers
@app.subapp()
@webify.urlable()
def hello(req, p):
    name = req.params.get(u'name', u'world')
    p(hello_template(name))

# Templates
# This would normally be in a different file in a different module 
@webify.template()
def hello_template(p, name):
    with p(html.form(action=u'', method='GET')):
        p(u'Hello, %s! <br />' % name)
        p(u'Your name: %s' % html.input_text('name'))
        p(html.input_submit('name'))


# Middleware
from webify.middleware import EvalException
wsgi_app = webify.wsgify(app, EvalException)

# Server
if __name__ == '__main__':
    webify.http.server.serve(wsgi_app, host='127.0.0.1', port='8080')

示例#5
0
文件: __init__.py 项目: jperla/webify
import webify

@webify.single_app()
def app(req, p, name):
    times = req.params.get(u'times', 1)
    for i in xrange(int(times)):
        p(u'Hello, %s!<br />' % (name or u'world'))

if __name__ == '__main__':
    webify.run(webify.wsgify(app))
示例#6
0
import re
import webify
from webify.middleware import EvalException, SettingsMiddleware
import web_raven

settings = {
    'fff': [web_raven.all_figures, 
            web_raven.all_feature_sets, 
            web_raven.all_features],
}

app = webify.wsgify(web_raven.app, SettingsMiddleware(settings))
from webify.tests import get

def test_pages():
    with get(app, '/list') as r:
        assert(r.status == '200 OK')
        body = r.body
        link = re.findall(r'href="(.*?)"', r.body)[0]
        assert(link.startswith('/ask_matrix/'))
        assert(len(link) > 15)
    with get(app, link) as r:
        assert(r.status == '200 OK')
        image_links = re.findall(r'src="(.*?)"', r.body)
        for link in image_links:
            assert(link.startswith('/matrix_guess/') or 
                   link.startswith('/figure_image/'))
            assert(len(link) > 15)
    for link in image_links:
        with get(app, link) as r:
            assert(r.status == '200 OK')
示例#7
0
文件: frishy.py 项目: jperla/frishy
    

# Middleware
from webify.middleware import install_middleware, EvalException, SettingsMiddleware

# Server
from webify.http import server
if __name__ == '__main__':
    mail_server = webify.email.LocalMailServer()
    users_db = couchdb.client.Database('htp://localhost:5984/frishy-users')
    updates_db = couchdb.client.Database('htp://localhost:5984/frishy-updates')
    settings = {
                'mail_server': mail_server,
                'users_db': users_db,
                'updates_db': updates_db,
               }

    from beaker.middleware import SessionMiddleware

    wsgi_app = webify.wsgify(app)

    wrapped_app = install_middleware(wsgi_app, [
                                                SettingsMiddleware(settings),
                                                EvalException,
                                               ])
    wrapped_app = SessionMiddleware(wrapped_app, type='cookie', validate_key='randomstuff', key='mysession', secret='randomsecret')

    print 'Loading server...'
    server.serve(wrapped_app, host='127.0.0.1', port=8085, reload=True)

示例#8
0
文件: web_raven.py 项目: jperla/raven
    png = rpm_from_cmatrix(f, cmatrix)

    f = ColoredLinedShapeFigure([TripleShapeFeatureSet,
                                 TripleColorFeatureSet,
                                 TripleSmallPositiveIntegerFeatureSet,],
                                    [[Triangle, Square, Circle],
                                     [Yellow, Blue, Red],
                                     [V2, V8, V16]])
    c = [2,1,0]
    png = f.render(c)

    k,v = webify.http.headers.content_types.image_png
    p.headers[k] = v
    p.encoding = None
    p(png)

from webify.http import server
if __name__ == '__main__':
    mail_server = webify.email.LocalMailServer()
    settings = {
                'mail_server': mail_server,
                'fff': [all_figures, all_feature_sets, all_features],
               }
    wsgi_app = webify.wsgify(app, 
                                        SettingsMiddleware(settings),
                                        EvalException,
                                     )

    print 'Loading server...'
    server.serve(wsgi_app, host='0.0.0.0', port=8087, reload=True)
示例#9
0
文件: __init__.py 项目: jperla/webify
import webify

app = webify.apps.SingleApp()

@app.subapp()
@webify.urlable()
def send(req, p):
    email = req.params.get(u'email', u'*****@*****.**')
    mail_server = req.settings[u'mail_server']
    message = webify.email.create_text_message(u'*****@*****.**',
                                                [email],
                                                u'Hello, World!',
                                                u'I am sending you a text message')
    mail_server.send_message(message)
    p(u'Sent email.')

# Middleware
from webify.middleware import SettingsMiddleware

mail_server = webify.email.TestMailServer()
settings = {'mail_server': mail_server}
wrapped_app = webify.wsgify(app, SettingsMiddleware(settings))


if __name__ == '__main__':
    webify.run(wrapped_app)
    
# Try Loading http://127.0.0.1:8080/hello/world?times=1000000
示例#10
0
def test_static_app():
    content = u'''div {\n    color: blue;\n}\n'''
    with get(webify.wsgify(standard.app), u'/static/style.css') as r:
        assert content == r.body
示例#11
0
def test_layout():
    with get(webify.wsgify(layouts.app), '/hello?name=joe') as r:
        assert u'200' in r.status
        assert u'joe' in r.body
        assert u'Hello, joe!' in r.body
        assert u'<title>' in r.body
示例#12
0
def test_template():
    with get(webify.wsgify(first_template.app), '/hello?name=joe') as r:
        assert u'200' in r.status
        assert u'joe' in r.body
        assert u'Hello, joe!' in r.body
示例#13
0
def test_redirect():
    with get(webify.wsgify(hello.app), '/hello_old/') as r:
        assert u'302' in r.status
        assert u'/hello/' in r.body
示例#14
0
def test_unicode():
    with get(webify.wsgify(simplest.app), '/wểrld?times=3') as r:
        assert u'200' in r.status
        assert u'wểrld' in r.body.decode('utf8')
        assert u'Hello, wểrld!' in r.body.decode('utf8')
        assert len(re.findall(u'wểrld', r.body.decode('utf8'))) == 3
示例#15
0
def test_index():
    with get(webify.wsgify(hello.app), '/') as r:
        assert u'200' in r.status
        assert u'Hello, world!' in r.body