db: use a wrapper on pull requests _last_merge_status to ensure this is always INT.
- after upgrade of sqlalchemy this is casted to Long - for backward compat we cast it as Int
This commit is contained in:
parent
708f22ac87
commit
ae8340ad2a
3 changed files with 20 additions and 12 deletions
|
|
@ -3339,6 +3339,14 @@ class _PullRequestBase(BaseModel):
|
|||
def revisions(self, val):
|
||||
self._revisions = ':'.join(val)
|
||||
|
||||
@hybrid_property
|
||||
def last_merge_status(self):
|
||||
return safe_int(self._last_merge_status)
|
||||
|
||||
@last_merge_status.setter
|
||||
def last_merge_status(self, val):
|
||||
self._last_merge_status = val
|
||||
|
||||
@declared_attr
|
||||
def author(cls):
|
||||
return relationship('User', lazy='joined')
|
||||
|
|
|
|||
|
|
@ -780,7 +780,7 @@ class PullRequestModel(BaseModel):
|
|||
|
||||
version._last_merge_source_rev = pull_request._last_merge_source_rev
|
||||
version._last_merge_target_rev = pull_request._last_merge_target_rev
|
||||
version._last_merge_status = pull_request._last_merge_status
|
||||
version.last_merge_status = pull_request.last_merge_status
|
||||
version.shadow_merge_ref = pull_request.shadow_merge_ref
|
||||
version.merge_rev = pull_request.merge_rev
|
||||
version.reviewer_data = pull_request.reviewer_data
|
||||
|
|
@ -1223,9 +1223,9 @@ class PullRequestModel(BaseModel):
|
|||
pull_request, target_vcs, target_ref)
|
||||
else:
|
||||
possible = pull_request.\
|
||||
_last_merge_status == MergeFailureReason.NONE
|
||||
last_merge_status == MergeFailureReason.NONE
|
||||
merge_state = MergeResponse(
|
||||
possible, False, None, pull_request._last_merge_status)
|
||||
possible, False, None, pull_request.last_merge_status)
|
||||
|
||||
return merge_state
|
||||
|
||||
|
|
@ -1258,7 +1258,7 @@ class PullRequestModel(BaseModel):
|
|||
pull_request._last_merge_source_rev = \
|
||||
pull_request.source_ref_parts.commit_id
|
||||
pull_request._last_merge_target_rev = target_reference.commit_id
|
||||
pull_request._last_merge_status = merge_state.failure_reason
|
||||
pull_request.last_merge_status = merge_state.failure_reason
|
||||
pull_request.shadow_merge_ref = merge_state.merge_ref
|
||||
Session().add(pull_request)
|
||||
Session().commit()
|
||||
|
|
|
|||
|
|
@ -155,7 +155,7 @@ class TestPullRequestModel(object):
|
|||
|
||||
assert pull_request._last_merge_source_rev is None
|
||||
assert pull_request._last_merge_target_rev is None
|
||||
assert pull_request._last_merge_status is None
|
||||
assert pull_request.last_merge_status is None
|
||||
|
||||
status, msg = PullRequestModel().merge_status(pull_request)
|
||||
assert status is True
|
||||
|
|
@ -168,7 +168,7 @@ class TestPullRequestModel(object):
|
|||
|
||||
assert pull_request._last_merge_source_rev == self.source_commit
|
||||
assert pull_request._last_merge_target_rev == self.target_commit
|
||||
assert pull_request._last_merge_status is MergeFailureReason.NONE
|
||||
assert pull_request.last_merge_status is MergeFailureReason.NONE
|
||||
|
||||
self.merge_mock.reset_mock()
|
||||
status, msg = PullRequestModel().merge_status(pull_request)
|
||||
|
|
@ -182,7 +182,7 @@ class TestPullRequestModel(object):
|
|||
|
||||
assert pull_request._last_merge_source_rev is None
|
||||
assert pull_request._last_merge_target_rev is None
|
||||
assert pull_request._last_merge_status is None
|
||||
assert pull_request.last_merge_status is None
|
||||
|
||||
status, msg = PullRequestModel().merge_status(pull_request)
|
||||
assert status is False
|
||||
|
|
@ -198,7 +198,7 @@ class TestPullRequestModel(object):
|
|||
assert pull_request._last_merge_source_rev == self.source_commit
|
||||
assert pull_request._last_merge_target_rev == self.target_commit
|
||||
assert (
|
||||
pull_request._last_merge_status is MergeFailureReason.MERGE_FAILED)
|
||||
pull_request.last_merge_status is MergeFailureReason.MERGE_FAILED)
|
||||
|
||||
self.merge_mock.reset_mock()
|
||||
status, msg = PullRequestModel().merge_status(pull_request)
|
||||
|
|
@ -214,7 +214,7 @@ class TestPullRequestModel(object):
|
|||
|
||||
assert pull_request._last_merge_source_rev is None
|
||||
assert pull_request._last_merge_target_rev is None
|
||||
assert pull_request._last_merge_status is None
|
||||
assert pull_request.last_merge_status is None
|
||||
|
||||
status, msg = PullRequestModel().merge_status(pull_request)
|
||||
assert status is False
|
||||
|
|
@ -229,7 +229,7 @@ class TestPullRequestModel(object):
|
|||
|
||||
assert pull_request._last_merge_source_rev is None
|
||||
assert pull_request._last_merge_target_rev is None
|
||||
assert pull_request._last_merge_status is None
|
||||
assert pull_request.last_merge_status is None
|
||||
|
||||
self.merge_mock.reset_mock()
|
||||
status, msg = PullRequestModel().merge_status(pull_request)
|
||||
|
|
@ -760,7 +760,7 @@ def test_create_version_from_snapshot_updates_attributes(pr_util, config_stub):
|
|||
pull_request.status = PullRequest.STATUS_CLOSED
|
||||
pull_request._last_merge_source_rev = "0" * 40
|
||||
pull_request._last_merge_target_rev = "1" * 40
|
||||
pull_request._last_merge_status = 1
|
||||
pull_request.last_merge_status = 1
|
||||
pull_request.merge_rev = "2" * 40
|
||||
|
||||
# Remember automatic values
|
||||
|
|
@ -787,7 +787,7 @@ def test_create_version_from_snapshot_updates_attributes(pr_util, config_stub):
|
|||
assert version.target_ref == pr_util.create_parameters['target_ref']
|
||||
assert version._last_merge_source_rev == pull_request._last_merge_source_rev
|
||||
assert version._last_merge_target_rev == pull_request._last_merge_target_rev
|
||||
assert version._last_merge_status == pull_request._last_merge_status
|
||||
assert version.last_merge_status == pull_request.last_merge_status
|
||||
assert version.merge_rev == pull_request.merge_rev
|
||||
assert version.pull_request == pull_request
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue