def test_user_has_voted(self): # Review needs user user_1 = User(display_name=u'Tester #1') db.session.add(user_1) db.session.commit() # and license license = License(id=u"Test", full_name=u'Test License') db.session.add(license) db.session.commit() review = Review.create(user=user_1, release_group='e7aad618-fa86-3983-9e77-405e21796eca', text=u"Testing!", is_draft=False, license_id=license.id) db.session.add(review) db.session.commit() user_2 = User(display_name=u'Tester #2') db.session.add(user_2) db.session.commit() self.assertFalse(user_2.has_voted(review)) Vote.create(user_2, review, True) self.assertTrue(user_2.has_voted(review))
def test_user_has_voted(self): # Review needs user user_1 = User(display_name=u'Tester #1') db.session.add(user_1) db.session.commit() # and license license = License(id=u"Test", full_name=u'Test License') db.session.add(license) db.session.commit() review = Review.create( user_id=user_1.id, release_group='e7aad618-fa86-3983-9e77-405e21796eca', text=u"Testing!", is_draft=False, license_id=license.id) db.session.add(review) db.session.commit() user_2 = User(display_name=u'Tester #2') db.session.add(user_2) db.session.commit() self.assertFalse(user_2.has_voted(review)) Vote.create(user_2.id, review, True) self.assertTrue(user_2.has_voted(review))
def test_vote_create(self): # Preparing test data author = User.get_or_create(u'Author', musicbrainz_id=u'0') user_1 = User.get_or_create(u'Tester #1', musicbrainz_id=u'1') user_2 = User.get_or_create(u'Tester #2', musicbrainz_id=u'2') license = License(id=u'Test', full_name=u'Test License') db.session.add(license) db.session.commit() review = Review.create( release_group='e7aad618-fa86-3983-9e77-405e21796eca', text=u"Testing!", user=author, is_draft=False, license_id=license.id) vote_u1_positive = Vote.create(user_1, review, True) votes = db.session.query(Vote).all() self.assertEqual(len(votes), 1) self.assertIn(vote_u1_positive, votes) vote_u2_negative = Vote.create(user_2, review, False) votes = db.session.query(Vote).all() self.assertEqual(len(votes), 2) self.assertIn(vote_u1_positive, votes) self.assertIn(vote_u2_negative, votes)
def test_vote_create(self): # Preparing test data author = User.get_or_create(u'Author', musicbrainz_id=u'0') user_1 = User.get_or_create(u'Tester #1', musicbrainz_id=u'1') user_2 = User.get_or_create(u'Tester #2', musicbrainz_id=u'2') license = License(id=u'Test', full_name=u'Test License') db.session.add(license) db.session.commit() review = Review.create(release_group='e7aad618-fa86-3983-9e77-405e21796eca', text=u"Testing!", user=author, is_draft=False, license_id=license.id) vote_u1_positive = Vote.create(user_1, review, True) votes = db.session.query(Vote).all() self.assertEqual(len(votes), 1) self.assertIn(vote_u1_positive, votes) vote_u2_negative = Vote.create(user_2, review, False) votes = db.session.query(Vote).all() self.assertEqual(len(votes), 2) self.assertIn(vote_u1_positive, votes) self.assertIn(vote_u2_negative, votes)
def test_user_delete(self): user = User(display_name=u'Tester') db.session.add(user) db.session.commit() self.assertEqual(User.query.count(), 1) user.delete() self.assertEqual(User.query.count(), 0)
def test_user_get_or_create(self): user_1 = User.get_or_create(u'Tester #1', musicbrainz_id=u'1') user_2 = User.get_or_create(u'Tester #2', musicbrainz_id=u'1') user_3 = User.get_or_create(u'Tester #3', musicbrainz_id=u'2') self.assertEqual(user_1, user_2) self.assertNotEqual(user_1, user_3) self.assertEqual(User.query.count(), 2)
def setUp(self): super(ReviewViewsTestCase, self).setUp() self.user = User.get_or_create( u"Tester", u"aef06569-098f-4218-a577-b413944d9493") self.hacker = User.get_or_create( u"Hacker!", u"9371e5c7-5995-4471-a5a9-33481f897f9c") self.license = License.create( u"CC BY-SA 3.0", u"Created so we can fill the form correctly.") self.review_text = "Testing! This text should be on the page."
def setUp(self): super(ProfileApplicationViewsTestCase, self).setUp() self.user = User.get_or_create(u"Tester", u"aef06569-098f-4218-a577-b413944d9493") self.hacker = User.get_or_create(u"Hacker!", u"9371e5c7-5995-4471-a5a9-33481f897f9c") self.application = dict( name="Some Application", desc="Created for some purpose", website="http://example.com/", redirect_uri="http://example.com/redirect/", )
def setUp(self): super(ProfileApplicationsViewsTestCase, self).setUp() self.user = User.get_or_create( u"Tester", u"aef06569-098f-4218-a577-b413944d9493") self.hacker = User.get_or_create( u"Hacker!", u"9371e5c7-5995-4471-a5a9-33481f897f9c") self.application = dict( name="Some Application", desc="Created for some purpose", website="http://example.com/", redirect_uri="http://example.com/redirect/", )
def setUp(self): super(ReviewViewsTestCase, self).setUp() self.user = User.get_or_create("Tester", "aef06569-098f-4218-a577-b413944d9493") self.another_user = User.get_or_create("Hacker!", "9371e5c7-5995-4471-a5a9-33481f897f9c") self.license = License.create("CC BY-SA 3.0", "Created so we can fill the form correctly.") self.review = dict( entity_id="6b3cd75d-7453-39f3-86c4-1441f360e121", entity_type='release_group', user_id=self.user.id, text="Testing! This text should be on the page.", is_draft=False, license_id=self.license.id, )
def setUp(self): super(ReviewViewsTestCase, self).setUp() self.user = User.get_or_create(u"Tester", u"aef06569-098f-4218-a577-b413944d9493") self.hacker = User.get_or_create(u"Hacker!", u"9371e5c7-5995-4471-a5a9-33481f897f9c") self.license = License.create(u"CC BY-SA 3.0", u"Created so we can fill the form correctly.") self.review = dict( entity_id="6b3cd75d-7453-39f3-86c4-1441f360e121", entity_type='release_group', user=self.user, text="Testing! This text should be on the page.", is_draft=False, license_id=self.license.id, )
def test_user_list(self): users, count = User.list() self.assertEqual(len(users), 0) self.assertEqual(count, 0) users, count = User.list(0, 0) self.assertEqual(len(users), 0) self.assertEqual(count, 0) users, count = User.list(0, 10) self.assertEqual(len(users), 0) self.assertEqual(count, 0) user_1 = User(display_name=u'Tester #1') user_2 = User(display_name=u'Tester #2') db.session.add(user_1) db.session.add(user_2) db.session.commit() users, count = User.list() self.assertEqual(len(users), 2) self.assertEqual(count, 2) users, count = User.list(0, 0) self.assertEqual(len(users), 0) self.assertEqual(count, 2) users, count = User.list(1, 1) self.assertEqual(len(users), 1) self.assertEqual(count, 2)
def setUp(self): super(VoteTestCase, self).setUp() author = User.get_or_create('Author', musicbrainz_id='0') self.user_1 = User.get_or_create('Tester #1', musicbrainz_id='1') self.user_2 = User.get_or_create('Tester #2', musicbrainz_id='2') license = License(id='Test', full_name='Test License') db.session.add(license) db.session.commit() self.review = Review.create( release_group='e7aad618-fa86-3983-9e77-405e21796eca', text="Testing!", user=author, is_draft=False, license_id=license.id)
def setUp(self): super(RevisionTestCase, self).setUp() self.author = User.get_or_create('Author', musicbrainz_id='0') self.user_1 = User.get_or_create('Tester #1', musicbrainz_id='1') self.user_2 = User.get_or_create('Tester #2', musicbrainz_id='2') self.license = License(id=u'TEST', full_name=u"Test License") db.session.add(self.license) db.session.commit() self.review = Review.create( user_id=self.author.id, release_group='e7aad618-fa86-3983-9e77-405e21796eca', text=u"Testing!", is_draft=False, license_id=self.license.id)
def test_user_addition(self): user = User(display_name=u'Tester 1', email=u'*****@*****.**') db.session.add(user) db.session.commit() resp = self.client.get('/user/').json self.assertEqual(resp['count'], 1) self.assertEqual(len(resp['users']), 1)
def get_user(self): data = dict(code=self.fetch_data('code'), grant_type='authorization_code', redirect_uri=url_for('login.musicbrainz_post', _external=True)) s = self._service.get_auth_session(data=data, decoder=json.loads) data = s.get('oauth2/userinfo').json() return User.get_or_create(data.get('sub'), musicbrainz_id=data.get('sub'))
def test_avatar_property(self): user = User(display_name=u'Tester', email=u"*****@*****.**") db.session.add(user) db.session.commit() # By default show_gravatar attribute should be set to False self.assertFalse(user.show_gravatar) # so avatar property returns generic avatar self.assertEqual(user.avatar, "https://gravatar.com/avatar/placeholder?d=mm") # Let's allow to show avatar of this user. user.show_gravatar = True db.session.commit() self.assertTrue(user.show_gravatar) self.assertEqual(user.avatar, "https://gravatar.com/avatar/f72c502e0d657f363b5f2dc79dd8ceea?d=mm&r=pg")
def review_list_handler(): """Get list of users. **Request Example:** .. code-block:: bash $ curl "https://critiquebrainz.org/ws/1/user/?offset=10&limit=3" \\ -X GET **Response Example:** .. code-block:: json { "count": 925, "limit": 3, "offset": 10, "users": [ { "created": "Wed, 07 May 2014 14:46:58 GMT", "display_name": "Display Name", "id": "b291a99b-7bb0-4531-ba45-f6cfb4d944de", "karma": 0, "user_type": "Noob" }, { "created": "Wed, 07 May 2014 14:46:59 GMT", "display_name": "Name comes here", "id": "a52e1629-a516-43c2-855f-bb195aeb2a33", "karma": 3, "user_type": "Noob" }, { "created": "Wed, 07 May 2014 14:47:00 GMT", "display_name": "Display Name", "id": "1fb36917-d4d3-411b-82c4-901d949e17b8", "karma": 0, "user_type": "Noob" } ] } :query limit: results limit, min is 0, max is 50, default is 50 **(optional)** :query offset: result offset, default is 0 **(optional)** :resheader Content-Type: *application/json* """ def fetch_params(): limit = Parser.int('uri', 'limit', min=1, max=50, optional=True) or 50 offset = Parser.int('uri', 'offset', optional=True) or 0 return limit, offset limit, offset = fetch_params() users, count = User.list(limit, offset) return jsonify(limit=limit, offset=offset, count=count, users=[p.to_dict() for p in users])
def setUp(self): super(SpamReportTestCase, self).setUp() # We need review and a couple of users to work with. self.reporter = User(display_name=u'Reporter') db.session.add(self.reporter) self.author = User(display_name=u'Author') db.session.add(self.author) self.license = License(id=u'Test', full_name=u'Test License') db.session.add(self.license) db.session.flush() self.review = Review.create(user=self.author, release_group='e7aad618-fa86-3983-9e77-405e21796eca', text=u"It's... beautiful!", is_draft=False, license_id=self.license.id, language='en')
def test_user_update(self): user = User(display_name=u'Tester #1') db.session.add(user) db.session.commit() # Checking default state retrieved_user = User.query.all()[0] self.assertEqual(retrieved_user.display_name, u'Tester #1') self.assertIsNone(retrieved_user.email) self.assertFalse(retrieved_user.show_gravatar) user.update(display_name=u'Tester #2', email=u'*****@*****.**', show_gravatar=True) # Checking if contents are updated retrieved_user = User.query.all()[0] self.assertEqual(retrieved_user.display_name, u'Tester #2') self.assertEqual(retrieved_user.email, u'*****@*****.**') self.assertTrue(retrieved_user.show_gravatar)
def setUp(self): super(ModerationLogCase, self).setUp() self.admin = User(display_name=u'Admin') db.session.add(self.admin) self.user = User(display_name=u'User') db.session.add(self.user) self.reason = "Testing Reason" self.license = License(id=u'Test', full_name=u'Test License') db.session.add(self.license) db.session.flush() self.review = Review.create(user_id=self.user.id, release_group='e7aad618-fa86-3983-9e77-405e21796eca', text=u"It's... beautiful!", is_draft=False, license_id=self.license.id, language='en')
def test_avatar_property(self): user = User(display_name=u'Tester', email=u"*****@*****.**") db.session.add(user) db.session.commit() # By default show_gravatar attribute should be set to False self.assertFalse(user.show_gravatar) # so avatar property returns generic avatar self.assertEqual(user.avatar, "https://gravatar.com/avatar/placeholder?d=mm") # Let's allow to show avatar of this user. user.show_gravatar = True db.session.commit() self.assertTrue(user.show_gravatar) self.assertEqual( user.avatar, "https://gravatar.com/avatar/f72c502e0d657f363b5f2dc79dd8ceea?d=mm&r=pg" )
def test_user_creation_and_removal(self): user_1 = User(display_name=u'Tester #1', email=u'*****@*****.**') user_2 = User(display_name=u'Tester #2') db.session.add(user_1) db.session.add(user_2) db.session.commit() users, count = User.list() self.assertEqual(count, 2) db.session.delete(user_1) db.session.commit() users, count = User.list() self.assertEqual(count, 1) stored_user = users[0] self.assertEqual(stored_user.id, user_2.id) self.assertEqual(stored_user.display_name, user_2.display_name) self.assertIsNone(stored_user.email)
def setUp(self): super(ReviewTestCase, self).setUp() # Review needs user self.user = User(display_name=u'Tester') db.session.add(self.user) db.session.commit() # and license self.license = License(id=u"Test", full_name=u'Test License') db.session.add(self.license) db.session.commit()
def test_avatar_property(self): user = User(display_name=u'Tester', email=u"*****@*****.**") db.session.add(user) db.session.commit() # By default show_gravatar attribute should be set to False self.assertFalse(user.show_gravatar) # so avatar property returns generic avatar self.assertEqual( user.avatar, "https://gravatar.com/avatar/{}?d=identicon".format( hashlib.md5(user.id.encode('utf-8')).hexdigest())) # Let's allow to show avatar of this user. user.show_gravatar = True db.session.commit() self.assertTrue(user.show_gravatar) self.assertEqual( user.avatar, "https://gravatar.com/avatar/{}?d=identicon&r=pg".format( hashlib.md5(user.email.encode('utf-8')).hexdigest()))
def setUp(self): super(RevisionTestCase, self).setUp() self.user = User(display_name=u'Tester') db.session.add(self.user) db.session.commit() self.license = License(id=u'TEST', full_name=u"Test License") db.session.add(self.license) db.session.commit() self.review = Review.create(user=self.user, release_group='e7aad618-fa86-3983-9e77-405e21796eca', text=u"Testing!", is_draft=False, license_id=self.license.id)
def index(): # Popular reviews popular_reviews = Review.get_popular(6) for review in popular_reviews: # Preparing text for preview preview = markdown(review['text'], safe_mode="escape") review['preview'] = ''.join(BeautifulSoup(preview, "html.parser").findAll(text=True)) # Recent reviews recent_reviews, _ = Review.list(sort='created', limit=9) # Statistics review_count = format_number(Review.get_count(is_draft = False)) user_count = format_number(User.get_count()) return render_template('index/index.html', popular_reviews=popular_reviews, recent_reviews=recent_reviews, reviews_total=review_count, users_total=user_count)
def review_list_handler(): """Get list of users. :query limit: results limit, min is 0, max is 50, default is 50 **(optional)** :query offset: result offset, default is 0 **(optional)** :resheader Content-Type: *application/json* """ def fetch_params(): limit = Parser.int('uri', 'limit', min=1, max=50, optional=True) or 50 offset = Parser.int('uri', 'offset', optional=True) or 0 return limit, offset limit, offset = fetch_params() users, count = User.list(limit, offset) return jsonify(limit=limit, offset=offset, count=count, users=[p.to_dict() for p in users])
def test_reviews_property(self): user = User(display_name=u'Tester') db.session.add(user) db.session.commit() self.assertEqual(len(user.reviews), 0) license = License(id=u"Test", full_name=u'Test License') db.session.add(license) db.session.flush() review = Review.create( user_id=user.id, release_group='e7aad618-fa86-3983-9e77-405e21796eca', text=u"Testing!", is_draft=False, license_id=license.id) db.session.add(review) db.session.commit() self.assertEqual(len(user.reviews), 1) review.delete() self.assertEqual(len(user.reviews), 0)
def test_votes(self): user = User(display_name=u'Tester') db.session.add(user) db.session.commit() self.assertEqual(len(user.votes), 0)
def admin(self): return User.get(id=self.admin_id)
def setUp(self): super(ProfileViewsTestCase, self).setUp() self.user = User.get_or_create("Tester", "aef06569-098f-4218-a577-b413944d9493")
def setUp(self): super(ProfileViewsTestCase, self).setUp() self.user = User.get_or_create(u"Tester", u"aef06569-098f-4218-a577-b413944d9493")
def load_user(user_id): return User.get(id=user_id)
def test_reviews(self): user = User.get_or_create(u"Tester", u"aef06569-098f-4218-a577-b413944d9493") response = self.client.get("/user/%s" % user.id) self.assert200(response) self.assertIn("Tester", response.data)
def setUp(self): super(ReviewViewsTestCase, self).setUp() self.user = User.get_or_create(u"Tester", u"aef06569-098f-4218-a577-b413944d9493") self.hacker = User.get_or_create(u"Hacker!", u"9371e5c7-5995-4471-a5a9-33481f897f9c") self.license = License.create(u"CC BY-SA 3.0", u"Created so we can fill the form correctly.") self.review_text = "Testing! This text should be on the page."
def setUp(self): super(OAuthClientTestCase, self).setUp() self.user = User.get_or_create(u'Author', u'189d7863-d23c-49d9-ae7e-031b41qb2805')
def user(self): return User.get(id=self.user_id)
def test_reviews(self): user = User.get_or_create("Tester", "aef06569-098f-4218-a577-b413944d9493") response = self.client.get("/user/%s" % user.id) self.assert200(response) self.assertIn("Tester", str(response.data))
def setUp(self): super(OAuthClientTestCase, self).setUp() self.user = User.get_or_create( u'Author', u'189d7863-d23c-49d9-ae7e-031b41qb2805')