def test_do_mail_if_entry_has_diff(self): # Prepare sendgrid = MagicMock() sendgrid.publish_diff = MagicMock() version = MagicMock() type(version).diff = PropertyMock(return_value=MagicMock()) entry = MagicMock() type(entry).stale = PropertyMock(return_value=True) entry.get_latest = MagicMock(return_value=version) # Test sendgrid_config = { "api_token": "12345", "sender": "*****@*****.**", "receivers": "*****@*****.**", } result = process_entry(entry, {"sendgrid": sendgrid_config}, None, sendgrid) # Assert entry.get_latest.assert_called_once() assert result["checked"] == 1 assert result["new"] == 1 sendgrid.publish_diff.assert_called_once()
def test_stale_is_skipped(self): # Prepare entry = MagicMock() type(entry).stale = PropertyMock(return_value=False) # Test result = process_entry(entry, {}, None) # Assert assert result["skipped"] == 1
def test_raise_if_entry_retrieve_fails(self): # Prepare entry = MagicMock() type(entry).stale = PropertyMock(return_value=True) entry.get_latest = MagicMock(side_effect=Exception("TEST")) # Test result = process_entry(entry, {}, None) # Assert entry.get_latest.assert_called_once() assert result["checked"] == 1 assert result["new"] == 0
def test_get_none_if_no_new_version(self): # Prepare twitter = MagicMock() twitter.tweet_diff = MagicMock() entry = MagicMock() type(entry).stale = PropertyMock(return_value=True) entry.get_latest = MagicMock(return_value=None) # Test result = process_entry(entry, {}, twitter) # Assert entry.get_latest.assert_called_once() assert result["checked"] == 1 assert result["new"] == 0 twitter.tweet_diff.assert_not_called()
def test_do_not_tweet_if_feed_has_no_token(self): # Prepare twitter = MagicMock() twitter.tweet_diff = MagicMock() version = MagicMock() type(version).diff = PropertyMock(return_value=None) entry = MagicMock() type(entry).stale = PropertyMock(return_value=True) entry.get_latest = MagicMock(return_value=version) # Test result = process_entry(entry, None, twitter) # Assert entry.get_latest.assert_called_once() assert result["checked"] == 1 assert result["new"] == 1 twitter.tweet_diff.assert_not_called()
def test_do_tweet_if_entry_has_diff(self): # Prepare twitter = MagicMock() twitter.tweet_diff = MagicMock() version = MagicMock() type(version).diff = PropertyMock(return_value=MagicMock()) entry = MagicMock() type(entry).stale = PropertyMock(return_value=True) entry.get_latest = MagicMock(return_value=version) # Test token = {"access_token": "test", "access_token_secret": "test"} result = process_entry(entry, {"twitter": token}, twitter) # Assert entry.get_latest.assert_called_once() assert result["checked"] == 1 assert result["new"] == 1 twitter.tweet_diff.assert_called_once()