Task #3608

Updated by dalley about 6 years ago

In order to test certain things such as filtering or sync / repo version behavior, we need a richer set of test fixtures than what we currently have. 

 A completely non-binding _suggestion_ for how this could work (this may be overkill, feel free to suggest something else): work: 

 * python-pypi-xs would contain just 2-3 packages, one of each kind of packagetype, all from the same project 
 * python-pypi-sm would contain ~10 packages, perhaps mostly with weird names or old/new metadata formats 
 * python-pypi-md would contain ~50 ~25 packages from ~6 ~3 projects 
 * python-pypi-lg would contain ~100 ~50 packages from ~6 projects 
 * python-pypi-xl would contain at least a couple somewhere from several hundred (and perhaps more than 1000) to 1200 packages from lots (maybe all versions of projects django, numpy, scipy, flask) 

 It would be good to select packages to get a good breadth of options available for testing.   

 Extra-small would be for the most basic tests, and for the README. 

 Small could be for testing weird corner cases like making sure Pulp can handle weird characters in names/metadata, and metadata versions.    And also a few tests where you want to test syncing from different remotes into one repo. 

 Medium and large would be mostly for testing filtering, so it would be good to have a variety of authors, projects, packagetypes, etc. 

 Extra-large would be exclusively for performance and load testing and *not* not for normal tests.    The primary purpose of these This would avoid having being too rough with respect to use lots of PyPI resources when stress-testing Pulp.    We could also use this for performance optimization and maybe performance regression testing. resource usage. 

 (Again, all of that is a suggestion and more opinions are welcome)