Esempio n. 1
0
 def testParseCreateTaskArgs_Oidc(self):
     expected_config = _BETA_MESSAGES_MODULE.Task()
     schedule_time = self.schedule_time
     expected_config.scheduleTime = schedule_time
     http_method = _BETA_MESSAGES_MODULE.HttpRequest.HttpMethodValueValuesEnum(
         'POST')
     expected_config.httpRequest = (_BETA_MESSAGES_MODULE.HttpRequest(
         httpMethod=http_method,
         url='http://somehost.com/paths/a/',
         oidcToken=_BETA_MESSAGES_MODULE.OidcToken(
             serviceAccountEmail='*****@*****.**',
             audience='some-audience')))
     args = self.parser.parse_args([
         '--schedule-time={}'.format(schedule_time), '--method=POST',
         'my-task', '--queue=queue_name',
         '--url=http://somehost.com/paths/a/',
         '[email protected]',
         '--oidc-token-audience=some-audience'
     ])
     actual_config = parsers.ParseCreateTaskArgs(
         args,
         constants.HTTP_TASK,
         _BETA_MESSAGES_MODULE,
         release_track=base.ReleaseTrack.BETA)
     self.assertEqual(actual_config, expected_config)
Esempio n. 2
0
 def testParseCreateTaskArgs_AllArgs_PayloadFile(self):
     expected_config = _BETA_MESSAGES_MODULE.Task()
     schedule_time = self.schedule_time
     expected_config.scheduleTime = schedule_time
     http_method = _BETA_MESSAGES_MODULE.HttpRequest.HttpMethodValueValuesEnum(
         'POST')
     expected_config.httpRequest = (_BETA_MESSAGES_MODULE.HttpRequest(
         headers=encoding.DictToAdditionalPropertyMessage(
             {
                 'header1': 'value1',
                 'header2': 'value2'
             }, _BETA_MESSAGES_MODULE.HttpRequest.HeadersValue),
         httpMethod=http_method,
         body=b'body',
         url='http://somehost.com/paths/a/'))
     self.Touch(self.temp_path, 'body.txt', contents='body')
     payload_file = os.path.join(self.temp_path, 'body.txt')
     args = self.parser.parse_args([
         '--schedule-time={}'.format(schedule_time),
         '--body-file={}'.format(payload_file),
         '--method=POST',
         'my-task',
         '--queue=queue_id',
         '--url=http://somehost.com/paths/a/',
         '--header=header1:value1',
         '--header=header2:value2',
     ])
     actual_config = parsers.ParseCreateTaskArgs(
         args,
         constants.HTTP_TASK,
         _BETA_MESSAGES_MODULE,
         release_track=base.ReleaseTrack.BETA)
     self.assertEqual(actual_config, expected_config)
Esempio n. 3
0
 def testParseCreateTaskArgs_AllArgs_PayloadFile(self):
     expected_config = _MESSAGES_MODULE.Task()
     schedule_time = self.schedule_time
     expected_config.scheduleTime = schedule_time
     http_method = (_MESSAGES_MODULE.AppEngineHttpRequest.
                    HttpMethodValueValuesEnum('POST'))
     expected_config.appEngineHttpRequest = (
         _MESSAGES_MODULE.AppEngineHttpRequest(
             appEngineRouting=_MESSAGES_MODULE.AppEngineRouting(
                 service='abc'),
             headers=encoding.DictToAdditionalPropertyMessage(
                 {
                     'header1': 'value1',
                     'header2': 'value2'
                 }, _MESSAGES_MODULE.AppEngineHttpRequest.HeadersValue),
             httpMethod=http_method,
             body=b'body',
             relativeUri='/paths/a/'))
     self.Touch(self.temp_path, 'body.txt', contents='body')
     payload_file = os.path.join(self.temp_path, 'body.txt')
     args = self.parser.parse_args([
         '--schedule-time={}'.format(schedule_time),
         '--body-file={}'.format(payload_file), '--method=POST', 'my-task',
         '--queue=queue_id', '--relative-uri=/paths/a/',
         '--header=header1:value1', '--header=header2:value2',
         '--routing=service:abc'
     ])
     actual_config = parsers.ParseCreateTaskArgs(args,
                                                 constants.APP_ENGINE_TASK,
                                                 _MESSAGES_MODULE)
     self.assertEqual(actual_config, expected_config)
Esempio n. 4
0
 def Run(self, args):
   tasks_client = tasks.Tasks()
   queue_ref = parsers.ParseQueue(args.queue)
   task_ref = parsers.ParseTask(args.id, queue_ref) if args.id else None
   task_config = parsers.ParseCreateTaskArgs(
       args, constants.APP_ENGINE_QUEUE, tasks_client.api.messages)
   create_response = tasks_client.Create(
       queue_ref, task_ref,
       schedule_time=task_config.scheduleTime,
       app_engine_http_request=task_config.appEngineHttpRequest)
   log.CreatedResource(create_response.name, 'task')
   return create_response
 def Run(self, args):
     tasks_client = tasks.Tasks()
     queue_ref = parsers.ParseQueue(args.queue, args.location)
     task_ref = parsers.ParseTask(args.id, queue_ref) if args.id else None
     task_config = parsers.ParseCreateTaskArgs(args, constants.PULL_QUEUE,
                                               tasks_client.api.messages)
     create_response = tasks_client.Create(
         queue_ref,
         task_ref,
         schedule_time=task_config.scheduleTime,
         pull_message=task_config.pullMessage)
     log.CreatedResource(create_response.name, 'task')
     return create_response
