def Run(self_, args):
                # Check if mask is required for an update request.
                mask_path = update.GetMaskFieldPath(self.method)
                if mask_path:
                    mask_string = update.GetMaskString(args, self.spec,
                                                       mask_path)
                    self.spec.request.static_fields[mask_path] = mask_string

                # Check if the update is full-update, which requires a get request.
                existing_message = None
                if self.spec.update:
                    if self.spec.update.read_modify_update:
                        existing_message = self._GetExistingResource(args)

                ref, response = self._CommonRun(args, existing_message)
                if self.spec. async:
                    request_string = None
                    if ref:
                        request_string = 'Request issued for: [{{{}}}]'.format(
                            yaml_command_schema.NAME_FORMAT_KEY)
                    response = self._HandleAsync(args,
                                                 ref,
                                                 response,
                                                 request_string=request_string)

                log.UpdatedResource(self._GetDisplayName(ref, args),
                                    kind=self.resource_type)
                return self._HandleResponse(response, args)
            def Run(self_, args):
                # Check if mask is required for an update request, if required, return
                # the dotted path, e.g updateRequest.fieldMask.
                mask_path = update.GetMaskFieldPath(self.method)
                if mask_path:
                    # If user sets to disable the auto-generated field mask, set the value
                    # to the empty string instead so that custom hooks can be used.
                    if self.spec.update and self.spec.update.disable_auto_field_mask:
                        mask_string = ''
                    else:
                        mask_string = update.GetMaskString(
                            args, self.spec, mask_path)
                    self.spec.request.static_fields[mask_path] = mask_string

                # Check if the update is full-update, which requires a get request.
                existing_message = None
                if self.spec.update:
                    if self.spec.update.read_modify_update:
                        existing_message = self._GetExistingResource(args)

                ref, response = self._CommonRun(args, existing_message)
                if self.spec. async:
                    request_string = None
                    if ref:
                        request_string = 'Request issued for: [{{{}}}]'.format(
                            yaml_command_schema.NAME_FORMAT_KEY)
                    response = self._HandleAsync(args,
                                                 ref,
                                                 response,
                                                 request_string=request_string)

                log.UpdatedResource(self._GetDisplayName(ref, args),
                                    kind=self.display_resource_type)
                return self._HandleResponse(response, args)
Ejemplo n.º 3
0
 def testGetNestedFields(self, param_arr, mask_path, expected_string):
     args = parser_extensions.Namespace(_specified_args={
         'nodes': '--nodes',
         'description': '--description'
     })
     self._MakeSpec(param_arr)
     mask_string = update.GetMaskString(args, self.spec, mask_path)
     self.assertEqual(expected_string, mask_string)
Ejemplo n.º 4
0
 def testGetLabels(self, param_arr, mask_path, expected_string):
     args = parser_extensions.Namespace(_specified_args={
         'update-labels': '--update-labels',
         'set-labels': '--update-labels'
     })
     self._MakeSpec(param_arr)
     mask_string = update.GetMaskString(args, self.spec, mask_path)
     self.assertEqual(expected_string, mask_string)
Ejemplo n.º 5
0
 def testGetNegativeBooleanArgs(self, param_arr, mask_path,
                                expected_string):
     args = parser_extensions.Namespace(
         _specified_args={
             'enable-feature': '--no-enable-feature',
         })
     self._MakeSpec(param_arr)
     mask_string = update.GetMaskString(args, self.spec, mask_path)
     self.assertEqual(expected_string, mask_string)
Ejemplo n.º 6
0
 def Run(self_, args):
   if self.spec.update:
     update_spec = self.spec.update
     if update_spec.mask_field:
       mask_string = update.GetMaskString(args, self.spec)
       self.spec.request.static_fields[
           update_spec.mask_field] = mask_string
   ref, response = self._CommonRun(args)
   if self.spec.async:
     request_string = None
     if ref:
       request_string = 'Request issued for: [{{{}}}]'.format(
           yaml_command_schema.NAME_FORMAT_KEY)
     response = self._HandleAsync(
         args, ref, response, request_string=request_string)
   return self._HandleResponse(response, args)
Ejemplo n.º 7
0
    def testGetArgGroup(self):
        arg1 = mock.MagicMock(arg_name='arg1',
                              api_field='updateRequest.field1')
        arg2 = mock.MagicMock(arg_name='arg2',
                              api_field='updateRequest.field2')
        arg3 = mock.MagicMock(arg_name='arg3',
                              api_field='updateRequest.field3')
        group1 = mock.MagicMock(spec=yaml_command_schema.ArgumentGroup,
                                arguments=[arg2, arg3])
        self.spec.arguments.params = [arg1, group1]

        args = parser_extensions.Namespace(_specified_args={
            'arg1': '--arg1',
            'arg2': '--arg2',
            'arg3': '--arg3'
        })
        mask_string = update.GetMaskString(args, self.spec, 'fieldMask')
        self.assertEqual('field1,field2,field3', mask_string)