class TestStatus: @classmethod def setup_class(self): self.status = Status() self.status.account_id = "dummy-twitter" self.status.username = "******" self.status.id_ = "123" self.status.original_status_id = "123" self.status.created_at = "" self.status.avatar = "my_avatar.png" self.status.text = "Tweet text" self.status.in_reply_to_id = "123" self.status.in_reply_to_user = "******" self.status.is_favorite = False self.status.is_protected = False self.status.is_verified = True self.status.repeated_by = "baz" self.status.datetime = "01-01-1900 00:00" self.status.timestamp = 123456789 self.status.entities = {} self.status.type_ = Status.NORMAL self.status.is_own = True self.status.repeated = False self.status.repeated_count = None self.status.local_timestamp = 123456789 self.status.source = None def test_structure(self): assert self.status.account_id == "dummy-twitter" assert self.status.username == "dummy" assert self.status.id_ == "123" assert self.status.original_status_id == "123" assert self.status.created_at == "" assert self.status.avatar == "my_avatar.png" assert self.status.text == "Tweet text" assert self.status.in_reply_to_id == "123" assert self.status.in_reply_to_user == "bar" assert self.status.is_favorite == False assert self.status.is_protected == False assert self.status.is_verified == True assert self.status.repeated_by == "baz" assert self.status.datetime == "01-01-1900 00:00" assert self.status.timestamp == 123456789 assert self.status.entities == {} assert self.status.type_ == Status.NORMAL assert self.status.is_own == True assert self.status.repeated == False assert self.status.repeated_count == None assert self.status.local_timestamp == 123456789 assert self.status.source == None def test_is_direct(self): assert self.status.is_direct() == False self.status.type_ = Status.DIRECT assert self.status.is_direct() == True def test_get_mentions(self): entities = { 'mentions': [ Entity(self.status.account_id, "@dummy", "@dummy", "@dummy"), Entity(self.status.account_id, "@foo", "@foo", "@foo"), Entity(self.status.account_id, "@bar", "@bar", "@bar"), Entity(self.status.account_id, "@baz", "@baz", "@baz"), ], } self.status.entities = entities mentions = self.status.get_mentions() assert isinstance(mentions, list) assert len(mentions) == 4 assert mentions[0] == "dummy" assert mentions[1] == "foo" assert mentions[2] == "bar" assert mentions[3] == "baz" self.status.entities = {} mentions = self.status.get_mentions() assert isinstance(mentions, list) assert len(mentions) == 1 assert mentions[0] == "dummy" def test_get_protocol_id(self): response = self.status.get_protocol_id() assert response == "twitter" def test_get_source(self): self.status.get_source(None) assert self.status.source == None self.status.get_source('web') assert isinstance(self.status.source, Client) assert self.status.source.name == "web" assert self.status.source.url == "http://twitter.com" self.status.get_source('<a href="http://fooclient.com">Foo client</a>') assert isinstance(self.status.source, Client) assert self.status.source.name == "Foo client" assert self.status.source.url == "http://fooclient.com" self.status.get_source('Bar client') assert isinstance(self.status.source, Client) assert self.status.source.name == "Bar client" assert self.status.source.url is None def test_equality(self): status = Status() status.id_ = "456" assert status != self.status status.id_ = "123" assert status == self.status
class TestStatus: @classmethod def setup_class(self): self.status = Status() self.status.account_id = "dummy-twitter" self.status.username = "******" self.status.id_ = "123" self.status.original_status_id = "123" self.status.created_at = "" self.status.avatar = "my_avatar.png" self.status.text = "Tweet text" self.status.in_reply_to_id = "123" self.status.in_reply_to_user = "******" self.status.is_favorite = False self.status.is_protected = False self.status.is_verified = True self.status.repeated_by = "baz" self.status.datetime = "01-01-1900 00:00" self.status.timestamp = 123456789 self.status.entities = {} self.status.type_ = Status.NORMAL self.status.is_own = True self.status.repeated = False self.status.repeated_count = None self.status.local_timestamp = 123456789 self.status.source = None def test_structure(self): assert self.status.account_id == "dummy-twitter" assert self.status.username == "dummy" assert self.status.id_ == "123" assert self.status.original_status_id == "123" assert self.status.created_at == "" assert self.status.avatar == "my_avatar.png" assert self.status.text == "Tweet text" assert self.status.in_reply_to_id == "123" assert self.status.in_reply_to_user == "bar" assert self.status.is_favorite == False assert self.status.is_protected == False assert self.status.is_verified == True assert self.status.repeated_by == "baz" assert self.status.datetime == "01-01-1900 00:00" assert self.status.timestamp == 123456789 assert self.status.entities == {} assert self.status.type_ == Status.NORMAL assert self.status.is_own == True assert self.status.repeated == False assert self.status.repeated_count == None assert self.status.local_timestamp == 123456789 assert self.status.source == None def test_is_direct(self): assert self.status.is_direct() == False self.status.type_ = Status.DIRECT assert self.status.is_direct() == True def test_get_mentions(self): entities = { 'mentions': [ Entity(self.status.account_id, "@dummy", "@dummy", "@dummy"), Entity(self.status.account_id, "@foo", "@foo", "@foo"), Entity(self.status.account_id, "@bar", "@bar", "@bar"), Entity(self.status.account_id, "@baz", "@baz", "@baz"), ], } self.status.entities = entities mentions = self.status.get_mentions() assert isinstance(mentions, list) assert len(mentions) == 4 assert mentions[0] == "dummy" assert mentions[1] == "foo" assert mentions[2] == "bar" assert mentions[3] == "baz" self.status.entities = {} mentions = self.status.get_mentions() assert isinstance(mentions, list) assert len(mentions) == 1 assert mentions[0] == "dummy" def test_get_protocol_id(self): response = self.status.get_protocol_id() assert response == "twitter" def test_get_source(self): self.status.get_source(None) assert self.status.source == None self.status.get_source('web') assert isinstance(self.status.source, Client) assert self.status.source.name == "web" assert self.status.source.url == "http://twitter.com" self.status.get_source('<a href="http://fooclient.com">Foo client</a>') assert isinstance(self.status.source, Client) assert self.status.source.name == "Foo client" assert self.status.source.url == "http://fooclient.com" self.status.get_source('Bar client') assert isinstance(self.status.source, Client) assert self.status.source.name == "Bar client" assert self.status.source.url is None def test_equality(self): status = Status() status.id_ = "456" assert status != self.status status.id_ = "123" assert status == self.status