def test_git_revision_from_cache(self):
        """git_revision fetches from its cache when possible."""
        version = reimport_module('inspirehep.version')

        version.git_revision._cache = '19930202060000'

        self.assertEqual('19930202060000', version.git_revision())
    def test_git_revision_invalid_date(self, popen):
        """git_revision outputs 0 on an invalid date."""
        version = reimport_module('inspirehep.version')

        class MockCall(object):
            def communicate(self):
                return ['banana', 'banana']

        popen.return_value = MockCall()

        self.assertEqual('0', version.git_revision())
    def test_git_revision_valid_date(self, popen):
        """git_revision extracts a valid date."""
        version = reimport_module('inspirehep.version')

        class MockCall(object):
            def communicate(self):
                return ['728632800', 'banana']

        popen.return_value = MockCall()

        self.assertEqual('19930202060000', version.git_revision())