예제 #1
0
 def testBadStateException_UnexpectedErrorsRaised(self, track):
   transform_manifests_mock = self.StartPatch(
       'googlecloudsdk.api_lib.container.images.util.TransformManifests')
   exception = docker_http.BadStateException('some unexpected error')
   transform_manifests_mock.side_effect = exception
   with self.assertRaises(docker_http.BadStateException):
     self.ListTags(track)
예제 #2
0
  def catalog(self, page_size=100):
    # TODO(user): Handle docker_name.Repository for /v2/<name>/_catalog
    if isinstance(self._name, docker_name.Repository):
      raise ValueError('Expected docker_name.Registry for "name"')

    url = '{scheme}://{registry}/v2/_catalog?n={page_size}'.format(
        scheme=docker_http.Scheme(self._name.registry),
        registry=self._name.registry,
        page_size=page_size)

    for _, content in self._transport.PaginatedRequest(
        url, accepted_codes=[httplib.OK]):
      wrapper_object = json.loads(content)

      if 'repositories' not in wrapper_object:
        raise docker_http.BadStateException(
            'Malformed JSON response: %s' % content)

      for repo in wrapper_object['repositories']:
        yield repo