Source code for ploneintranet.microblog.tests.test_statuscontainer_tags
import unittest
from zope.interface import implements
from ploneintranet.microblog.interfaces import IStatusContainer
from ploneintranet.microblog import statuscontainer
from ploneintranet.microblog import statusupdate
[docs]class StatusContainer(statuscontainer.BaseStatusContainer):
"""Override actual implementation with unittest features"""
implements(IStatusContainer)
[docs]class StatusUpdate(statusupdate.StatusUpdate):
"""Override actual implementation with unittest features"""
[docs]class TestStatusContainer_Tags(unittest.TestCase):
[docs] def setUp(self):
self.container = StatusContainer()
self.sa = StatusUpdate("test", tags=["a", "d"])
self.sa.userid = "arnold"
self.container.add(self.sa)
self.sb = StatusUpdate("test", tags=["b", "e"])
self.sb.userid = "bernard"
self.container.add(self.sb)
self.sc = StatusUpdate("test", tags=["c", "f"])
self.sc.userid = "cary"
self.container.add(self.sc)
[docs] def sortAndAssertEqual(self, a, b):
"""Compare lists while ignoring sort"""
self.assertEqual(sorted(a), sorted(b))
[docs] def test_keys_str(self):
keys = [x for x in self.container.keys(tags="b")]
self.sortAndAssertEqual([self.sb.id], keys)
[docs] def test_keys_list(self):
keys = [x for x in self.container.keys(tags=["b", "x"])]
self.sortAndAssertEqual([self.sb.id], keys)
[docs] def test_values(self):
values = [x for x in self.container.values(tags=["b", "c"])]
self.sortAndAssertEqual([self.sb, self.sc], values)
[docs] def test_items(self):
values = [x[1] for x in self.container.items(tags=["b", "x"])]
self.sortAndAssertEqual([self.sb], values)
[docs] def test_user_keys_match(self):
keys = [x for x in self.container.keys(users=["arnold"], tags=["b"])]
self.sortAndAssertEqual([self.sa.id, self.sb.id], keys)
[docs] def test_user_keys_nomatch(self):
keys = [x for x in self.container.keys(users=["foo"], tags=["c"])]
self.sortAndAssertEqual([self.sc.id], keys)
[docs] def test_user_values(self):
values = [x for x in self.container.values(users=["arnold"], tags=["b"])]
self.sortAndAssertEqual([self.sa, self.sb], values)
[docs] def test_user_items(self):
values = [x[1] for x in self.container.items(users=["cary"], tags=["c"])]
self.sortAndAssertEqual([self.sc], values)
[docs] def test_keys_nosuchtag(self):
keys = [x for x in self.container.keys(tags=["foo"])]
self.sortAndAssertEqual([], keys)
[docs] def test_user_keys_nosuchtag(self):
keys = [
x for x in self.container.keys(users=["john", "mary"], tags=["foo", "bar"])
]
self.sortAndAssertEqual([], keys)