def setUpClass(cls): super(ConsumerAgentPulpTest, cls).setUpClass() cls.ROLES = ROLES cls.PROFILE = PROFILE from . import ROLES as inventory_roles cls.repo, cls.importer, cls.distributor = create_yum_repo(cls.pulp, **[repo for repo in inventory_roles.repos if repo.type == 'rpm'][0]) cls.consumer = Consumer.register(cls.pulp, cls.__name__ + '_consumer') cls.binding_data = {'repo_id': cls.repo.id, 'distributor_id': cls.distributor.id} cls.log.info('instantiating agent') cls.agent = Agent(pulp_auto.handler, PROFILE=pulp_auto.handler.profile.PROFILE) cls.log.info('instantiating qpid handle') cls.qpid_handle = QpidHandle(ROLES.qpid.url, cls.consumer.id)
def setUpClass(cls): super(RegRepoFeedTest, cls).setUpClass() repo_role = [repo for repo in ROLES.repos if repo.type == 'rpm'][0].copy() repo_role.id = cls.__name__ + '_repo' # create repo cls.repo, cls.importer, [ cls.distributor ] = YumRepoFacade.from_role(repo_role).create(cls.pulp) # create consumer cls.consumer = Consumer(ROLES.consumers[0]) setattr(cls.consumer, 'cli', Cli.ready_instance(**ROLES.consumers[0]))
def setUpClass(cls): super(RegRepoNoFeedTest, cls).setUpClass() # create repo cls.repo, cls.importer, [cls.distributor] = YumRepoFacade( id=cls.__name__ + "_repo", importer=YumImporter(feed=None), distributors=[YumDistributor(relative_url='foo')]).create(cls.pulp) # create consumer cls.consumer = Consumer(ROLES.consumers[0]) setattr(cls.consumer, 'cli', Cli.ready_instance(**ROLES.consumers[0])) # rpm cls.rpm_url_pike = 'https://repos.fedorapeople.org/repos/pulp/pulp/demo_repos/zoo/pike-2.2-1.noarch.rpm'
def setUpClass(cls): super(RegRepoCopyTest, cls).setUpClass() # create repo cls.repo1, cls.importer1, cls.distributor1 = create_yum_repo( cls.pulp, cls.__name__ + "_repo1", feed='http://repos.fedorapeople.org/repos/pulp/pulp/demo_repos/zoo/' ) cls.repo2, cls.importer2, cls.distributor2 = create_yum_repo( cls.pulp, cls.__name__ + "_repo2", feed=None) # create consumer cls.consumer = Consumer(ROLES.consumers[0]) setattr(cls.consumer, 'cli', Cli.ready_instance(**ROLES.consumers[0]))
def setUpClass(cls): super(ConsumerAuthTest, cls).setUpClass() cls.ROLES = ROLES cls.PROFILE = PROFILE cls.rsa_primary = RSA.load_key('/usr/share/pulp_auto/tests/data/fake-consumer.pem') cls.rsa_secondary = RSA.load_key('/usr/share/pulp_auto/tests/data/fake-consumer-secondary.pem') bio_fd = BIO.MemoryBuffer() cls.rsa_primary.save_pub_key_bio(bio_fd) cls.pub_pem_primary = bio_fd.getvalue() bio_fd = BIO.MemoryBuffer() cls.rsa_secondary.save_pub_key_bio(bio_fd) cls.pub_pem_secondary = bio_fd.getvalue() cls.repo, cls.importer, cls.distributor = create_yum_repo(cls.pulp, **[repo for repo in cls.ROLES.repos if repo.type == 'rpm'][0]) cls.consumer = Consumer.register(cls.pulp, cls.__name__ + '_consumer', rsa_pub=cls.pub_pem_primary) cls.agent = Agent(pulp_auto.handler, PROFILE=pulp_auto.handler.profile.PROFILE) cls.qpid_handle = QpidHandle(cls.ROLES.qpid.url, cls.consumer.id, auth=Authenticator(signing_key=cls.rsa_primary, verifying_key=cls.pulp.pubkey))
def setUpClass(cls): super(ConsumerAgentPulpTest, cls).setUpClass() cls.ROLES = ROLES cls.PROFILE = PROFILE from . import ROLES as inventory_roles cls.repo, cls.importer, cls.distributor = create_yum_repo(cls.pulp, **[repo for repo in inventory_roles.repos if repo.type == 'rpm'][0]) cls.rsa = RSA.load_key('./tests/data/fake-consumer.pem') bio_fd = BIO.MemoryBuffer() cls.rsa.save_pub_key_bio(bio_fd) cls.rsa_pub_pem = bio_fd.getvalue() cls.consumer = Consumer.register(cls.pulp, cls.__name__ + '_consumer', rsa_pub=cls.rsa_pub_pem) #cls.binding_data = {'repo_id': cls.repo.id, 'distributor_id': cls.distributor.id} cls.log.info('instantiating agent') cls.agent = Agent(pulp_auto.handler, PROFILE=pulp_auto.handler.profile.PROFILE) cls.log.info('instantiating qpid handle') cls.qpid_handle = QpidHandle(ROLES.qpid.url, cls.consumer.id, auth=Authenticator(signing_key=cls.rsa, verifying_key=cls.pulp.pubkey))
def setUpClass(cls): super(RegRepoCopyTest, cls).setUpClass() # create repo repo_role = [repo for repo in ROLES.repos if repo.type == 'rpm'][0].copy() repo_role.id = cls.__name__ + '_repo1' cls.repo1, cls.importer1, [ cls.distributor1 ] = YumRepoFacade.from_role(repo_role).create(cls.pulp) cls.repo2, cls.importer2, [cls.distributor2] = YumRepoFacade( id=cls.__name__ + '_repo2', importer=YumImporter(feed=None), distributors=[YumDistributor(relative_url='xyz')]).create(cls.pulp) # create consumer cls.consumer = Consumer(ROLES.consumers[0]) setattr(cls.consumer, 'cli', Cli.ready_instance(**ROLES.consumers[0]))
def run(url, consumer_name, reporting, polling_frequency, key_file, pulp_url, register): from gevent import monkey monkey.patch_all(select=False, thread=False) if not pulp_url: # use http://admin:admin@<host part from amqp url>/" amqp_url = urllib3.util.parse_url(url) pulp_url = 'https://*****:*****@' + amqp_url.host + '/' rsa = None pem = "" if key_file: # load rsa and set-up authentication rsa = RSA.load_key(key_file) bio_fd = BIO.MemoryBuffer() rsa.save_pub_key_bio(bio_fd) pem = bio_fd.getvalue() pulp = Pulp(pulp_url) consumer = None if register: consumer = Consumer.register(pulp, consumer_name, rsa_pub=pem) log.info("registered: " + str(consumer)) qh = QpidHandle(url, consumer_name, authenticator=Authenticator(signing_key=rsa, verifying_key=pulp.pubkey)) a = Agent(pulp_auto.handler, PROFILE=PROFILE) ### try: with a.catching(reporting), a.running(qh): while True: try: time.sleep(1.0/polling_frequency) except KeyboardInterrupt: if consumer: log.info("unregistered: " + str(consumer.delete(pulp))) break except Exception as e: pass
def test_01_api_registered_consumer(self): # assert the cli registration worked in API Consumer.get(self.pulp, self.consumer_cli.consumer_id) self.assertPulpOK()
def test_04_check_binding_removed_1080626(self): #https://bugzilla.redhat.com/show_bug.cgi?id=1080626 # Consumers are not unbounded when repository is deleted consumer = Consumer.get(self.pulp, self.consumer.id, params={"bindings": True}) self.assertEqual(consumer.data["bindings"], [])
def test_01_api_registered_consumer(self): # assert the cli registration worked in API with self.pulp.asserting(True): for consumer in self.consumers: Consumer.get(self.pulp, consumer.cli.consumer_id)
def test_03_api_registered_consumer(self): # assert the cli registration worked in API with self.pulp.asserting(True): Consumer.get(self.pulp, self.consumer.cli.consumer_id)
def test_04_check_binding_removed_1081030(self): #https://bugzilla.redhat.com/show_bug.cgi?id=1081030 # Consumers are not unbounded from distributor in case of distributor's removal consumer = Consumer.get(self.pulp, self.consumer.id, params={"bindings": True}) self.assertEqual(consumer.data["bindings"], [])