def test_valid_subreddit(self, directory, _add_media_to_dir, _get_media,
                          get_subreddit):
     show('valid')
     self.assertEqual(get_subreddit.mock_calls, 
                      call('valid').get_hot().call_list())
     _get_media.assert_called_with(
         get_subreddit.return_value.get_hot.return_value)
     _add_media_to_dir.assert_called_with(_get_media.return_value)
     directory.end.assert_called_with(cache_to_disk=True)
 def test_unrechable_reddit(self, Dialog, directory, _add_media_to_dir, 
                            _get_media, get_subreddit):
     _get_media.side_effect = IsUnreachable
     show('valid')
     self.assertTrue(Dialog.return_value.ok.called)
 def test_invalid_subreddit(self, directory, _add_media_to_dir, _get_media,
                            get_subreddit):
     get_subreddit.side_effect = InvalidSubreddit('Test')
     show('invalid')
     self.assertTrue(directory.end.called)
connect_resources()

from addon import current_url
import subreddit_details
import subreddit_list
import youtube

if current_url.match(r'^$'):
    subreddit_list.show()

elif current_url.match(r'^add_subreddit/$'):
    subreddit_list.add_subreddit()

elif current_url.match(r'^remove_subreddit/$'):
    subreddit_list.remove_subreddit()

elif current_url.match(r'^remove_subreddit/(\w+)/$'):
    subreddit_name = current_url.group(1)
    subreddit_list.remove_subreddit(subreddit_name)

elif current_url.match(r'^media/youtube/([-_\w]+)/$'):
    video_id = current_url.group(1)
    youtube.show(video_id)

elif current_url.match(r'^r/(\w+)/$'):
    subreddit_name = current_url.group(1)
    subreddit_details.show(subreddit_name)

else:
    assert False, 'Unexpected URL: ' + str(current_url)