本文整理汇总了Python中weightless.core.asString函数的典型用法代码示例。如果您正苦于以下问题:Python asString函数的具体用法?Python asString怎么用?Python asString使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了asString函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: testServiceConfig
def testServiceConfig(self):
c = ServiceConfig(type='api', minVersion="4.2", untilVersion="5.0")
consume(c.updateConfig(**CONFIG_SERVICES()))
self.assertEquals(['api.front.example.org', 'alias1', 'alias2'], asList(c.servernames()))
self.assertEquals('', asString(c.zones()))
self.assertEquals(' location / {\n proxy_pass http://__var_af9b2fd9f1c7f17413223dc3c26aeee4_api;\n }', asString(c.locations()))
self.assertEquals(' listen 0.0.0.0:80;\n', asString(c.listenLines()))
示例2: testServiceConfigThrottling
def testServiceConfigThrottling(self):
c = ServiceConfig(type='api', minVersion="4.2", untilVersion="5.0", path='/main')
configServices = CONFIG_SERVICES()
configServices['config']['api.frontend']['throttling'] = {
'/path': {'max_connections_per_ip' : 10, 'max_connections': 100},
'/other': {'max_connections_per_ip' : 30, 'max_connections': 150}
}
consume(c.updateConfig(**configServices))
self.assertEquals([
'limit_conn_zone $binary_remote_addr zone=api-other-byip:10m;',
'limit_conn_zone $server_name zone=api-other-total:10m;',
'limit_conn_zone $binary_remote_addr zone=api-path-byip:10m;',
'limit_conn_zone $server_name zone=api-path-total:10m;'
], asString(c.zones()).split('\n'))
self.assertEquals([
' location /main {',
' proxy_pass http://__var_af9b2fd9f1c7f17413223dc3c26aeee4_api;',
' }',
' location /other {',
' proxy_pass http://__var_af9b2fd9f1c7f17413223dc3c26aeee4_api;',
' limit_conn api-other-byip 30;',
' limit_conn api-other-total 150;',
' }',
' location /path {',
' proxy_pass http://__var_af9b2fd9f1c7f17413223dc3c26aeee4_api;',
' limit_conn api-path-byip 10;',
' limit_conn api-path-total 100;',
' }',
], asString(c.locations()).split('\n'))
示例3: testLoggedPathsNewStyle
def testLoggedPathsNewStyle(self):
log = CallTrace('log')
def handleRequest(**kwargs):
yield okPlainText
yield 'result'
index = CallTrace('index', methods={'handleRequest':handleRequest})
observable = be((Observable(),
(LogCollector(),
(QueryLogWriter(log=log, scopeNames=('global', 'yesPath')),),
(LogCollectorScope('global'),
(HandleRequestLog(),
(PathFilter('/yes'),
(LogCollectorScope('yesPath'),
(index,),
)
),
(PathFilter('/no'),
(index,),
)
)
)
)
))
result = asString(observable.all.handleRequest(Client=('11.22.33.44', 1234), path='/yes'))
self.assertEquals(okPlainText+'result', result)
result = asString(observable.all.handleRequest(Client=('22.33.44.55', 2345), path='/no'))
self.assertEquals(okPlainText+'result', result)
result = asString(observable.all.handleRequest(Client=('33.44.55.66', 3456), path='/yes'))
self.assertEquals(okPlainText+'result', result)
self.assertEquals(['log', 'log'], log.calledMethodNames())
self.assertEquals(['/yes', '/yes'], [m.kwargs['path'] for m in log.calledMethods])
示例4: testUpdateUser
def testUpdateUser(self):
action = UserActions(dataDir=self.tempdir)
dna = be(
(Observable(),
(action, ),
))
users = action.listUsers()
users.append(User(username="johan"))
action.saveUsers(users)
self.assertEqual(2, len(action.listUsers()))
self.assertEqual("", action.getUser("johan").organization)
response = asString(dna.call.handleRequest(
Method="POST",
path="/user.action/update",
Body=urlencode(dict(
redirectUri="/go_here_now",
username="johan",
organization="Seecr"))))
self.assertEqual(2, len(action.listUsers()))
self.assertEqual("Seecr", action.getUser("johan").organization)
self.assertTrue("Location: /go_here_now?identifier=johan" in response, response)
response = asString(dna.call.handleRequest(
Method="POST",
path="/user.action/update",
Body=urlencode(dict(
redirectUri="/go_here_now",
username="johan",
organization=""))))
self.assertEqual("", action.getUser("johan").organization)
示例5: testShowUserList
def testShowUserList(self):
pf = PasswordFile(join(self.tempdir, 'passwd'))
self.form.addObserver(pf)
pf.addUser('one', 'password')
pf.addUser('two', 'password')
pf.addUser('three', 'password')
def enrichUser(user):
user.title = lambda: user.name.title()
o = CallTrace(onlySpecifiedMethods=True, methods=dict(enrichUser=enrichUser))
self.form.addObserver(o)
session = {'user': self.form.loginAsUser('two')}
session['user'].canEdit = lambda username=None: username not in ['two', 'admin']
result = asString(self.form.userList(session=session, path='/show/login'))
self.assertEqualsWS("""<div id="login-user-list">
<script type="text/javascript">
function deleteUser(username) {
if (confirm("Are you sure?")) {
document.removeUser.username.value = username;
document.removeUser.submit();
}
}
</script>
<form name="removeUser" method="POST" action="/action/remove">
<input type="hidden" name="formUrl" value="/show/login"/>
<input type="hidden" name="username"/>
</form>
<ul>
<li>Admin</li>
<li>One <a href="javascript:deleteUser('one');">delete</a></li>
<li>Three <a href="javascript:deleteUser('three');">delete</a></li>
<li>Two</li>
</ul>
</div>""", result)
result = asString(self.form.userList(session=session, path='/show/login', userLink='/user'))
self.assertEqualsWS("""<div id="login-user-list">
<script type="text/javascript">
function deleteUser(username) {
if (confirm("Are you sure?")) {
document.removeUser.username.value = username;
document.removeUser.submit();
}
}
</script>
<form name="removeUser" method="POST" action="/action/remove">
<input type="hidden" name="formUrl" value="/show/login"/>
<input type="hidden" name="username"/>
</form>
<ul>
<li><a href="/user?user=admin">Admin</a></li>
<li><a href="/user?user=one">One</a> <a href="javascript:deleteUser('one');">delete</a></li>
<li><a href="/user?user=three">Three</a> <a href="javascript:deleteUser('three');">delete</a></li>
<li><a href="/user?user=two">Two</a></li>
</ul>
</div>""", result)
示例6: testTransparentForAll
def testTransparentForAll(self):
def someMessage(*args, **kwargs):
yield 'text'
self.observer.methods['someMessage'] = someMessage
result = asString(self.dna.all.someMessage('arg', kwarg='kwarg'))
self.assertEquals('text', result)
result = asString(self.dna.all.someMessage('arg', kwarg='kwarg'))
self.assertEquals('text', result)
self.assertEquals(['someMessage', 'someMessage'], self.observer.calledMethodNames())
示例7: testDebugFlagIsRememberedWithCookie
def testDebugFlagIsRememberedWithCookie(self):
consume(self.flagCheck.updateConfig(this_service={'readable': True, 'state':{'readable':False}}))
header, body = asString(self.server.all.handleRequest(ignored='ignored', arguments=dict(debug=['True']), Headers={}, Client=('host', 1234))).split('\r\n\r\n')
self.assertEquals('RESULT', body)
headers = parseHeaders(header)
self.assertTrue('Set-Cookie' in headers,headers)
self.assertTrue('Expires=' in headers['Set-Cookie'])
header, body = asString(self.server.all.handleRequest(ignored='ignored', arguments={}, Headers={'Cookie': ';'.join([headers['Set-Cookie'], 'other=cookie'])}, Client=('host', 1234))).split('\r\n\r\n')
self.assertEquals('RESULT', body)
self.assertEquals(['handleRequest', 'handleRequest'], self.observer.calledMethodNames())
示例8: testBroadcastAddUserToAllObservers
def testBroadcastAddUserToAllObservers(self):
values = []
dna = be(
(Observable(),
(BasicHtmlLoginForm(action="/action", loginPath="/"),
(CallTrace(methods={'addUser': lambda *args, **kwargs: values.append(("1st", args, kwargs))}),),
(CallTrace(methods={'addUser': lambda *args, **kwargs: values.append(("2nd", args, kwargs))}),),
(CallTrace(methods={'addUser': lambda *args, **kwargs: values.append(("3rd", args, kwargs))}),),
)
)
)
asString(dna.all.handleNewUser(session={'user': BasicHtmlLoginForm.User('admin')}, Body=urlencode(dict(password="password", retypedPassword="password", username='nieuw'))))
self.assertEquals(3, len(values))
示例9: testListMetadataFormats
def testListMetadataFormats(self):
self.init()
response = self.listMetadataFormats.listMetadataFormats(arguments=dict(
verb=['ListMetadataFormats'],
),
**self.httpkwargs)
_, body = asString(response).split("\r\n\r\n")
self.assertEquals(['oai_dc', 'rdf'], xpath(XML(body), '/oai:OAI-PMH/oai:ListMetadataFormats/oai:metadataFormat/oai:metadataPrefix/text()'))
response = self.listMetadataFormats.listMetadataFormats(arguments=dict(
verb=['ListMetadataFormats'],
identifier=['id0'],
),
**self.httpkwargs)
_, body = asString(response).split("\r\n\r\n")
self.assertEquals(['oai_dc'], xpath(XML(body), '/oai:OAI-PMH/oai:ListMetadataFormats/oai:metadataFormat/oai:metadataPrefix/text()'))
示例10: testFileNotFound2
def testFileNotFound2(self):
with open(join(self.tempdir, 'a.sf'), 'w') as f:
f.write('def main(pipe, **kwargs):\n yield pipe')
d = DynamicHtml([self.tempdir], reactor=CallTrace('Reactor'))
result = asString(d.handleRequest(scheme='http', netloc='host.nl', path='/a/path', query='?query=something', fragments='#fragments', arguments={'query': 'something'}))
self.assertTrue(result.startswith('HTTP/1.0 404 Not Found'), result)
self.assertTrue('File "path" does not exist.' in result, result)
示例11: testCreateSession
def testCreateSession(self):
called = []
class MyObserver(Observable):
def handleRequest(self, *args, **kwargs):
session = self.ctx.session
called.append({'args':args, 'kwargs':kwargs, 'session': session})
yield utils.okHtml
yield '<ht'
yield 'ml/>'
self.handler.addObserver(MyObserver())
result = asString(self.handler.handleRequest(RequestURI='/path', Client=('127.0.0.1', 12345), Headers={'a':'b'}))
self.assertEquals(1, len(called))
self.assertEqual({}, called[0]['session'])
session = called[0]['kwargs']['session']
self.assertEqual({}, session)
self.assertEquals({'a':'b'}, called[0]['kwargs']['Headers'])
self.assertTrue(('127.0.0.1', 12345), called[0]['kwargs']['Client'])
header, body = result.split(utils.CRLF*2,1)
self.assertEquals('<html/>', body)
self.assertTrue('Set-Cookie' in header, header)
headerParts = header.split(utils.CRLF)
self.assertEquals("HTTP/1.0 200 OK", headerParts[0])
sessionCookie = [p for p in headerParts[1:] if 'Set-Cookie' in p][0]
self.assertTrue(sessionCookie.startswith('Set-Cookie: session'))
示例12: testInsertHeaderNone
def testInsertHeaderNone(self):
def handleRequest(*args, **kwargs):
yield "HTTP/1.0 200 OK\r\n"
yield "Header: value\r\n\r\n"
yield '<ht'
yield 'ml/>'
self.assertEqual('HTTP/1.0 200 OK\r\nHeader: value\r\n\r\n<html/>', asString(utils.insertHeader(handleRequest(), None)))
示例13: testCreateUser
def testCreateUser(self):
observer = CallTrace()
action = UserActions(dataDir=self.tempdir)
session = {}
dna = be(
(Observable(),
(action,
(observer, )
),
))
self.assertEqual(1, len(action.listUsers()))
response = asString(dna.call.handleRequest(
Method="POST",
path="/user.action/create",
session=session,
Body=urlencode(dict(
redirectUri="/go_here_now",
username="johan",
domain="domein",
password1="password",
password2="password"))))
self.assertEqual(2, len(action.listUsers()))
self.assertTrue("Location: /go_here_now?identifier=johan" in response, response)
self.assertEqual(1, len(observer.calledMethods))
self.assertEqual({}, session)
示例14: testGroupsUserFormAdminSelf
def testGroupsUserFormAdminSelf(self):
kwargs = {
'path': '/path/to/form',
'arguments': {'key': ['value']},
}
self.assertEqualsWS("""<div id="usergroups-groups-user-form">
<form name="groups" method="POST" action="/action/updateGroupsForUser">
<input type="hidden" name="username" value="bob"/>
<input type="hidden" name="formUrl" value="/path/to/form?key=value"/>
<ul>
<li><label><input type="checkbox" name="groupname" value="admin" checked="checked" disabled="disabled"/>admin</label></li>
<li><label><input type="checkbox" name="groupname" value="management" />management</label></li>
<li><label><input type="checkbox" name="groupname" value="special" />special</label></li>
<li><label><input type="checkbox" name="groupname" value="users" checked="checked" />users</label></li>
</ul>
<input type="submit" value="Aanpassen"/>
</form>
</div>""", asString(self.userGroups.groupsUserForm(user=self.adminUser, **kwargs)))
self.assertEquals([
dict(checked=True, description='', disabled=True, groupname='admin'),
dict(checked=False, description='', disabled=False, groupname='management'),
dict(checked=False, description='', disabled=False, groupname='special'),
dict(checked=True, description='', disabled=False, groupname='users'),
], self.userGroups._groupsForForm(user=self.adminUser, forUsername=self.adminUser.name))
self.assertTrue(self.userGroups.canEditGroups(user=self.adminUser, forUsername=self.adminUser.name))
示例15: testShowChangePasswordFormErrorWithoutUser
def testShowChangePasswordFormErrorWithoutUser(self):
session = {}
result = asString(self.form.changePasswordForm(session=session, path='/show/changepasswordform', arguments={}))
self.assertEqualsWS("""<div id="login-change-password-form">
<p class="error">Please login to change password.</p>
</div>""", result)