def test_friends_only(self): user1 = db_utils.create_user() user2 = db_utils.create_user() db_utils.create_submission(user1, rating=ratings.GENERAL.code, settings=CharSettings({'friends-only'}, {}, {})) # poster can view their submission self.assertEqual( 1, len(submission.select_list(user1, ratings.GENERAL.code, 10))) # but a non-friend or a non-logged in user cannot self.assertEqual( 0, len(submission.select_list(None, ratings.GENERAL.code, 10))) self.assertEqual( 0, len(submission.select_list(user2, ratings.GENERAL.code, 10))) # user with a pending friendship cannot view db_utils.create_friendship(user1, user2, settings=CharSettings({'pending'}, {}, {})) self.assertEqual( 0, len(submission.select_list(user2, ratings.GENERAL.code, 10))) # but a friend can d.sessionmaker().query(users.Friendship).delete() db_utils.create_friendship(user1, user2) self.assertEqual( 1, len(submission.select_list(user2, ratings.GENERAL.code, 10)))
def test_friends_only(self): user1 = db_utils.create_user() user2 = db_utils.create_user() db_utils.create_submission(user1, rating=ratings.GENERAL.code, settings=CharSettings({'friends-only'}, {}, {})) # poster can view their submission self.assertEqual( 1, len(submission.select_list(user1, ratings.GENERAL.code, 10))) # but a non-friend or a non-logged in user cannot self.assertEqual( 0, len(submission.select_list(None, ratings.GENERAL.code, 10))) self.assertEqual( 0, len(submission.select_list(user2, ratings.GENERAL.code, 10))) # user with a pending friendship cannot view db_utils.create_friendship(user1, user2, settings=CharSettings({'pending'}, {}, {})) self.assertEqual( 0, len(submission.select_list(user2, ratings.GENERAL.code, 10))) # but a friend can d.sessionmaker().query(users.Friendship).delete() db_utils.create_friendship(user1, user2) self.assertEqual( 1, len(submission.select_list(user2, ratings.GENERAL.code, 10)))
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)
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)
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)
def _site_updates(): user = db_utils.create_user(username='******') updates = [ siteupdate.create(user, u'foo', u'content one'), siteupdate.create(user, u'bar', u'content two'), siteupdate.create(user, u'baz', u'content three'), ] for update in updates: sessionmaker().expunge(update) return (user, updates)
def _site_updates(): user = db_utils.create_user(username='******') updates = [ siteupdate.create(user, u'foo', u'content one'), siteupdate.create(user, u'bar', u'content two'), siteupdate.create(user, u'baz', u'content three'), ] for update in updates: sessionmaker().expunge(update) return (user, updates)
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)
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)
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)
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)
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)
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)
def pg_connection_request_property(request): """ Used for the reified pg_connection property on weasyl requests. """ db = d.sessionmaker() try: # Make sure postgres is still there before issuing any further queries. db.execute('SELECT 1') except OperationalError: request.log_exc() raise HTTPServiceUnavailable("database error") # postgresql is still there. Register clean-up of this property. def cleanup(request): db.close() request.add_finished_callback(cleanup) return db
def main(): db = sessionmaker() print 'starting media_items' port_media_items(db)
def pg_connection_request_property(request): """ Used for the reified pg_connection property on weasyl requests. """ return d.sessionmaker()
def pg_connection_request_property(request): """ Used for the reified pg_connection property on weasyl requests. """ return d.sessionmaker()
def main(): db = sessionmaker() print 'starting media_items' port_media_items(db)