Esempio n. 1
0
  def testNotAcceptingBuilds(self):
    self.mock(requests, 'get', self.requests_handler)
    self.res = self.Response(
        status_code=200,
        json=lambda: {'accepting_builds': False})

    accepting_builds, _ = master.get_buildstate(self.chromium_fyi)
    self.assertFalse(accepting_builds)
Esempio n. 2
0
  def testNotAcceptingBuilds(self):
    self.mock(requests, 'get', self.requests_handler)
    self.res = self.Response(
        status_code=200,
        json=lambda: {'accepting_builds': False})

    accepting_builds, _ = master.get_buildstate(self.chromium_fyi)
    self.assertFalse(accepting_builds)
Esempio n. 3
0
 def testBadStatusCode(self):
   # We shouldn't get to the JSON function since we hit 404.
   # pylint: disable=redundant-unittest-assert
   self.res = self.Response(
       status_code=404,
       json=lambda: self.assertTrue(False))  # pragma: no cover
   self.mock(requests, 'get', self.requests_handler)
   accepting_builds, _ = master.get_buildstate(self.chromium_fyi)
   self.assertFalse(accepting_builds)
Esempio n. 4
0
 def testBadStatusCode(self):
   # We shouldn't get to the JSON function since we hit 404.
   # pylint: disable=redundant-unittest-assert
   self.res = self.Response(
       status_code=404,
       json=lambda: self.assertTrue(False))  # pragma: no cover
   self.mock(requests, 'get', self.requests_handler)
   accepting_builds, _ = master.get_buildstate(self.chromium_fyi)
   self.assertFalse(accepting_builds)
Esempio n. 5
0
  def testBadJson(self):
    def raiser():
      raise simplejson.scanner.JSONDecodeError('bad json', '', 0)
    self.res = self.Response(
        status_code=200,
        json=raiser)
    self.mock(requests, 'get', self.requests_handler)

    accepting_builds, _ = master.get_buildstate(self.chromium_fyi)
    self.assertFalse(accepting_builds)
Esempio n. 6
0
  def testBadJson(self):
    def raiser():
      raise simplejson.scanner.JSONDecodeError('bad json', '', 0)
    self.res = self.Response(
        status_code=200,
        json=raiser)
    self.mock(requests, 'get', self.requests_handler)

    accepting_builds, _ = master.get_buildstate(self.chromium_fyi)
    self.assertFalse(accepting_builds)
Esempio n. 7
0
def collect_evidence(master_directory, connection_timeout=30):
  """Collects evidence from the OS for late state determination."""
  evidence = {}
  evidence['now'] = timestamp.utcnow_ts()
  evidence['last_boot'] = master.get_last_boot(master_directory)
  evidence['last_no_new_builds'] = master.get_last_no_new_builds(
      master_directory)
  evidence['buildbot_is_running'] = master.buildbot_is_running(master_directory)

  if evidence['buildbot_is_running']:
    accepting_builds, current_running_builds = master.get_buildstate(
        master_directory, timeout=connection_timeout)
    evidence['accepting_builds'] = accepting_builds
    evidence['current_running_builds'] = current_running_builds

  return evidence
Esempio n. 8
0
 def testGetBuildstate(self):
   self.mock(requests, 'get', self.requests_handler)
   currentBuilds = [
       15,
       16,
       17,
   ]
   self.res = self.Response(
       status_code=200,
       json=lambda: {
           'accepting_builds': True,
           'builders': [
               {'currentBuilds': currentBuilds},
               {},
           ]
           })
   accepting_builds, running_builds = master.get_buildstate(self.chromium_fyi)
   self.assertTrue(accepting_builds)
   self.assertEqual(running_builds, len(currentBuilds))
Esempio n. 9
0
def collect_evidence(master_directory, connection_timeout=30,
                     builder_filters=None):
  """Collects evidence from the OS for late state determination."""
  evidence = {}
  evidence['now'] = timestamp.utcnow_ts()
  evidence['last_boot'] = master.get_last_boot(master_directory)
  evidence['last_no_new_builds'] = master.get_last_no_new_builds(
      master_directory)
  evidence['buildbot_is_running'] = master.buildbot_is_running(master_directory)

  if evidence['buildbot_is_running']:
    accepting_builds, current_running_builds = master.get_buildstate(
        master_directory, timeout=connection_timeout)
    evidence['accepting_builds'] = accepting_builds

    if builder_filters:
      current_running_builds = set(b for b in current_running_builds
                                   if any(f.match(b[0])
                                      for f in builder_filters))
    evidence['current_running_builds'] = current_running_builds
  return evidence
Esempio n. 10
0
 def testConnectionErr(self):
   def timeout(*_args, **_kwargs):
     raise requests.exceptions.ConnectionError('error')
   self.mock(requests, 'get', timeout)
   accepting_builds, _ = master.get_buildstate(self.chromium_fyi)
   self.assertIsNone(accepting_builds)
Esempio n. 11
0
 def testAcceptingBuildsNoMaster(self):
   accepting_builds, _ = master.get_buildstate(self.chromium_webkit)
   self.assertIsNone(accepting_builds)
Esempio n. 12
0
 def testConnectionErr(self):
   def timeout(*_args, **_kwargs):
     raise requests.exceptions.ConnectionError('error')
   self.mock(requests, 'get', timeout)
   accepting_builds, _ = master.get_buildstate(self.chromium_fyi)
   self.assertIsNone(accepting_builds)
Esempio n. 13
0
 def testAcceptingBuildsNoMaster(self):
   accepting_builds, _ = master.get_buildstate(self.chromium_webkit)
   self.assertIsNone(accepting_builds)