Exemplo n.º 1
0
    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"
Exemplo n.º 2
0
    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"
Exemplo n.º 3
0
    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())
Exemplo n.º 4
0
    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())
Exemplo n.º 5
0
    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/"
Exemplo n.º 6
0
    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/"
Exemplo n.º 7
0
    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/"
Exemplo n.º 8
0
    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/"
Exemplo n.º 9
0
    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/"
Exemplo n.º 10
0
    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/"
Exemplo n.º 11
0
    def test_no_project(self):
        request = pretend.stub(POST={})

        with pytest.raises(HTTPBadRequest):
            views.add_blacklist(request)
Exemplo n.º 12
0
    def test_no_project(self):
        request = pretend.stub(POST={})

        with pytest.raises(HTTPBadRequest):
            views.add_blacklist(request)