Exemplo n.º 1
0
    def setUp(self):
        super(ReviewTestCase, self).setUp()

        # Review needs user
        self.user = User(
            db_users.get_or_create(1,
                                   "Tester",
                                   new_user_data={
                                       "display_name": "test user",
                                   }))
        self.user_2 = User(
            db_users.get_or_create(2,
                                   "Tester 2",
                                   new_user_data={
                                       "display_name": "test user 2",
                                   }))

        # And license
        self.license = db_license.create(
            id=u'Test',
            full_name=u"Test License",
        )

        # disable caching
        cache.get = MagicMock(return_value=None)
Exemplo n.º 2
0
 def setUp(self):
     super(VoteTestCase, self).setUp()
     author = User(
         db_users.get_or_create(0,
                                '0',
                                new_user_data={
                                    "display_name": "Author",
                                }))
     self.user_1 = User(
         db_users.get_or_create(1,
                                '1',
                                new_user_data={
                                    "display_name": "Tester #1",
                                }))
     self.user_2 = User(
         db_users.get_or_create(2,
                                '2',
                                new_user_data={
                                    "display_name": "Tester #2",
                                }))
     license = db_license.create(
         id='Test',
         full_name='Test License',
     )
     self.review = db_review.create(
         entity_id="e7aad618-fa86-3983-9e77-405e21796eca",
         entity_type="release_group",
         text="Testing!",
         rating=5,
         user_id=author.id,
         is_draft=False,
         license_id=license["id"],
     )
    def setUp(self):
        super(ModerationLogTestCase, self).setUp()

        self.admin = User(
            db_users.get_or_create(1,
                                   "Admin",
                                   new_user_data={
                                       "display_name": "Admin",
                                   }))
        self.user = User(
            db_users.get_or_create(2,
                                   "Tester",
                                   new_user_data={
                                       "display_name": "Tester",
                                   }))
        self.reason = "Testing!"
        self.license = db_license.create(
            id=u'TEST',
            full_name=u"Test License",
        )

        self.review = db_review.create(
            user_id=self.user.id,
            entity_id="e7aad618-fa86-3983-9e77-405e21796eca",
            entity_type="release_group",
            text="It is beautiful!",
            is_draft=False,
            license_id=self.license["id"],
            language='en',
        )
