def cli(ctx):
        """Main entry point for AwesomeCli.

        :type ctx: :class:`click.core.Context`
        :param ctx: Stores an instance of Awesome used to update the README.
        """
        # Create a GitHub object and remember it as as the context object.
        # From this point onwards other commands can refer to it by using the
        # @pass_github decorator.
        ctx.obj = Awesome()
Exemplo n.º 2
0
class AwesomeTest(unittest.TestCase):

    def setUp(self):
        self.repos = self.create_repos()
        self.github = MockGitHub(self.repos)
        self.awesome = Awesome(self.github)

    def create_repos(self):
        return [
            MockRepo('foo', 10),
            MockRepo('bar', 150),
            MockRepo('baz', 270),
            MockRepo('qux', 550),
            MockRepo('foobar', 1200),
            MockRepo('bazqux', 9000),
            MockRepo('awesome-aws', 9000),
        ]

    @mock.patch('awesome.awesome.click')
    def test_rock_it(self, mock_click):
        README = os.path.join(os.path.dirname(__file__),
                              'data/README.md')
        README_RESULT = os.path.join(os.path.dirname(__file__),
                                     'data/README_RESULT.md')
        self.awesome.rock_it(README, README_RESULT)
        result = []
        with open(README_RESULT, 'r') as f:
            for line in f:
                result.append(line)
        assert result == readme_expected
        assert mock.call.secho('Broken repos:', fg='red') \
            in mock_click.mock_calls
        assert mock.call.secho('  https://github.com/user/broken', fg='red') \
            in mock_click.mock_calls
        assert mock.call.secho('Rate limit: 9000', fg='blue') \
            in mock_click.mock_calls
        assert mock.call.secho('Updated ' + README_RESULT, fg='blue') \
            in mock_click.mock_calls
Exemplo n.º 3
0
 def setUp(self):
     self.repos = self.create_repos()
     self.github = MockGitHub(self.repos)
     self.awesome = Awesome(self.github)