def test_browse(db_request): classifiers = [ Classifier(classifier="Environment :: Other Environment"), Classifier(classifier="Development Status :: 5 - Production/Stable"), Classifier(classifier="Programming Language :: Python"), ] for classifier in classifiers: db_request.db.add(classifier) projects = [ProjectFactory.create() for _ in range(3)] releases = [] for project in projects: for _ in range(10): releases.append( ReleaseFactory.create(project=project, _classifiers=[classifiers[0]]) ) releases = sorted(releases, key=lambda x: (x.project.name, x.version)) expected_release = releases[0] expected_release._classifiers = classifiers assert set(xmlrpc.browse(db_request, ["Environment :: Other Environment"])) == { (r.project.name, r.version) for r in releases } assert set( xmlrpc.browse( db_request, [ "Environment :: Other Environment", "Development Status :: 5 - Production/Stable", ], ) ) == {(expected_release.project.name, expected_release.version)} assert set( xmlrpc.browse( db_request, [ "Environment :: Other Environment", "Development Status :: 5 - Production/Stable", "Programming Language :: Python", ], ) ) == {(expected_release.project.name, expected_release.version)} assert set( xmlrpc.browse( db_request, [ "Development Status :: 5 - Production/Stable", "Programming Language :: Python", ], ) ) == {(expected_release.project.name, expected_release.version)}