Fix some issues from a tricky merge

This commit is contained in:
richard-dds 2018-08-08 15:46:16 -04:00
parent 47957384fc
commit d307a255b1
6 changed files with 17 additions and 17 deletions

View File

@ -31,8 +31,8 @@ class Requests(object):
AUTO_APPROVE_THRESHOLD = 1000000 AUTO_APPROVE_THRESHOLD = 1000000
@classmethod @classmethod
def create(cls, creator_id, body): def create(cls, creator, body):
request = Request(creator=creator_id, body=body) request = Request(creator=creator, body=body)
request = Requests.set_status(request, RequestStatus.STARTED) request = Requests.set_status(request, RequestStatus.STARTED)
db.session.add(request) db.session.add(request)
@ -41,11 +41,11 @@ class Requests(object):
return request return request
@classmethod @classmethod
def exists(cls, request_id, creator_id): def exists(cls, request_id, creator):
try: try:
return db.session.query( return db.session.query(
exists().where( exists().where(
and_(Request.id == request_id, Request.creator == creator_id) and_(Request.id == request_id, Request.creator == creator)
) )
).scalar() ).scalar()
except exc.DataError: except exc.DataError:

View File

@ -111,7 +111,7 @@ def requests_submit(request_id=None):
def _check_can_view_request(request_id): def _check_can_view_request(request_id):
if Permissions.REVIEW_AND_APPROVE_JEDI_WORKSPACE_REQUEST in g.current_user.atat_permissions: if Permissions.REVIEW_AND_APPROVE_JEDI_WORKSPACE_REQUEST in g.current_user.atat_permissions:
pass pass
elif Requests.exists(request_id, g.current_user.id): elif Requests.exists(request_id, g.current_user):
pass pass
else: else:
raise UnauthorizedError(g.current_user, "view request {}".format(request_id)) raise UnauthorizedError(g.current_user, "view request {}".format(request_id))

View File

@ -5,7 +5,6 @@ import alembic.command
from atst.app import make_app, make_config from atst.app import make_app, make_config
from atst.database import db as _db from atst.database import db as _db
from .mocks import MOCK_USER
import tests.factories as factories import tests.factories as factories
@ -75,7 +74,6 @@ class DummyForm(dict):
class DummyField(object): class DummyField(object):
def __init__(self, data=None, errors=(), raw_data=None): def __init__(self, data=None, errors=(), raw_data=None):
self.data = data self.data = data
self.errors = list(errors) self.errors = list(errors)
@ -93,9 +91,11 @@ def dummy_field():
@pytest.fixture @pytest.fixture
def user_session(monkeypatch): def user_session(monkeypatch, session):
def set_user_session(user=None):
def set_user_session(user=MOCK_USER): monkeypatch.setattr(
monkeypatch.setattr("atst.domain.auth.get_current_user", lambda *args: user) "atst.domain.auth.get_current_user",
lambda *args: user or factories.UserFactory.build(),
)
return set_user_session return set_user_session

View File

@ -53,6 +53,6 @@ def test_dont_auto_approve_if_no_dollar_value_specified(new_request):
def test_exists(session): def test_exists(session):
user_allowed = UserFactory.create() user_allowed = UserFactory.create()
user_denied = UserFactory.create() user_denied = UserFactory.create()
request = RequestFactory.create(creator=user_allowed.id) request = RequestFactory.create(creator=user_allowed)
assert Requests.exists(request.id, user_allowed.id) assert Requests.exists(request.id, user_allowed)
assert not Requests.exists(request.id, user_denied.id) assert not Requests.exists(request.id, user_denied)

View File

@ -47,7 +47,7 @@ class RequestFactory(factory.alchemy.SQLAlchemyModelFactory):
id = factory.Sequence(lambda x: uuid4()) id = factory.Sequence(lambda x: uuid4())
status_events = factory.RelatedFactory( status_events = factory.RelatedFactory(
RequestStatusFactory, "request", new_status=RequestStatus.STARTED RequestStatusEventFactory, "request", new_status=RequestStatus.STARTED
) )
creator = factory.SubFactory(UserFactory) creator = factory.SubFactory(UserFactory)
body = factory.LazyAttribute(lambda r: RequestFactory.build_request_body(r.creator)) body = factory.LazyAttribute(lambda r: RequestFactory.build_request_body(r.creator))

View File

@ -33,7 +33,7 @@ def test_submit_valid_request_form(monkeypatch, client, user_session):
def test_owner_can_view_request(client, user_session): def test_owner_can_view_request(client, user_session):
user = UserFactory.create() user = UserFactory.create()
user_session(user) user_session(user)
request = RequestFactory.create(creator=user.id) request = RequestFactory.create(creator=user)
response = client.get("/requests/new/1/{}".format(request.id), follow_redirects=True) response = client.get("/requests/new/1/{}".format(request.id), follow_redirects=True)