コード例 #1
0
 def test__disabled_component_comma_cleaning(self):
     package_repository = factory.make_PackageRepository(default=True,
                                                         components=[])
     form = PackageRepositoryForm(
         instance=package_repository,
         data={'disabled_components': ['universe,multiverse']})
     request = HttpRequest()
     request.user = factory.make_User()
     endpoint = factory.pick_choice(ENDPOINT_CHOICES)
     repo = form.save(endpoint, request)
     self.assertItemsEqual(['universe', 'multiverse'],
                           repo.disabled_components)
     form = PackageRepositoryForm(
         instance=package_repository,
         data={'disabled_components': ['universe, multiverse']})
     repo = form.save(endpoint, request)
     self.assertItemsEqual(['universe', 'multiverse'],
                           repo.disabled_components)
     form = PackageRepositoryForm(
         instance=package_repository,
         data={'disabled_components': ['universe']})
     repo = form.save(endpoint, request)
     self.assertItemsEqual(['universe'], repo.disabled_components)
コード例 #2
0
 def test_update_custom_repository(self):
     """Updates a custom repository"""
     self.become_admin()
     # Creates a repository which is not 'default'.
     package_repository = factory.make_PackageRepository()
     new_values = {
         "url": factory.make_url(scheme="http"),
         "distributions": [
             factory.make_name("distribution%d" % i) for i in range(3)
         ],
         "components": [factory.make_name("comp%d" % i) for i in range(4)],
         "arches": [
             random.choice(PackageRepository.KNOWN_ARCHES),
             random.choice(PackageRepository.KNOWN_ARCHES),
         ],
     }
     response = self.client.put(
         self.get_package_repository_uri(package_repository), new_values
     )
     self.assertEqual(
         http.client.OK, response.status_code, response.content
     )
     package_repository = reload_object(package_repository)
     self.assertAttributes(package_repository, new_values)
コード例 #3
0
 def test_update_ubuntu_mirror_fail_with_invalid_disabled_components(self):
     """Test that updating an Ubuntu mirror with invalid components fails"""
     self.become_admin()
     # Create an Ubuntu mirror without components
     package_repository = factory.make_PackageRepository(
         default=True, components=[]
     )
     new_values = {
         "url": factory.make_url(scheme="http"),
         "distributions": [
             factory.make_name("distribution%d" % i) for i in range(3)
         ],
         "disabled_components": ["universes"],
         "arches": [
             random.choice(PackageRepository.KNOWN_ARCHES),
             random.choice(PackageRepository.KNOWN_ARCHES),
         ],
     }
     response = self.client.put(
         self.get_package_repository_uri(package_repository), new_values
     )
     self.assertEqual(
         http.client.BAD_REQUEST, response.status_code, response.content
     )
コード例 #4
0
 def test_update_custom_repository_fails_if_disabled_components(self):
     """Test that updating a custom repository fails if specifying
        'disabled_components'. This is only needed when the repository
        is an Ubuntu repository"""
     self.become_admin()
     # Creates a repository which is not 'default'.
     package_repository = factory.make_PackageRepository()
     new_values = {
         'url':
         factory.make_url(scheme='http'),
         'distributions':
         [factory.make_name("distribution%d" % i) for i in range(3)],
         'components': [factory.make_name("comp%d" % i) for i in range(4)],
         'disabled_components':
         [factory.make_name("comp%d" % i) for i in range(4)],
         'arches': [
             random.choice(PackageRepository.KNOWN_ARCHES),
             random.choice(PackageRepository.KNOWN_ARCHES),
         ]
     }
     response = self.client.put(
         self.get_package_repository_uri(package_repository), new_values)
     self.assertEqual(http.client.BAD_REQUEST, response.status_code,
                      response.content)
コード例 #5
0
 def test_update_ubuntu_mirror(self):
     """Updates a Ubuntu mirror"""
     self.become_admin()
     # Create an Ubuntu mirror without components
     package_repository = factory.make_PackageRepository(default=True,
                                                         components=[])
     new_values = {
         'url':
         factory.make_url(scheme='http'),
         'distributions':
         [factory.make_name("distribution%d" % i) for i in range(3)],
         'disabled_pockets': ["updates", "security"],
         'disabled_components': ["universe", "multiverse"],
         'arches': [
             random.choice(PackageRepository.KNOWN_ARCHES),
             random.choice(PackageRepository.KNOWN_ARCHES),
         ]
     }
     response = self.client.put(
         self.get_package_repository_uri(package_repository), new_values)
     self.assertEqual(http.client.OK, response.status_code,
                      response.content)
     package_repository = reload_object(package_repository)
     self.assertAttributes(package_repository, new_values)
コード例 #6
0
 def create_package_repository(self, params=None):
     if params is None:
         params = {}
     return factory.make_PackageRepository(**params)
コード例 #7
0
 def test_handler_path(self):
     package_repository = factory.make_PackageRepository()
     self.assertEqual(
         "/MAAS/api/2.0/package-repositories/%s/" % package_repository.id,
         self.get_package_repository_uri(package_repository),
     )
コード例 #8
0
 def test_create_package_repository_url(self):
     # PackageRepository contains a URLOrPPAField. Make one with URL.
     url = factory.make_url(scheme="http")
     factory.make_PackageRepository(url=url)
コード例 #9
0
ファイル: test_fields.py プロジェクト: zeronewb/maas
 def test_create_package_repository_ppa(self):
     # PackageRepository contains a URLOrPPAField. Make one with PPA.
     ppa_url = 'ppa:%s/%s' % (
         factory.make_hostname(), factory.make_hostname())
     factory.make_PackageRepository(url=ppa_url)