本文整理汇总了Python中MoinMoin._tests.update_item函数的典型用法代码示例。如果您正苦于以下问题:Python update_item函数的具体用法?Python update_item怎么用?Python update_item使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了update_item函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: setup_method
def setup_method(self, method):
become_trusted(username=u'WikiAdmin')
for item_name, item_acl, item_content in self.items:
if item_acl is not None:
update_item(item_name, {ACL: item_acl}, item_content)
else:
update_item(item_name, {}, item_content)
示例2: custom_setup
def custom_setup(self):
become_trusted(username=u"WikiAdmin")
for item_name, item_acl, item_content in self.items:
if item_acl is not None:
update_item(item_name, {ACL: item_acl}, item_content)
else:
update_item(item_name, {}, item_content)
示例3: test_dict
def test_dict(self):
become_trusted()
somedict = {u"One": u"1",
u"Two": u"2"}
update_item(u'TestDict', {SOMEDICT: somedict}, "This is a dict item.")
return u"TestDict"
示例4: test_rename_acts_only_in_active_name_in_case_there_are_several_names
def test_rename_acts_only_in_active_name_in_case_there_are_several_names(self):
content = u"This is page content"
update_item(u'Page',
{NAME: [u'First',
u'Second',
u'Third',
],
CONTENTTYPE: u'text/x.moin.wiki;charset=utf-8'}, content)
item = Item.create(u'Second')
item.rename(u'New name', comment=u'renamed')
item1 = Item.create(u'First')
assert item1.name == u'First'
assert item1.meta[CONTENTTYPE] == 'text/x.moin.wiki;charset=utf-8'
assert item1.content.data == content
item2 = Item.create(u'New name')
assert item2.name == u'New name'
assert item2.meta[CONTENTTYPE] == 'text/x.moin.wiki;charset=utf-8'
assert item2.content.data == content
item3 = Item.create(u'Third')
assert item3.name == u'Third'
assert item3.meta[CONTENTTYPE] == 'text/x.moin.wiki;charset=utf-8'
assert item3.content.data == content
assert item1.rev.revid == item2.rev.revid == item3.rev.revid
item4 = Item.create(u'Second')
assert item4.meta[CONTENTTYPE] == CONTENTTYPE_NONEXISTENT
示例5: setup_method
def setup_method(self, method):
# temporary hack till we apply test cleanup mechanism on tests.
self.app, self.ctx = init_test_app(wikiconfig.Config)
become_trusted()
somedict = {u"One": u"1",
u"Two": u"2"}
update_item(u'TestDict', {SOMEDICT: somedict}, DATA)
示例6: test_Include_Read_Permission_Denied
def test_Include_Read_Permission_Denied(self):
# attempt to include an item that user cannot read
update_item(u'page1', {CONTENTTYPE: u'text/x.moin.wiki;charset=utf-8', ACL: u'All:write,create,admin,destroy'}, u'no one can read')
update_item(u'page2', {CONTENTTYPE: u'text/x.moin.wiki;charset=utf-8'}, u'some text{{page1}}more text')
page2 = Item.create(u'page2')
rendered = page2.content._render_data()
# an error message will follow p tag, similar to: Access Denied, transcluded content suppressed.
assert '<div class="warning"><p>' in rendered
示例7: test_rename_group_item
def test_rename_group_item(self):
"""
Tests renaming of a group item.
"""
become_trusted()
item = update_item(u'SomeGroup', {USERGROUP: ["ExampleUser"]}, DATA)
assert u'ExampleUser' in flaskg.groups[u'SomeGroup']
pytest.raises(GroupDoesNotExistError, lambda: flaskg.groups[u'AnotherGroup'])
item = update_item(u'SomeGroup', {NAME: [u'AnotherGroup', ], USERGROUP: ["ExampleUser"]}, DATA)
assert u'ExampleUser' in flaskg.groups[u'AnotherGroup']
pytest.raises(GroupDoesNotExistError, lambda: flaskg.groups[u'SomeGroup'])
示例8: setup_method
def setup_method(self, method):
become_trusted()
somedict = {u"First": u"first item",
u"text with spaces": u"second item",
u'Empty string': u'',
u"Last": u"last item"}
update_item(u'SomeTestDict', {SOMEDICT: somedict}, DATA)
somedict = {u"One": u"1",
u"Two": u"2"}
update_item(u'SomeOtherTestDict', {SOMEDICT: somedict}, DATA)
示例9: test_appending_group_item
def test_appending_group_item(self):
"""
Test scalability by appending a name to a large list of group members.
"""
become_trusted()
# long list of users
members = create_random_string_list(length=15, count=1234)
test_user = create_random_string_list(length=15, count=1)[0]
update_item(u'UserGroup', {USERGROUP: members}, DATA)
update_item(u'UserGroup', {USERGROUP: members + [test_user]}, '')
result = test_user in flaskg.groups['UserGroup']
assert result
示例10: test_IncludeHandlesCircularRecursion
def test_IncludeHandlesCircularRecursion(self):
# detect circular recursion and create error message
update_item(u'page1', {CONTENTTYPE: u'text/x.moin.wiki;charset=utf-8'}, u'{{page2}}')
update_item(u'page2', {CONTENTTYPE: u'text/x.moin.wiki;charset=utf-8'}, u'{{page3}}')
update_item(u'page3', {CONTENTTYPE: u'text/x.moin.wiki;charset=utf-8'}, u'{{page4}}')
update_item(u'page4', {CONTENTTYPE: u'text/x.moin.wiki;charset=utf-8'}, u'{{page2}}')
page1 = Item.create(u'page1')
rendered = page1.content._render_data()
# an error message will follow strong tag
assert '<strong class="moin-error">' in rendered
示例11: test_global_atom_with_an_item
def test_global_atom_with_an_item(self, app):
basename = u'Foo'
update_item(basename, {COMMENT: u"foo data for feed item"}, '')
with app.test_client() as c:
rv = c.get(url_for('feed.atom'))
assert rv.status == '200 OK'
assert rv.headers['Content-Type'] == 'application/atom+xml'
assert rv.data.startswith('<?xml')
assert "foo data for feed item" in rv.data
# tests the cache invalidation
update_item(basename, {COMMENT: u"checking if the cache invalidation works"}, '')
with app.test_client() as c:
rv = c.get(url_for('feed.atom'))
assert rv.status == '200 OK'
assert rv.headers['Content-Type'] == 'application/atom+xml'
assert rv.data.startswith('<?xml')
assert "checking if the cache invalidation works" in rv.data
示例12: test_IncludeHandlesCircularRecursion
def test_IncludeHandlesCircularRecursion(self):
# issue #80
# we use MoinWiki items to make tests simple
update_item(u'page1', {CONTENTTYPE: u'text/x.moin.wiki'}, u'{{page2}}')
update_item(u'page2', {CONTENTTYPE: u'text/x.moin.wiki'}, u'{{page3}}')
update_item(u'page3', {CONTENTTYPE: u'text/x.moin.wiki'}, u'{{page4}}')
update_item(u'page4', {CONTENTTYPE: u'text/x.moin.wiki'}, u'{{page2}}')
page1 = MoinWiki.create(u'page1')
rendered = page1._render_data()
# an error message will follow strong tag
assert '<strong class="moin-error">' in rendered
示例13: test_item_can_have_several_names
def test_item_can_have_several_names(self):
content = u"This is page content"
update_item(u'Page',
{NAME: [u'Page',
u'Another name',
],
CONTENTTYPE: u'text/x.moin.wiki;charset=utf-8'}, content)
item1 = Item.create(u'Page')
assert item1.name == u'Page'
assert item1.meta[CONTENTTYPE] == 'text/x.moin.wiki;charset=utf-8'
assert item1.content.data == content
item2 = Item.create(u'Another name')
assert item2.name == u'Another name'
assert item2.meta[CONTENTTYPE] == 'text/x.moin.wiki;charset=utf-8'
assert item2.content.data == content
assert item1.rev.revid == item2.rev.revid
示例14: test_wiki_backend_item_acl_usergroupmember_item
def test_wiki_backend_item_acl_usergroupmember_item(self):
"""
Test if the wiki group backend works with acl code.
First check acl rights of a user that is not a member of group
then add user member to an item group and check acl rights
"""
become_trusted()
update_item(u'NewGroup', {USERGROUP: ["ExampleUser"]}, DATA)
acl_rights = ["NewGroup:read,write"]
acl = AccessControlList(acl_rights, valid=app.cfg.acl_rights_contents)
has_rights_before = acl.may(u"AnotherUser", "read")
# update item - add AnotherUser to a item group NewGroup
update_item(u'NewGroup', {USERGROUP: ["AnotherUser"]}, '')
has_rights_after = acl.may(u"AnotherUser", "read")
assert not has_rights_before, 'AnotherUser has no read rights because in the beginning he is not a member of a group item NewGroup'
assert has_rights_after, 'AnotherUser must have read rights because after appenditem he is member of NewGroup'
示例15: test__render_data_diff
def test__render_data_diff(self):
item_name = u'Html_Item'
empty_html = u'<span></span>'
html = u'<span>\ud55c</span>'
meta = {CONTENTTYPE: u'text/html;charset=utf-8'}
item = Item.create(item_name)
item._save(meta, empty_html)
item = Item.create(item_name)
# Unicode test, html escaping
rev1 = update_item(item_name, meta, html)
rev2 = update_item(item_name, {}, u' ')
result = Text._render_data_diff(item.content, rev1, rev2)
assert escape(html) in result
# Unicode test, whitespace
rev1 = update_item(item_name, {}, u'\n\n')
rev2 = update_item(item_name, {}, u'\n \n')
result = Text._render_data_diff(item.content, rev1, rev2)
assert '<span> </span>' in result
# If fairly similar diffs are correctly spanned or not, also check indent
rev1 = update_item(item_name, {}, u'One Two Three Four\nSix\n\ud55c')
rev2 = update_item(item_name, {}, u'Two Three Seven Four\nSix\n\ud55c')
result = Text._render_data_diff(item.content, rev1, rev2)
assert '<span>One </span>Two Three Four' in result
assert 'Two Three <span>Seven </span>Four' in result
# Check for diff_html.diff return types
assert reduce(lambda x, y: x and y, [isinstance(i[1], unicode) and isinstance(i[3], unicode) for i in diff_html.diff(u'One Two Three Four\nSix\n', u'Two Three Seven Four\nSix Seven\n')], True)