Skip to content

Commit

Permalink
Remove usage of TestResultSetModel [] accessor
Browse files Browse the repository at this point in the history
  • Loading branch information
tdesveaux committed May 22, 2024
1 parent 88cfc90 commit 1ab1165
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 22 deletions.
20 changes: 13 additions & 7 deletions master/buildbot/data/changesources.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@
#
# Copyright Buildbot Team Members

from __future__ import annotations

from typing import TYPE_CHECKING

from twisted.internet import defer

Expand All @@ -21,16 +24,19 @@
from buildbot.data import types
from buildbot.db.changesources import ChangeSourceAlreadyClaimedError

if TYPE_CHECKING:
from buildbot.db.changesources import ChangeSourceModel


class Db2DataMixin:
@defer.inlineCallbacks
def db2data(self, dbdict):
def db2data(self, dbdict: ChangeSourceModel):
master = None
if dbdict['masterid'] is not None:
master = yield self.master.data.get(('masters', dbdict['masterid']))
if dbdict.masterid is not None:
master = yield self.master.data.get(('masters', dbdict.masterid))
data = {
'changesourceid': dbdict['id'],
'name': dbdict['name'],
'changesourceid': dbdict.id,
'name': dbdict.name,
'master': master,
}
return data
Expand All @@ -46,7 +52,7 @@ class ChangeSourceEndpoint(Db2DataMixin, base.Endpoint):
def get(self, resultSpec, kwargs):
dbdict = yield self.master.db.changesources.getChangeSource(kwargs['changesourceid'])
if 'masterid' in kwargs:
if dbdict['masterid'] != kwargs['masterid']:
if dbdict.masterid != kwargs['masterid']:
return None
return (yield self.db2data(dbdict)) if dbdict else None

Expand Down Expand Up @@ -111,4 +117,4 @@ def trapAlreadyClaimedError(why):
def _masterDeactivated(self, masterid):
changesources = yield self.master.db.changesources.getChangeSources(masterid=masterid)
for cs in changesources:
yield self.master.db.changesources.setChangeSourceMaster(cs['id'], None)
yield self.master.db.changesources.setChangeSourceMaster(cs.id, None)
6 changes: 0 additions & 6 deletions master/buildbot/test/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -204,9 +204,3 @@
r"to deadlocks in the child\.",
category=DeprecationWarning,
)

warnings.filterwarnings(
"ignore",
r".*ChangeSourcesConnectorComponent getChangeSource, and getChangeSources no longer return ChangeSource as dictionnaries.*",
category=DeprecatedApiWarning,
)
6 changes: 3 additions & 3 deletions master/buildbot/test/fakedb/changesources.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,12 +84,12 @@ def filter(results):
results = [r[1] for r in results]
# filter for masterid
if masterid is not None:
results = [r for r in results if r['masterid'] == masterid]
results = [r for r in results if r.masterid == masterid]
# filter for active or inactive if necessary
if active:
results = [r for r in results if r['masterid'] is not None]
results = [r for r in results if r.masterid is not None]
elif active is not None:
results = [r for r in results if r['masterid'] is None]
results = [r for r in results if r.masterid is None]
return results

return d
Expand Down
14 changes: 8 additions & 6 deletions master/buildbot/test/unit/db/test_changesources.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
#
# Copyright Buildbot Team Members

from __future__ import annotations

from twisted.internet import defer
from twisted.trial import unittest

Expand All @@ -23,8 +25,8 @@
from buildbot.test.util import interfaces


def changeSourceKey(changeSource):
return changeSource['id']
def changeSourceKey(changeSource: changesources.ChangeSourceModel):
return changeSource.id


class Tests(interfaces.InterfaceTests):
Expand Down Expand Up @@ -53,7 +55,7 @@ def test_findChangeSourceId_new(self):
"""findChangeSourceId for a new changesource creates it"""
id = yield self.db.changesources.findChangeSourceId('csname')
cs = yield self.db.changesources.getChangeSource(id)
self.assertEqual(cs['name'], 'csname')
self.assertEqual(cs.name, 'csname')

@defer.inlineCallbacks
def test_findChangeSourceId_existing(self):
Expand All @@ -75,7 +77,7 @@ def test_setChangeSourceMaster_fresh(self):
yield self.insert_test_data([self.cs42, self.master13])
yield self.db.changesources.setChangeSourceMaster(42, 13)
cs = yield self.db.changesources.getChangeSource(42)
self.assertEqual(cs['masterid'], 13)
self.assertEqual(cs.masterid, 13)

@defer.inlineCallbacks
def test_setChangeSourceMaster_inactive_but_linked(self):
Expand Down Expand Up @@ -110,15 +112,15 @@ def test_setChangeSourceMaster_None(self):
])
yield self.db.changesources.setChangeSourceMaster(87, None)
cs = yield self.db.changesources.getChangeSource(87)
self.assertEqual(cs['masterid'], None)
self.assertEqual(cs.masterid, None)

@defer.inlineCallbacks
def test_setChangeSourceMaster_None_unowned(self):
"""A 'None' master for a disconnected changesource"""
yield self.insert_test_data([self.cs87])
yield self.db.changesources.setChangeSourceMaster(87, None)
cs = yield self.db.changesources.getChangeSource(87)
self.assertEqual(cs['masterid'], None)
self.assertEqual(cs.masterid, None)

def test_signature_getChangeSource(self):
"""getChangeSource has the right signature"""
Expand Down

0 comments on commit 1ab1165

Please sign in to comment.