def test_content(self): """Test pagination for repository versions.""" # Add content to Pulp, create a repo, and add content to repo. We # sample 21 contents, because with page_size set to 10, this produces 3 # pages, where the three three pages have unique combinations of values # for the "previous" and "next" links. populate_pulp(self.cfg, urljoin(FILE_MANY_FIXTURE_URL, 'PULP_MANIFEST')) sample_size = min(FILE_MANY_FIXTURE_COUNT, 21) contents = sample(self.client.get(FILE_CONTENT_PATH), sample_size) repo = self.client.post(REPO_PATH, gen_repo()) self.addCleanup(self.client.delete, repo['_href']) def add_content(): """Repeatedly pop an item from ``contents``, and add to repo.""" while True: try: content = contents.pop() self.client.post( repo['_versions_href'], {'add_content_units': [content['_href']]} ) except IndexError: break threads = tuple(Thread(target=add_content) for _ in range(8)) for thread in threads: thread.start() for thread in threads: thread.join() # Verify pagination works for getting repo versions. repo = self.client.get(repo['_href']) repo_versions = get_versions(repo, {'page_size': 10}) self.assertEqual(len(repo_versions), sample_size, repo_versions)
def test_content(self): """Test pagination for repository versions.""" # Add content to Pulp, create a repo, and add content to repo. We # sample 21 contents, because with page_size set to 10, this produces 3 # pages, where the three three pages have unique combinations of values # for the "previous" and "next" links. populate_pulp(self.cfg, urljoin(FILE_MANY_FIXTURE_URL, 'PULP_MANIFEST')) sample_size = min(FILE_MANY_FIXTURE_COUNT, 21) contents = sample(self.client.get(FILE_CONTENT_PATH), sample_size) repo = self.client.post(REPO_PATH, gen_repo()) self.addCleanup(self.client.delete, repo['_href']) def add_content(): """Repeatedly pop an item from ``contents``, and add to repo.""" while True: try: content = contents.pop() self.client.post(repo['_versions_href'], {'add_content_units': [content['_href']]}) except IndexError: break threads = tuple(Thread(target=add_content) for _ in range(8)) for thread in threads: thread.start() for thread in threads: thread.join() # Verify pagination works for getting repo versions. repo = self.client.get(repo['_href']) repo_versions = get_versions(repo, {'page_size': 10}) self.assertEqual(len(repo_versions), sample_size, repo_versions)
def setUpClass(cls): """Create class-wide variables.""" cls.cfg = config.get_config() delete_orphans(cls.cfg) populate_pulp(cls.cfg, url=FILE_LARGE_FIXTURE_MANIFEST_URL) cls.client = api.Client(cls.cfg, api.page_handler) cls.content = cls.client.get(FILE_CONTENT_PATH)
def setUpClass(cls): """Create class-wide variables. Add content to Pulp. """ cls.cfg = config.get_config() cls.client = api.Client(cls.cfg, api.json_handler) populate_pulp(cls.cfg) cls.contents = cls.client.get(FILE_CONTENT_PATH)['results']
def setUpClass(cls): """Add content to Pulp.""" cls.cfg = config.get_config() cls.client = api.Client(cls.cfg, api.json_handler) populate_pulp(cls.cfg, urljoin(FILE_LARGE_FIXTURE_URL, 'PULP_MANIFEST')) # We need at least three content units. Choosing a relatively low # number is useful, to limit how many repo versions are created, and # thus how long the test takes. cls.content = sample(cls.client.get(FILE_CONTENT_PATH)['results'], 10)
def setUpClass(cls): """Add content to Pulp.""" cls.cfg = config.get_config() cls.client = api.Client(cls.cfg, api.json_handler) populate_pulp(cls.cfg, url=FILE_LARGE_FIXTURE_MANIFEST_URL) # We need at least three content units. Choosing a relatively low # number is useful, to limit how many repo versions are created, and # thus how long the test takes. cls.content = sample(cls.client.get(FILE_CONTENT_PATH)['results'], 10)
def setUpClass(cls): """Create class-wide variables. Add content to Pulp. """ cls.cfg = config.get_config() cls.client = api.Client(cls.cfg, api.json_handler) populate_pulp(cls.cfg) cls.contents = cls.client.get(FILE_CONTENT_PATH)['results']
def setUpClass(cls): """Create class-wide variables.""" cls.cfg = config.get_config() cls.client = api.Client(cls.cfg, api.json_handler) populate_pulp(cls.cfg, url=FILE_LARGE_FIXTURE_MANIFEST_URL) cls.content = sample(cls.client.get(FILE_CONTENT_PATH)['results'], 10)