Exemplo n.º 4
0
 def setUp(self):
     super(VoteTestCase, self).setUp()
     author = User(
         db_users.get_or_create('0',
                                new_user_data={
                                    "display_name": "Author",
                                }))
     self.user_1 = User(
         db_users.get_or_create('1',
                                new_user_data={
                                    "display_name": "Tester #1",
                                }))
     self.user_2 = User(
         db_users.get_or_create('2',
                                new_user_data={
                                    "display_name": "Tester #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_id=author.id,
         is_draft=False,
         license_id=license.id)
Exemplo n.º 5
0
 def setUp(self):
     super(ReviewViewsTestCase, self).setUp()
     self.user = User(
         db_users.get_or_create("Tester",
                                new_user_data={
                                    "display_name": "test user",
                                }))
     self.another_user = User(
         db_users.get_or_create("Hacker!",
                                new_user_data={
                                    "display_name": "test hacker",
                                }))
     self.license = db_license.create(
         id="CC BY-SA 3.0",
         full_name="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.",
         rating=5,
         is_draft=False,
         license_id=self.license["id"],
     )
Exemplo n.º 6
0
 def setUp(self):
     super(RevisionTestCase, self).setUp()
     self.author = User(
         db_users.get_or_create(1,
                                'Author',
                                new_user_data={
                                    "display_name": '0',
                                }))
     self.user_1 = User(
         db_users.get_or_create(2,
                                'Tester #1',
                                new_user_data={
                                    "display_name": '1',
                                }))
     self.user_2 = User(
         db_users.get_or_create(3,
                                'Tester #2',
                                new_user_data={
                                    "display_name": '2',
                                }))
     self.license = db_license.create(
         id=u'TEST',
         full_name=u"Test License",
     )
     self.review = db_review.create(
         user_id=self.author.id,
         entity_id="e7aad618-fa86-3983-9e77-405e21796eca",
         entity_type="release_group",
         text=u"Testing!",
         rating=5,
         is_draft=False,
         license_id=self.license["id"],
     )
Exemplo n.º 7
0
 def setUp(self):
     super(UserTestCase, self).setUp()
     self.user1 = User(
         db_users.get_or_create('tester_1',
                                new_user_data={
                                    "display_name": "test",
                                }))
     self.user2 = User(
         db_users.get_or_create("тестер",
                                new_user_data={
                                    "display_name": "test1",
                                }))
     self.author = User(
         db_users.get_or_create("author1",
                                new_user_data={
                                    "display_name": "Author1",
                                }))
     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_id=self.author.id,
         is_draft=False,
         license_id=license.id,
     )
     vote = db_vote.submit(self.user1.id, self.review.last_revision.id,
                           True)
     self.review_created = self.review.last_revision.timestamp
     self.review_id = self.review.id
     self.revision_id = self.review.last_revision.id
     self.report = SpamReport.create(self.revision_id, self.user1.id,
                                     "Testing Reason Report")
Exemplo n.º 8
0
 def setUp(self):
     super(SpamReportTestCase, self).setUp()
     author = User(db_users.get_or_create(0, '0', new_user_data={
         "display_name": "Author",
     }))
     self.user1 = User(db_users.get_or_create(1, '1', new_user_data={
         "display_name": "Tester #1",
     }))
     self.user2 = User(db_users.get_or_create(2, '2', new_user_data={
         "display_name": "Tester #2",
     }))
     license = db_license.create(
         id='Test',
         full_name='Test License',
     )
     self.review = db_review.create(
         entity_id="e7aad618-fa86-3983-9e77-405e21796eca",
         entity_type="release_group",
         text="Testing!",
         user_id=author.id,
         is_draft=False,
         license_id=license["id"],
     )
     self.revision_id = self.review["last_revision"]["id"]
     self.report = db_spam_report.create(self.revision_id, self.user1.id, "To test is this report")
     self.report_time = self.report["reported_at"]
Exemplo n.º 9
0
 def setUp(self):
     super(CommentViewsTestCase, self).setUp()
     self.reviewer = User(
         db_users.get_or_create(1,
                                "aef06569-098f-4218-a577-b413944d9493",
                                new_user_data={
                                    "display_name": u"Reviewer",
                                }))
     self.commenter = User(
         db_users.get_or_create(2,
                                "9371e5c7-5995-4471-a5a9-33481f897f9c",
                                new_user_data={
                                    "display_name": u"Commenter",
                                }))
     self.license = db_license.create(
         id="CC BY-SA 3.0",
         full_name="Test License.",
     )
     self.review = db_review.create(
         user_id=self.reviewer.id,
         entity_id="e7aad618-fa86-3983-9e77-405e21796eca",
         entity_type="release_group",
         text="Test Review.",
         rating=5,
         is_draft=False,
         license_id=self.license["id"],
     )
     current_app.jinja_env.filters["entity_details"] = mock_get_entity_by_id
Exemplo n.º 10
0
    def setUp(self):
        super(StatisticsTestCase, self).setUp()

        self.user_1 = User(
            db_users.get_or_create(1,
                                   "Tester 1",
                                   new_user_data={
                                       "display_name": "test user 1",
                                   }))
        self.user_2 = User(
            db_users.get_or_create(2,
                                   "Tester 2",
                                   new_user_data={
                                       "display_name": "test user 2",
                                   }))

        self.license = db_license.create(
            id=u'Test',
            full_name=u"Test License",
        )

        # totally disable cache get or set
        cache.gen_key = MagicMock(return_value=None)
        cache.get = MagicMock(return_value=None)
        cache.set = MagicMock(return_value=None)
Exemplo n.º 11
0
    def setUp(self):
        super(CommentTestCase, self).setUp()

        # each comment requires a user and a review, so create a user and
        # review

        # create user
        self.user = User(db_users.get_or_create(1, "Tester", new_user_data={
            "display_name": "test user",
        }))
        self.user_2 = User(db_users.get_or_create(2, "Tester 2", new_user_data={
            "display_name": "test user 2",
        }))

        # need to create a license before creating a review
        self.license = db_license.create(
            id=u'Test',
            full_name=u"Test License",
        )
        self.review = db_review.create(
            user_id=self.user.id,
            entity_id="e7aad618-fa86-3983-9e77-405e21796eca",
            entity_type="release_group",
            text="Testing",
            rating=5,
            is_draft=False,
            license_id=self.license["id"],
        )
Exemplo n.º 12
0
 def setUp(self):
     super(UserTestCase, self).setUp()
     self.user1 = User(
         db_users.get_or_create('tester_1',
                                new_user_data={
                                    "display_name": "test",
                                }))
     self.user2 = User(
         db_users.get_or_create("тестер",
                                new_user_data={
                                    "display_name": "test1",
                                }))
     self.author = User(
         db_users.get_or_create("author1",
                                new_user_data={
                                    "display_name": "Author1",
                                }))
     license = db_license.create(
         id='Test',
         full_name='Test License',
     )
     self.review = db_review.create(
         entity_id="e7aad618-fa86-3983-9e77-405e21796eca",
         entity_type="release_group",
         text="Testing!",
         user_id=self.author.id,
         is_draft=False,
         license_id=license["id"],
     )
     db_vote.submit(self.user1.id, self.review["last_revision"]["id"], True)
     self.review_created = self.review["last_revision"]["timestamp"]
     self.review_id = self.review["id"]
     self.revision_id = self.review["last_revision"]["id"]
     self.report = db_spam_report.create(self.revision_id, self.user1.id,
                                         "Testing Reason Report")
Exemplo n.º 13
0
def to_dict(review, confidential=False, connection=None):
    if connection is not None:
        review["user"] = User(db_users.get_user_by_id(connection, review.pop("user_id")))
    else:
        review["user"] = User(db_users.get_by_id(review.pop("user_id")))
    review["user"] = review["user"].to_dict(confidential=confidential)
    review["id"] = str(review["id"])
    review["entity_id"] = str(review["entity_id"])
    review["last_updated"] = review["last_revision"]["timestamp"]
    review["last_revision"]["review_id"] = str(review["last_revision"]["review_id"])
    return review
Exemplo n.º 14
0
 def setUp(self):
     super(UserViewsTestCase, self).setUp()
     self.user = User(
         db_users.get_or_create(1,
                                "aef06569-098f-4218-a577-b413944d9493",
                                new_user_data={
                                    "display_name": u"Tester",
                                }))
     self.admin = User(
         db_users.get_or_create(2,
                                "9371e5c7-5995-4471-a5a9-33481f897f9c",
                                new_user_data={
                                    "display_name": u"Admin",
                                }))
Exemplo n.º 15
0
    def setUp(self):
        super(StatisticsTestCase, self).setUp()

        self.user_1 = User(db_users.get_or_create(1, "Tester 1", new_user_data={
            "display_name": "test user 1",
        }))
        self.user_2 = User(db_users.get_or_create(2, "Tester 2", new_user_data={
            "display_name": "test user 2",
        }))

        self.license = db_license.create(
            id=u'Test',
            full_name=u"Test License",
        )
Exemplo n.º 16
0
 def setUp(self):
     super(ProfileApplicationsViewsTestCase, self).setUp()
     self.user = User(db_users.get_or_create(u"aef06569-098f-4218-a577-b413944d9493", new_user_data={
         "display_name": u"Tester",
     }))
     self.hacker = User(db_users.get_or_create(u"9371e5c7-5995-4471-a5a9-33481f897f9c", new_user_data={
         "display_name": u"Hacker!",
     }))
     self.application = dict(
         name="Some Application",
         desc="Created for some purpose",
         website="http://example.com/",
         redirect_uri="http://example.com/redirect/",
     )
Exemplo n.º 17
0
 def setUp(self):
     super(ReviewViewsTestCase, self).setUp()
     self.user = User(db_users.get_or_create("aef06569-098f-4218-a577-b413944d9493", new_user_data={
         "display_name": u"Tester",
     }))
     self.hacker = User(db_users.get_or_create("9371e5c7-5995-4471-a5a9-33481f897f9c", new_user_data={
         "display_name": u"Hacker!",
     }))
     self.license = db_license.create(
         id="CC BY-SA 3.0",
         full_name="Created so we can fill the form correctly.",
     )
     self.review_text = "Testing! This text should be on the page."
     mb_release.browse_releases = MagicMock()
     current_app.jinja_env.filters['entity_details'] = mock_get_entity_by_id
Exemplo n.º 18
0
 def setUp(self):
     super(ReviewViewsTestCase, self).setUp()
     self.user = User(
         db_users.get_or_create(u"aef06569-098f-4218-a577-b413944d9493",
                                new_user_data={
                                    "display_name": u"Tester",
                                }))
     self.hacker = User(
         db_users.get_or_create(u"9371e5c7-5995-4471-a5a9-33481f897f9c",
                                new_user_data={
                                    "display_name": u"Hacker!",
                                }))
     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."
Exemplo n.º 19
0
 def test_reviews(self):
     user = User(db_users.get_or_create(1, "aef06569-098f-4218-a577-b413944d9493", new_user_data={
         "display_name": "Tester",
     }))
     response = self.client.get("/user/%s" % user.id)
     self.assert200(response)
     self.assertIn("Tester", str(response.data))
Exemplo n.º 20
0
    def test_importer(self):
        user = User(db_users.get_or_create(1, "Tester", new_user_data={
            "display_name": "test user",
        }))
        review = db_review.create(
            user_id=user.id,
            entity_id="e7aad618-fa86-3983-9e77-405e21796eca",
            entity_type="release_group",
            text="Testing",
            rating=5,
            is_draft=False,
            license_id=self.license["id"],
        )

        # Make dumps and delete entities
        self.runner.invoke(dump_manager.public, ['--location', self.tempdir])
        archives = get_archives(self.tempdir)
        db_review.delete(review['id'])
        db_users.delete(user.id)
        self.assertEqual(db_users.total_count(), 0)
        self.assertEqual(db_review.get_count(), 0)

        # Import dumps - cbdump.tar.bz2 and cbdump-reviews-all.tar.bz2 and check if data imported properly
        self.runner.invoke(dump_manager.importer, [archives['cbdump.tar.bz2']])
        self.assertEqual(db_users.total_count(), 1)

        self.runner.invoke(dump_manager.importer, [archives['cbdump-reviews-all.tar.bz2']])
        self.assertEqual(db_review.get_count(), 1)
Exemplo n.º 21
0
 def setUp(self):
     super(ArtistViewsTestCase, self).setUp()
     self.reviewer = User(
         db_users.get_or_create(1,
                                "aef06569-098f-4218-a577-b413944d9493",
                                new_user_data={"display_name":
                                               u"Reviewer"}))
Exemplo n.º 22
0
def info(user_id):
    user = db_users.get_by_id(user_id)
    if not user:
        raise NotFound(
            "Can't find a user with ID: {user_id}".format(user_id=user_id))
    user = User(user)
    return render_template('user/info.html', section='info', user=user)
Exemplo n.º 23
0
def reviews(user_id):
    user_id = str(user_id)
    if current_user.is_authenticated and current_user.id == user_id:
        user = current_user
    else:
        user = db_users.get_by_id(user_id)
        if not user:
            raise NotFound(
                "Can't find a user with ID: {user_id}".format(user_id=user_id))
        user = User(user)
    page = int(request.args.get('page', default=1))
    if page < 1:
        return redirect(url_for('.reviews'))
    limit = 12
    offset = (page - 1) * limit
    reviews, count = db_review.list_reviews(
        user_id=user_id,
        sort='published_on',
        limit=limit,
        offset=offset,
        inc_hidden=current_user.is_admin(),
        inc_drafts=current_user.is_authenticated
        and current_user.id == user_id)
    return render_template('user/reviews.html',
                           section='reviews',
                           user=user,
                           reviews=reviews,
                           page=page,
                           limit=limit,
                           count=count)
Exemplo n.º 24
0
 def setUp(self):
     super(RecordingViewsTestCase, self).setUp()
     mb_recording.get_recording_by_id = MagicMock()
     mb_recording.get_recording_by_id.return_value = {
         'id':
         '442ddce2-ffa1-4865-81d2-b42c40fec7c5',
         'name':
         'Dream Come True',
         'length':
         229.0,
         'artists': [{
             'id': '164f0d73-1234-4e2c-8743-d77bf2191051',
             'name': 'Kanye West',
             'join_phrase': ' feat. '
         }, {
             'id': '75a72702-a5ef-4513-bca5-c5b944903546',
             'name': 'John Legend'
         }],
         'artist-credit-phrase':
         'Kanye West feat. John Legend'
     }
     self.user = User(
         db_users.get_or_create(1,
                                "Tester",
                                new_user_data={"display_name":
                                               "test user"}))
     self.license = db_license.create(id='Test', full_name='Test License')
Exemplo n.º 25
0
 def setUp(self):
     super(ProfileViewsTestCase, self).setUp()
     self.user = User(
         db_users.get_or_create("aef06569-098f-4218-a577-b413944d9493",
                                new_user_data={
                                    "display_name": "Tester",
                                }))
Exemplo n.º 26
0
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 = db_users.list_users(limit, offset)
    users = [User(user) for user in users]
    return jsonify(limit=limit,
                   offset=offset,
                   count=len(users),
                   users=[p.to_dict() for p in users])
Exemplo n.º 27
0
def user_entity_handler(user_id):
    """Get profile of a user with a specified UUID.

    **Request Example:**

    .. code-block:: bash

        $ curl https://critiquebrainz.org/ws/1/user/ae5a003f-292c-497e-afbd-8076e9626f2e \\
               -X GET

    **Response Example:**

    .. code-block:: json

        {
          "user": {
            "created": "Wed, 07 May 2014 14:47:03 GMT",
            "display_name": "User's Name comes here",
            "id": "ae5a003f-292c-497e-afbd-8076e9626f2e",
            "karma": 0,
            "user_type": "Noob"
          }
        }

    :resheader Content-Type: *application/json*
    """
    user = db_users.get_by_id(str(user_id))
    if not user:
        raise NotFound(
            "Can't find a user with ID: {user_id}".format(user_id=user_id))
    inc = Parser.list('uri', 'inc', User.allowed_includes, optional=True) or []
    return jsonify(user=User(user).to_dict(inc))
Exemplo n.º 28
0
def reviews(user_id):
    user_id = str(user_id)
    if current_user.is_authenticated and current_user.id == user_id:
        user = current_user
    else:
        user = db_users.get_by_id(user_id)
        if not user:
            abort(404)
        user = User(user)
    page = int(request.args.get('page', default=1))
    if page < 1:
        return redirect(url_for('.reviews'))
    limit = 12
    offset = (page - 1) * limit
    reviews, count = Review.list(user_id=user_id,
                                 sort='created',
                                 limit=limit,
                                 offset=offset,
                                 inc_hidden=current_user.is_admin(),
                                 inc_drafts=current_user.is_authenticated
                                 and current_user.id == user_id)
    return render_template('user/reviews.html',
                           section='reviews',
                           user=user,
                           reviews=reviews,
                           page=page,
                           limit=limit,
                           count=count)
Exemplo n.º 29
0
    def setUp(self):
        super(AvgRatingTestCase, self).setUp()

        self.user = User(
            db_users.get_or_create("Tester",
                                   new_user_data={
                                       "display_name": "test user",
                                   }))
        self.user_2 = User(
            db_users.get_or_create("Tester 2",
                                   new_user_data={
                                       "display_name": "test user 2",
                                   }))
        self.license = db_license.create(
            id=u'Test',
            full_name=u"Test License",
        )
Exemplo n.º 30
0
 def setUp(self):
     super(ReleaseGroupViewsTestCase, self).setUp()
     self.user = User(db_users.get_or_create(1, "Tester", new_user_data={
         "display_name": "test user",
     }))
     self.license = db_license.create(
         id='Test',
         full_name='Test License',
     )