Beispiel #1
0
    def test_insert_s_only(self, followuser_insert, followuser_remove, get_config):
        user1 = db_utils.create_user()
        user2 = db_utils.create_user()
        get_config.side_effect = lambda userid: "s"

        # user1 watches user2
        followuser.insert(user1, user2)
        self.assertEqual(1, d.sessionmaker().query(orm.Follow).count())
        followuser_remove.assert_called_once_with(user1, user2)
        followuser_insert.assert_called_once_with(user1, user2)
        self.assertEqual("s", d.sessionmaker().query(orm.Follow).first().settings)
Beispiel #2
0
    def test_insert(self, followuser_insert, followuser_remove, get_config):
        user1 = db_utils.create_user()
        user2 = db_utils.create_user()
        get_config.side_effect = lambda userid: "scftj"

        # user1 watches user2
        followuser.insert(user1, user2)
        self.assertEqual(1, d.sessionmaker().query(orm.Follow).count())
        followuser_remove.assert_called_once_with(user1, user2)
        followuser_insert.assert_called_once_with(user1, user2)
        self.assertEqual("cfjst",
                         d.sessionmaker().query(orm.Follow).first().settings)
Beispiel #3
0
    def test_mutual_follow(self):
        user1 = db_utils.create_user()
        user2 = db_utils.create_user()

        # user1 watches user2
        followuser.insert(user1, user2)
        # user2 watches user1
        followuser.insert(user2, user1)
        self.assertTrue(profile.select_relation(user1, user2)["follow"])
        self.assertTrue(profile.select_relation(user2, user1)["follower"])
        self.assertTrue(profile.select_relation(user2, user1)["follow"])
        self.assertTrue(profile.select_relation(user1, user2)["follower"])
Beispiel #4
0
    def test_mutual_follow(self):
        user1 = db_utils.create_user()
        user2 = db_utils.create_user()

        # user1 watches user2
        followuser.insert(user1, user2)
        # user2 watches user1
        followuser.insert(user2, user1)
        self.assertTrue(profile.select_relation(user1, user2)["follow"])
        self.assertTrue(profile.select_relation(user2, user1)["follower"])
        self.assertTrue(profile.select_relation(user2, user1)["follow"])
        self.assertTrue(profile.select_relation(user1, user2)["follower"])
Beispiel #5
0
    def test_insert_s_only(self, followuser_insert, followuser_remove, get_config):
        user1 = db_utils.create_user()
        user2 = db_utils.create_user()
        get_config.side_effect = lambda userid: "s"

        # user1 watches user2
        followuser.insert(user1, user2)
        self.assertTrue(profile.select_relation(user1, user2)["follow"])
        self.assertTrue(profile.select_relation(user2, user1)["follower"])
        self.assertEqual(1, d.sessionmaker().query(orm.Follow).count())
        followuser_remove.assert_called_once_with(user1, user2)
        followuser_insert.assert_called_once_with(user1, user2)
        self.assertEqual("s", d.sessionmaker().query(orm.Follow).first().settings)
Beispiel #6
0
    def test_remove(self, followuser_remove):
        user1 = db_utils.create_user()
        user2 = db_utils.create_user()

        # user1 watches user2
        followuser.insert(user1, user2)
        self.assertEqual(1, d.sessionmaker().query(orm.Follow).count())

        followuser_remove.reset_mock()

        # user1 changed their mind
        followuser.remove(user1, user2)
        self.assertEqual(0, d.sessionmaker().query(orm.Follow).count())
        followuser_remove.assert_called_once_with(user1, user2)
Beispiel #7
0
def followuser_(request):
    form = request.web_input(userid="")
    otherid = define.get_int(form.userid)

    if request.userid == otherid:
        return Response(define.errorpage(request.userid, "You cannot follow yourself."))

    if form.action == "follow":
        if not followuser.check(request.userid, otherid):
            followuser.insert(request.userid, otherid)
    elif form.action == "unfollow":
        followuser.remove(request.userid, otherid)

    raise HTTPSeeOther(location="/~%s" % (define.get_sysname(define.get_display_name(otherid))))
Beispiel #8
0
    def POST(self):
        form = web.input(userid="")
        otherid = define.get_int(form.userid)

        if self.user_id == otherid:
            return define.errorpage(self.user_id, "You cannot follow yourself.")

        if form.action == "follow":
            if not followuser.check(self.user_id, otherid):
                followuser.insert(self.user_id, otherid)
        elif form.action == "unfollow":
            followuser.remove(self.user_id, otherid)

        raise web.seeother("/~%s" % (define.get_sysname(define.get_display_name(otherid))))