Esempio n. 6
0
 def Run(self, args):
   api = GetApiAdapter(self.ReleaseTrack())
   tasks_client = api.tasks
   queue_ref = parsers.ParseQueue(args.queue, args.location)
   task_ref = parsers.ParseTask(args.task,
                                queue_ref) if args.task else None
   task_config = parsers.ParseCreateTaskArgs(
       args, constants.PULL_QUEUE, api.messages, is_alpha=True)
   create_response = tasks_client.Create(
       queue_ref, task_ref,
       schedule_time=task_config.scheduleTime,
       pull_message=task_config.pullMessage)
   log.CreatedResource(create_response.name, 'task')
   return create_response
Esempio n. 7
0
 def Run(self, args):
     api = GetApiAdapter(self.ReleaseTrack())
     tasks_client = api.tasks
     queue_ref = parsers.ParseQueue(args.queue, args.location)
     task_ref = parsers.ParseTask(args.task,
                                  queue_ref) if args.task else None
     task_config = parsers.ParseCreateTaskArgs(args, constants.PUSH_QUEUE,
                                               api.messages)
     create_response = tasks_client.Create(
         queue_ref,
         task_ref,
         schedule_time=task_config.scheduleTime,
         app_engine_http_request=task_config.appEngineHttpRequest)
     log.CreatedResource(create_response.name, 'task')
     return create_response
Esempio n. 8
0
 def testParseCreateTaskArgs_RepeatedHeadersKey(self):
     expected_config = _MESSAGES_MODULE.Task()
     expected_config.appEngineHttpRequest = (
         _MESSAGES_MODULE.AppEngineHttpRequest(
             headers=encoding.DictToAdditionalPropertyMessage(
                 {'header': 'value2'},
                 _MESSAGES_MODULE.AppEngineHttpRequest.HeadersValue)))
     args = self.parser.parse_args([
         'my-task', '--queue=queue_id', '--header=header:value1',
         '--header=header:value2'
     ])
     actual_config = parsers.ParseCreateTaskArgs(args,
                                                 constants.APP_ENGINE_TASK,
                                                 _MESSAGES_MODULE)
     self.assertEqual(actual_config, expected_config)
Esempio n. 9
0
 def testParseCreateTaskArgs_AllArgs_PayloadContent(self):
     expected_config = _ALPHA_MESSAGES_MODULE.Task()
     schedule_time = self.schedule_time
     expected_config.scheduleTime = schedule_time
     expected_config.pullMessage = _ALPHA_MESSAGES_MODULE.PullMessage(
         tag='tag', payload=b'payload')
     args = self.parser.parse_args([
         '--schedule-time={}'.format(schedule_time), '--tag=tag',
         '--payload-content=payload', '--queue=queue_id', 'my-task'
     ])
     actual_config = parsers.ParseCreateTaskArgs(
         args,
         constants.PULL_TASK,
         _ALPHA_MESSAGES_MODULE,
         release_track=base.ReleaseTrack.ALPHA)
     self.assertEqual(actual_config, expected_config)
Esempio n. 10
0
 def testParseCreateTaskArgs_RepeatedHeadersKey(self):
     expected_config = _BETA_MESSAGES_MODULE.Task()
     expected_config.httpRequest = (_BETA_MESSAGES_MODULE.HttpRequest(
         headers=encoding.DictToAdditionalPropertyMessage(
             {'header': 'value2'},
             _BETA_MESSAGES_MODULE.HttpRequest.HeadersValue),
         url='http://somehost.com/paths/a/'))
     args = self.parser.parse_args([
         'my-task', '--queue=queue_id', '--header=header:value1',
         '--header=header:value2', '--url=http://somehost.com/paths/a/'
     ])
     actual_config = parsers.ParseCreateTaskArgs(
         args,
         constants.HTTP_TASK,
         _BETA_MESSAGES_MODULE,
         release_track=base.ReleaseTrack.BETA)
     self.assertEqual(actual_config, expected_config)
Esempio n. 11
0
 def testParseCreateTaskArgs_AllArgs_PayloadFile(self):
     expected_config = _ALPHA_MESSAGES_MODULE.Task()
     schedule_time = self.schedule_time
     expected_config.scheduleTime = schedule_time
     expected_config.pullMessage = _ALPHA_MESSAGES_MODULE.PullMessage(
         tag='tag', payload=b'payload')
     self.Touch(self.temp_path, 'payload.txt', contents='payload')
     payload_file = os.path.join(self.temp_path, 'payload.txt')
     args = self.parser.parse_args([
         '--schedule-time={}'.format(schedule_time), '--tag=tag',
         '--queue=queue_name', 'my-task',
         '--payload-file={}'.format(payload_file)
     ])
     actual_config = parsers.ParseCreateTaskArgs(
         args,
         constants.PULL_TASK,
         _ALPHA_MESSAGES_MODULE,
         release_track=base.ReleaseTrack.ALPHA)
     self.assertEqual(actual_config, expected_config)
Esempio n. 12
0
  def Run(self, args):
    if self.ReleaseTrack() == base.ReleaseTrack.ALPHA:
      # This functionality doesn't exist in the alpha API so use beta.
      api_release_track = base.ReleaseTrack.BETA
    else:
      api_release_track = self.ReleaseTrack()

    api = GetApiAdapter(api_release_track)
    tasks_client = api.tasks
    queue_ref = parsers.ParseQueue(args.queue, args.location)
    task_ref = parsers.ParseTask(args.task,
                                 queue_ref) if args.task else None
    task_config = parsers.ParseCreateTaskArgs(
        args, constants.HTTP_TASK, api.messages,
        release_track=api_release_track)
    create_response = tasks_client.Create(
        queue_ref, task_ref,
        schedule_time=task_config.scheduleTime,
        http_request=task_config.httpRequest)
    log.CreatedResource(create_response.name, 'task')
    return create_response