def test_adds_blacklist(self, db_request): db_request.user = UserFactory.create() db_request.POST["project"] = "foo" db_request.POST["confirm"] = "foo" db_request.POST["comment"] = "This is a comment" db_request.session = pretend.stub( flash=pretend.call_recorder(lambda *a, **kw: None) ) db_request.route_path = lambda a: "/admin/blacklist/" views.add_blacklist(db_request) assert db_request.session.flash.calls == [ pretend.call("Blacklisted 'foo'", queue="success") ] blacklist = ( db_request.db.query(BlacklistedProject) .filter(BlacklistedProject.name == "foo") .one() ) assert blacklist.name == "foo" assert blacklist.blacklisted_by == db_request.user assert blacklist.comment == "This is a comment"
def test_adds_blacklist(self, db_request): db_request.user = UserFactory.create() db_request.POST["project"] = "foo" db_request.POST["confirm"] = "foo" db_request.POST["comment"] = "This is a comment" db_request.session = pretend.stub( flash=pretend.call_recorder(lambda *a, **kw: None) ) db_request.route_path = lambda a: "/admin/blacklist/" views.add_blacklist(db_request) assert db_request.session.flash.calls == [ pretend.call("Blacklisted 'foo'", queue="success") ] blacklist = ( db_request.db.query(BlacklistedProject) .filter(BlacklistedProject.name == "foo") .one() ) assert blacklist.name == "foo" assert blacklist.blacklisted_by == db_request.user assert blacklist.comment == "This is a comment"
def test_adds_blacklist_with_deletes(self, db_request): db_request.user = UserFactory.create() db_request.POST["project"] = "foo" db_request.POST["confirm"] = "foo" db_request.POST["comment"] = "This is a comment" db_request.session = pretend.stub( flash=pretend.call_recorder(lambda *a, **kw: None) ) db_request.route_path = lambda a: "/admin/blacklist/" db_request.remote_addr = "192.168.1.1" project = ProjectFactory.create(name="foo") release = ReleaseFactory.create(project=project) FileFactory.create(release=release, filename="who cares") RoleFactory.create(project=project, user=db_request.user) views.add_blacklist(db_request) assert db_request.session.flash.calls == [ pretend.call("Deleted the project 'foo'", queue="success"), pretend.call("Blacklisted 'foo'", queue="success"), ] blacklist = ( db_request.db.query(BlacklistedProject) .filter(BlacklistedProject.name == "foo") .one() ) assert blacklist.name == "foo" assert blacklist.blacklisted_by == db_request.user assert blacklist.comment == "This is a comment" assert not (db_request.db.query(Project).filter(Project.name == "foo").count())
def test_adds_blacklist_with_deletes(self, db_request): db_request.user = UserFactory.create() db_request.POST["project"] = "foo" db_request.POST["confirm"] = "foo" db_request.POST["comment"] = "This is a comment" db_request.session = pretend.stub( flash=pretend.call_recorder(lambda *a, **kw: None)) db_request.route_path = lambda a: "/admin/blacklist/" db_request.remote_addr = "192.168.1.1" project = ProjectFactory.create(name="foo") release = ReleaseFactory.create(project=project) FileFactory.create(name=project.name, version=release.version, filename="who cares") RoleFactory.create(project=project, user=db_request.user) views.add_blacklist(db_request) assert db_request.session.flash.calls == [ pretend.call("Deleted the project 'foo'", queue="success"), pretend.call("Blacklisted 'foo'", queue="success"), ] blacklist = (db_request.db.query(BlacklistedProject).filter( BlacklistedProject.name == "foo").one()) assert blacklist.name == "foo" assert blacklist.blacklisted_by == db_request.user assert blacklist.comment == "This is a comment" assert not (db_request.db.query(Project).filter( Project.name == "foo").count())
def test_wrong_confirm(self): request = pretend.stub( POST={"project": "foo", "confirm": "bar"}, session=pretend.stub(flash=pretend.call_recorder(lambda *a, **kw: None)), current_route_path=lambda: "/foo/bar/", ) result = views.add_blacklist(request) assert request.session.flash.calls == [ pretend.call("'bar' is not the same as 'foo'", queue="error") ] assert result.status_code == 303 assert result.headers["Location"] == "/foo/bar/"
def test_wrong_confirm(self): request = pretend.stub( POST={"project": "foo", "confirm": "bar"}, session=pretend.stub(flash=pretend.call_recorder(lambda *a, **kw: None)), current_route_path=lambda: "/foo/bar/", ) result = views.add_blacklist(request) assert request.session.flash.calls == [ pretend.call("'bar' is not the same as 'foo'", queue="error") ] assert result.status_code == 303 assert result.headers["Location"] == "/foo/bar/"
def test_no_confirm(self): request = pretend.stub( POST={"project": "foo"}, session=pretend.stub( flash=pretend.call_recorder(lambda *a, **kw: None), ), current_route_path=lambda: "/foo/bar/", ) result = views.add_blacklist(request) assert request.session.flash.calls == [ pretend.call("Must confirm the blacklist request.", queue="error"), ] assert result.status_code == 303 assert result.headers["Location"] == "/foo/bar/"
def test_no_confirm(self): request = pretend.stub( POST={"project": "foo"}, session=pretend.stub( flash=pretend.call_recorder(lambda *a, **kw: None), ), current_route_path=lambda: "/foo/bar/", ) result = views.add_blacklist(request) assert request.session.flash.calls == [ pretend.call("Confirm the blacklist request", queue="error"), ] assert result.status_code == 303 assert result.headers["Location"] == "/foo/bar/"
def test_already_existing_blacklist(self, db_request): blacklist = BlacklistedProjectFactory.create() db_request.db.expire_all() db_request.user = UserFactory.create() db_request.POST["project"] = blacklist.name db_request.POST["confirm"] = blacklist.name db_request.POST["comment"] = "This is a comment" db_request.session = pretend.stub( flash=pretend.call_recorder(lambda *a, **kw: None)) db_request.route_path = lambda a: "/admin/blacklist/" result = views.add_blacklist(db_request) assert db_request.session.flash.calls == [ pretend.call(f"{blacklist.name!r} has already been blacklisted.", queue="error") ] assert result.status_code == 303 assert result.headers["Location"] == "/admin/blacklist/"
def test_already_existing_blacklist(self, db_request): blacklist = BlacklistedProjectFactory.create() db_request.db.expire_all() db_request.user = UserFactory.create() db_request.POST["project"] = blacklist.name db_request.POST["confirm"] = blacklist.name db_request.POST["comment"] = "This is a comment" db_request.session = pretend.stub( flash=pretend.call_recorder(lambda *a, **kw: None) ) db_request.route_path = lambda a: "/admin/blacklist/" result = views.add_blacklist(db_request) assert db_request.session.flash.calls == [ pretend.call( f"{blacklist.name!r} has already been blacklisted.", queue="error" ) ] assert result.status_code == 303 assert result.headers["Location"] == "/admin/blacklist/"
def test_no_project(self): request = pretend.stub(POST={}) with pytest.raises(HTTPBadRequest): views.add_blacklist(request)
def test_no_project(self): request = pretend.stub(POST={}) with pytest.raises(HTTPBadRequest): views.add_blacklist(request)