Beispiel #9
0
def followuser_(request):
    form = request.web_input(userid="")
    otherid = define.get_int(form.userid)

    if request.userid == otherid:
        raise WeasylError("cannotSelfFollow")

    if form.action == "follow":
        followuser.insert(request.userid, otherid)
    elif form.action == "unfollow":
        followuser.remove(request.userid, otherid)

    raise HTTPSeeOther(location="/~%s" %
                       (define.get_sysname(define.get_display_name(otherid))))
Beispiel #10
0
    def test_remove(self, followuser_remove):
        user1 = db_utils.create_user()
        user2 = db_utils.create_user()

        # user1 watches user2
        followuser.insert(user1, user2)
        self.assertEqual(1, d.sessionmaker().query(orm.Follow).count())

        followuser_remove.reset_mock()

        # user1 changed their mind
        followuser.remove(user1, user2)
        self.assertEqual(0, d.sessionmaker().query(orm.Follow).count())
        followuser_remove.assert_called_once_with(user1, user2)
Beispiel #11
0
    def test_update(self):
        user1 = db_utils.create_user()
        user2 = db_utils.create_user()

        # user1 watches user2
        followuser.insert(user1, user2)

        # user1 updates watch settings
        followuser.update(user1, user2, followuser.WatchSettings.from_code("cf"))
        self.assertEqual("cf", d.sessionmaker().query(orm.Follow).first().settings)

        # again
        followuser.update(user1, user2, followuser.WatchSettings.from_code("st"))
        self.assertEqual("st", d.sessionmaker().query(orm.Follow).first().settings)
Beispiel #12
0
    def test_update(self):
        user1 = db_utils.create_user()
        user2 = db_utils.create_user()

        # user1 watches user2
        followuser.insert(user1, user2)

        # user1 updates watch settings
        followuser.update(user1, user2, followuser.WatchSettings.from_code("cf"))
        self.assertEqual("cf", d.sessionmaker().query(orm.Follow).first().settings)

        # again
        followuser.update(user1, user2, followuser.WatchSettings.from_code("st"))
        self.assertTrue(profile.select_relation(user1, user2)["follow"])
        self.assertTrue(profile.select_relation(user2, user1)["follower"])
        self.assertEqual("st", d.sessionmaker().query(orm.Follow).first().settings)
Beispiel #13
0
def followuser_(request):
    form = request.web_input(userid="")
    otherid = define.get_int(form.userid)

    if request.userid == otherid:
        return Response(
            define.errorpage(request.userid, "You cannot follow yourself."))

    if form.action == "follow":
        if not followuser.check(request.userid, otherid):
            followuser.insert(request.userid, otherid)
    elif form.action == "unfollow":
        followuser.remove(request.userid, otherid)

    raise HTTPSeeOther(location="/~%s" %
                       (define.get_sysname(define.get_display_name(otherid))))
Beispiel #14
0
    def test_insert(self, followuser_insert, followuser_remove, get_config):
        user1 = db_utils.create_user()
        user2 = db_utils.create_user()
        get_config.side_effect = lambda userid: "scftj"

        self.assertFalse(profile.select_relation(user1, user2)["follow"])
        # user1 watches user2
        followuser.insert(user1, user2)
        self.assertEqual(1, d.sessionmaker().query(orm.Follow).count())
        # profile.select_relation should return u1 follows u2, u2 is follower of u1, u1 is not
        # follower of u2
        self.assertTrue(profile.select_relation(user1, user2)["follow"])
        self.assertTrue(profile.select_relation(user2, user1)["follower"])
        self.assertFalse(profile.select_relation(user1, user2)["follower"])
        followuser_remove.assert_called_once_with(user1, user2)
        followuser_insert.assert_called_once_with(user1, user2)
        self.assertEqual("cfjst", d.sessionmaker().query(orm.Follow).first().settings)
Beispiel #15
0
    def test_insert(self, followuser_insert, followuser_remove, get_config):
        user1 = db_utils.create_user()
        user2 = db_utils.create_user()
        get_config.side_effect = lambda userid: "scftj"

        self.assertFalse(profile.select_relation(user1, user2)["follow"])
        # user1 watches user2
        followuser.insert(user1, user2)
        self.assertEqual(1, d.sessionmaker().query(orm.Follow).count())
        # profile.select_relation should return u1 follows u2, u2 is follower of u1, u1 is not
        # follower of u2
        self.assertTrue(profile.select_relation(user1, user2)["follow"])
        self.assertTrue(profile.select_relation(user2, user1)["follower"])
        self.assertFalse(profile.select_relation(user1, user2)["follower"])
        followuser_remove.assert_called_once_with(user1, user2)
        followuser_insert.assert_called_once_with(user1, user2)
        self.assertEqual("cfjst", d.sessionmaker().query(orm.Follow).first().settings)