def test_01_package_group_create(self):
     response = self.repo1.within_repo_search(
         self.pulp,
         data={"criteria": {"type_ids": ["rpm"],"limit": 5}}
     )
     self.assertPulp(code=200)
     result = Association.from_response(response)
     rpmlist = []
     # make a list of names
     for i in range(0, len(result)):
         rpmlist.append(result[i].data['metadata']['name'])
     #create metadata for package group import
     data = package_group_metadata(self.repo1.id+"_group1", self.repo1.id, rpmlist)
     #actually upload group
     with deleting(self.pulp, Upload.create(self.pulp, data=data)) as (upload,):
         Task.wait_for_report(self.pulp, upload.import_to(self.pulp, self.repo1))
     self.assertPulp(code=200)
     #check that group is there and contains specified packages
     response = self.repo1.within_repo_search(
         self.pulp,
         data={"criteria": {"type_ids": ["package_group"],\
               "filters": {"unit": {"id": data["unit_key"]["id"]}}}}
     )
     self.assertPulp(code=200)
     result = Association.from_response(response)
     self.assertEqual(result[0].data["metadata"]["mandatory_package_names"],
                      data["unit_metadata"]["mandatory_package_names"])
    def test_02_package_group_delete(self):
        rpmlist = []
        #create metadata for package group import
        data = package_group_metadata(self.repo1.id+"_group2", self.repo1.id, rpmlist)
        #actually upload group
        with deleting(self.pulp, Upload.create(self.pulp, data=data)) as (upload,):
            Task.wait_for_report(self.pulp, upload.import_to(self.pulp, self.repo1))
        self.assertPulp(code=200)

        item={"criteria": {"type_ids": ["package_group"],\
                  "filters": {"unit": {"id": data["unit_key"]["id"]}}}}
        response = self.repo1.unassociate_units(self.pulp, item)
        self.assertPulp(code=202)
        Task.wait_for_report(self.pulp, response)
        #check that group is NOT there and contains specified packages
        response = self.repo1.within_repo_search(
            self.pulp,
            data={"criteria": {"type_ids": ["package_group"],\
                  "filters": {"unit": {"id": data["unit_key"]["id"]}}}}
        )
        self.assertPulp(code=200)
        result = Association.from_response(response)
        self.assertEqual(len(result), 0)