Exemplo n.º 1
0
 def test_fetch_from_cache(self):
     # When a build is in the cache, we return that build from the cache.
     cache_key = buildbot.cache_key_for_build('foo', 'bar', 1)
     self.cache.set(cache_key, {'men': 'at work'})
     build, source = buildbot.fetch_build_json(self.cache, 'foo', 'bar', 1)
     self.assertEqual(build, {'men': 'at work'})
     self.assertEqual(source, 'disk cache')
Exemplo n.º 2
0
    def test_ignore_expired_cache(self):
        # When a build is in the cache but expired, we hit the network instead.
        cache_key = buildbot.cache_key_for_build('foo', 'bar', 1)
        self.cache.set(cache_key, {'men': 'at work'})

        def _mock_key_age(cache_key):
            return datetime.datetime.now() - datetime.timedelta(seconds=121)

        _real_key_age = self.cache.key_age

        def _mock_fetch_and_cache_build(cache, url, cache_key):
            return {'I come': 'from a land down under'}

        _real_fetch_and_cache_build = buildbot.fetch_and_cache_build

        try:
            self.cache.key_age = _mock_key_age
            buildbot.fetch_and_cache_build = _mock_fetch_and_cache_build
            build, source = buildbot.fetch_build_json(self.cache, 'foo', 'bar',
                                                      1)
            self.assertEqual(build, {'I come': 'from a land down under'})
            self.assertEqual(source, 'chrome-build-extract')
        finally:
            self.cache.key_age = _real_key_age
            buildbot.fetch_and_cache_build = _real_fetch_and_cache_build
Exemplo n.º 3
0
 def test_fetch_from_cache(self):
   # When a build is in the cache, we return that build from the cache.
   cache_key = buildbot.cache_key_for_build('foo', 'bar', 1)
   self.cache.set(cache_key, {'men': 'at work'})
   build, source = buildbot.fetch_build_json(self.cache, 'foo', 'bar', 1)
   self.assertEqual(build, {'men': 'at work'})
   self.assertEqual(source, 'disk cache')
Exemplo n.º 4
0
  def test_ignore_expired_cache(self):
    # When a build is in the cache but expired, we hit the network instead.
    cache_key = buildbot.cache_key_for_build('foo', 'bar', 1)
    self.cache.set(cache_key, {'men': 'at work'})

    def _mock_key_age(cache_key):
      return datetime.datetime.now() - datetime.timedelta(seconds=121)
    _real_key_age = self.cache.key_age

    def _mock_fetch_and_cache_build(cache, url, cache_key):
      return {'I come': 'from a land down under'}
    _real_fetch_and_cache_build = buildbot.fetch_and_cache_build

    try:
      self.cache.key_age = _mock_key_age
      buildbot.fetch_and_cache_build = _mock_fetch_and_cache_build
      build, source = buildbot.fetch_build_json(self.cache, 'foo', 'bar', 1)
      self.assertEqual(build, {'I come': 'from a land down under'})
      self.assertEqual(source, 'chrome-build-extract')
    finally:
      self.cache.key_age = _real_key_age
      buildbot.fetch_and_cache_build = _real_fetch_and_cache_build
Exemplo n.º 5
0
 def cache_set(master_url, builder, build, value):
     key = buildbot.cache_key_for_build(master_url, builder, build)
     self.cache.set(key, value)
Exemplo n.º 6
0
 def test_cache_key_for_build(self):
     key = buildbot.cache_key_for_build('master', 'builder', 10)
     self.assertEquals(key, 'master/builder/10.json')
Exemplo n.º 7
0
 def cache_set(master_url, builder, build, value):
   key = buildbot.cache_key_for_build(master_url, builder, build)
   self.cache.set(key, value)
Exemplo n.º 8
0
 def test_cache_key_for_build(self):
   key = buildbot.cache_key_for_build('master', 'builder', 10)
   self.assertEquals(key, 'master/builder/10.json')