def destroy_project_docs(project, request): confirm_project(project, request, fail_route="manage.project.documentation") destroy_docs(project, request) return HTTPSeeOther( request.route_path( "manage.project.documentation", project_name=project.normalized_name ) )
def destroy_project_docs(project, request): confirm_project(project, request, fail_route="manage.project.documentation") destroy_docs(project, request) return HTTPSeeOther( request.route_path("manage.project.documentation", project_name=project.normalized_name))
def test_confirm(): project = stub(normalized_name="foobar") request = stub( POST={"confirm_project_name": "foobar"}, route_path=call_recorder(lambda *a, **kw: stub()), session=stub(flash=call_recorder(lambda *a, **kw: stub())), ) confirm_project(project, request, fail_route="fail_route") assert request.route_path.calls == [] assert request.session.flash.calls == []
def test_confirm(): project = stub(normalized_name='foobar') request = stub( POST={'confirm_project_name': 'foobar'}, route_path=call_recorder(lambda *a, **kw: stub()), session=stub(flash=call_recorder(lambda *a, **kw: stub())), ) confirm_project(project, request, fail_route='fail_route') assert request.route_path.calls == [] assert request.session.flash.calls == []
def test_confirm_no_input(): project = stub(normalized_name="foobar") request = stub( POST={"confirm_project_name": ""}, route_path=call_recorder(lambda *a, **kw: "/the-redirect"), session=stub(flash=call_recorder(lambda *a, **kw: stub())), ) with pytest.raises(HTTPSeeOther) as err: confirm_project(project, request, fail_route="fail_route") assert err.value == "/the-redirect" assert request.route_path.calls == [call("fail_route", project_name="foobar")] assert request.session.flash.calls == [call("Confirm the request", queue="error")]
def test_confirm_no_input(): project = stub(normalized_name="foobar") request = stub( POST={"confirm_project_name": ""}, route_path=call_recorder(lambda *a, **kw: "/the-redirect"), session=stub(flash=call_recorder(lambda *a, **kw: stub())), ) with pytest.raises(HTTPSeeOther) as err: confirm_project(project, request, fail_route="fail_route") assert err.value == "/the-redirect" assert request.route_path.calls == [call("fail_route", project_name="foobar")] assert request.session.flash.calls == [call("Confirm the request", queue="error")]
def delete_project(project, request): if request.flags.enabled(AdminFlagValue.DISALLOW_DELETION): request.session.flash( ("Project deletion temporarily disabled. " "See https://pypi.org/help#admin-intervention for details."), queue="error", ) return HTTPSeeOther( request.route_path("manage.project.settings", project_name=project.name)) confirm_project(project, request, fail_route="manage.project.settings") remove_project(project, request) return HTTPSeeOther(request.route_path("manage.projects"))
def test_confirm_no_input(): project = stub(normalized_name='foobar') request = stub( POST={'confirm_project_name': ''}, route_path=call_recorder(lambda *a, **kw: '/the-redirect'), session=stub(flash=call_recorder(lambda *a, **kw: stub())), ) with pytest.raises(HTTPSeeOther) as err: confirm_project(project, request, fail_route='fail_route') assert err.value == '/the-redirect' assert request.route_path.calls == [ call('fail_route', project_name='foobar') ] assert request.session.flash.calls == [ call('Must confirm the request.', queue='error') ]
def test_confirm_no_input(): project = stub(normalized_name='foobar') request = stub( POST={'confirm_project_name': ''}, route_path=call_recorder(lambda *a, **kw: '/the-redirect'), session=stub(flash=call_recorder(lambda *a, **kw: stub())), ) with pytest.raises(HTTPSeeOther) as err: confirm_project(project, request, fail_route='fail_route') assert err.value == '/the-redirect' assert request.route_path.calls == [ call('fail_route', project_name='foobar') ] assert request.session.flash.calls == [ call('Must confirm the request', queue='error') ]
def test_confirm_incorrect_input(): project = stub(normalized_name='foobar') request = stub( POST={'confirm_project_name': 'bizbaz'}, route_path=call_recorder(lambda *a, **kw: '/the-redirect'), session=stub(flash=call_recorder(lambda *a, **kw: stub())), ) with pytest.raises(HTTPSeeOther) as err: confirm_project(project, request, fail_route='fail_route') assert err.value == '/the-redirect' assert request.route_path.calls == [ call('fail_route', project_name='foobar') ] assert request.session.flash.calls == [ call("Could not delete project - 'bizbaz' is not the same as 'foobar'", queue='error') ]
def test_confirm_incorrect_input(): project = stub(normalized_name='foobar') request = stub( POST={'confirm_project_name': 'bizbaz'}, route_path=call_recorder(lambda *a, **kw: '/the-redirect'), session=stub(flash=call_recorder(lambda *a, **kw: stub())), ) with pytest.raises(HTTPSeeOther) as err: confirm_project(project, request, fail_route='fail_route') assert err.value == '/the-redirect' assert request.route_path.calls == [ call('fail_route', project_name='foobar') ] assert request.session.flash.calls == [ call( "Could not delete project - 'bizbaz' is not the same as 'foobar'", queue='error' ) ]
def test_confirm_incorrect_input(): project = stub(normalized_name="foobar") request = stub( POST={"confirm_project_name": "bizbaz"}, route_path=call_recorder(lambda *a, **kw: "/the-redirect"), session=stub(flash=call_recorder(lambda *a, **kw: stub())), ) with pytest.raises(HTTPSeeOther) as err: confirm_project(project, request, fail_route="fail_route") assert err.value.location == "/the-redirect" assert request.route_path.calls == [ call("fail_route", project_name="foobar") ] assert request.session.flash.calls == [ call( "Could not delete project - 'bizbaz' is not the same as 'foobar'", queue="error", ) ]
def delete_project(project, request): confirm_project(project, request, fail_route="admin.project.detail") remove_project(project, request) return HTTPSeeOther(request.route_path("admin.project.list"))
def delete_project(project, request): confirm_project(project, request, fail_route="manage.project.settings") remove_project(project, request) return HTTPSeeOther(request.route_path("manage.projects"))
def delete_project(project, request): confirm_project(project, request, fail_route="manage.project.settings") remove_project(project, request) return HTTPSeeOther(request.route_path("manage.projects"))
def delete_project(project, request): confirm_project(project, request, fail_route="admin.project.detail") remove_project(project, request) return HTTPSeeOther(request.route_path('admin.project.list'))