def testGetSlaveStatuses(self): """Tests the redirect for GetSlaveStatuses function.""" init = self.PatchObject(BuildStore, 'InitializeClients', return_value=True) bs = BuildStore(_read_from_bb=False) fake_statuses = object() bs.cidb_conn = mock.MagicMock() self.PatchObject(bs.cidb_conn, 'GetSlaveStatuses', return_value=fake_statuses) result = bs.GetSlaveStatuses(buildstore.BuildIdentifier(cidb_id=1234)) bs.cidb_conn.GetSlaveStatuses.assert_called_once_with(1234, None) self.assertEqual(result, fake_statuses) bs = BuildStore(_read_from_bb=True) fake_statuses = object() bs.bb_client = mock.MagicMock() self.PatchObject(bs.bb_client, 'GetChildStatuses', return_value=fake_statuses) result = bs.GetSlaveStatuses( buildstore.BuildIdentifier(cidb_id=1234, buildbucket_id=1234)) self.assertEqual(result, fake_statuses) bs.bb_client.GetChildStatuses.assert_called_once_with(1234) init.return_value = False with self.assertRaises(buildstore.BuildStoreException): bs.GetSlaveStatuses(1234)
def GetCIDBHandle(self): """Get the build_identifier and cidb handle, if available. Returns: A (BuildIdentifier, CIDBConnection) tuple if cidb is set up and a build_id is known in metadata. Otherwise, (BuildIdentifier(None, None), None). """ try: build_id = self.attrs.metadata.GetValue('build_id') buildbucket_id = self.options.buildbucket_id build_identifier = buildstore.BuildIdentifier( cidb_id=build_id, buildbucket_id=buildbucket_id) except KeyError: return (buildstore.BuildIdentifier(None, None), None) except AttributeError: return (buildstore.BuildIdentifier(None, None), None) if not cidb.CIDBConnectionFactory.IsCIDBSetup(): return (buildstore.BuildIdentifier(None, None), None) cidb_handle = cidb.CIDBConnectionFactory.GetCIDBConnectionForBuilder() if cidb_handle: return (build_identifier, cidb_handle) else: return (buildstore.BuildIdentifier(None, None), None)
def testGetKilledChildBuilds(self): """Tests the redirect for GetKilledChildBuilds function.""" init = self.PatchObject(BuildStore, 'InitializeClients', return_value=True) bs = BuildStore(_read_from_bb=False) fake_result = [{ 'message_value': 1234 }, { 'message_value': 2341 }, { 'message_value': 3412 }] bs.cidb_conn = mock.MagicMock() self.PatchObject(bs.cidb_conn, 'GetBuildMessages', return_value=fake_result) build_identifier = buildstore.BuildIdentifier(cidb_id=1, buildbucket_id=1234) # Test for buildbucket_ids. result = bs.GetKilledChildBuilds(build_identifier) bs.cidb_conn.GetBuildMessages.assert_called_once_with( 1, message_type=constants.MESSAGE_TYPE_IGNORED_REASON, message_subtype=constants.MESSAGE_SUBTYPE_SELF_DESTRUCTION) self.assertEqual(result, [1234, 2341, 3412]) bs = BuildStore(_read_from_bb=True) bs.bb_client = mock.MagicMock() bs.GetKilledChildBuilds(build_identifier) bs.bb_client.GetKilledChildBuilds.assert_called_once_with(1234) init.return_value = False with self.assertRaises(buildstore.BuildStoreException): bs.GetKilledChildBuilds(build_identifier)