class TestMyGist(TestCase):

    @patch('getgist.__main__.Gist.ask')
    @patch('getgist.__main__.Gist.curl')
    @patch('getgist.__main__.Gist.query_api')
    @patch('getgist.__main__.Gist.authenticated')
    def setUp(self, authenticated, query_api, curl, ask):
        authenticated.return_value = False
        query_api.return_value = config['gists']
        curl.return_value = config['content']
        ask.return_value = config['user']
        self.gist = MyGist(config['file'], True)

    def tearDown(self):
        for name in os.listdir(self.gist.local_dir):
            if search(r'^({})(\.bkp(.\d)?)?$'.format(config['file']), name):
                os.remove(os.path.join(self.gist.local_dir, name))

    @patch('getgist.__main__.Gist.ask')
    @patch('getgist.__main__.Gist.curl')
    def test_mygist_download(self, mocked_curl, mocked_ask):
        mocked_ask.return_value = config['user']
        mocked_curl.return_value = config['content']
        self.gist.save()
        self.assertTrue(os.path.exists(self.gist.local_path))
        self.assertEqual(open(self.gist.local_path).read(), config['content'])
 def setUp(self, authenticated, query_api, curl, ask):
     authenticated.return_value = False
     query_api.return_value = config['gists']
     curl.return_value = config['content']
     ask.return_value = config['user']
     self.gist = MyGist(config['file'], True)