Example #1
0
 def setUp(self):
     super(ClientApiTest, self).setUp()
     # By default requests in tests are coming from bot with fake IP.
     routes = handlers_bot.get_routes() + handlers_api.get_routes()
     app = webapp2.WSGIApplication(routes, debug=True)
     self.app = webtest.TestApp(
         app, extra_environ={"REMOTE_ADDR": self.source_ip, "SERVER_SOFTWARE": os.environ["SERVER_SOFTWARE"]}
     )
     self.mock(ereporter2, "log_request", lambda *args, **kwargs: self.fail("%s, %s" % (args, kwargs)))
     # Client API test cases run by default as user.
     self.set_as_user()
Example #2
0
def create_application(debug):
  template.bootstrap()
  utils.set_task_queue_module('default')

  routes = [
      # Frontend pages. They return HTML.
      # Public pages.
      ('/', RootHandler),
      ('/stats', stats_gviz.StatsSummaryHandler),

      # User pages.
      ('/user/tasks', TasksHandler),
      ('/user/task/<task_id:[0-9a-fA-F]+>', TaskHandler),
      ('/user/task/<task_id:[0-9a-fA-F]+>/retry', TaskRetryHandler),
      ('/user/tasks/cancel', TaskCancelHandler),

      # Privileged user pages.
      ('/restricted/bots', BotsListHandler),
      ('/restricted/bot/<bot_id:[^/]+>', BotHandler),
      ('/restricted/bot/<bot_id:[^/]+>/delete', BotDeleteHandler),

      # Admin pages.
      ('/restricted/config', RestrictedConfigHandler),
      ('/restricted/upload/bot_config', UploadBotConfigHandler),
      ('/restricted/upload/bootstrap', UploadBootstrapHandler),

      # Mapreduce related urls.
      (r'/restricted/launch_mapreduce', RestrictedLaunchMapReduceJob),

      # The new APIs:
      ('/swarming/api/v1/stats/summary/<resolution:[a-z]+>',
        stats_gviz.StatsGvizSummaryHandler),
      ('/swarming/api/v1/stats/dimensions/<dimensions:.+>/<resolution:[a-z]+>',
        stats_gviz.StatsGvizDimensionsHandler),

      ('/_ah/mail/<to:.+>', EmailHandler),
      ('/_ah/warmup', WarmupHandler),
  ]
  routes = [webapp2.Route(*i) for i in routes]

  # If running on a local dev server, allow bots to connect without prior
  # groups configuration. Useful when running smoke test.
  if utils.is_local_dev_server():
    acl.bootstrap_dev_server_acls()

  # TODO(maruel): Split backend into a separate module. For now add routes here.
  routes.extend(handlers_backend.get_routes())
  routes.extend(handlers_api.get_routes())
  routes.extend(handlers_bot.get_routes())

  return webapp2.WSGIApplication(routes, debug=debug)
Example #3
0
def create_application(debug):
    template.bootstrap()
    utils.set_task_queue_module('default')

    routes = [
        # Frontend pages. They return HTML.
        # Public pages.
        ('/', RootHandler),
        ('/stats', stats_gviz.StatsSummaryHandler),

        # User pages.
        ('/user/tasks', TasksHandler),
        ('/user/task/<task_id:[0-9a-fA-F]+>', TaskHandler),
        ('/user/task/<task_id:[0-9a-fA-F]+>/retry', TaskRetryHandler),
        ('/user/tasks/cancel', TaskCancelHandler),

        # Privileged user pages.
        ('/restricted/bots', BotsListHandler),
        ('/restricted/bot/<bot_id:[^/]+>', BotHandler),
        ('/restricted/bot/<bot_id:[^/]+>/delete', BotDeleteHandler),

        # Admin pages.
        ('/restricted/config', RestrictedConfigHandler),
        ('/restricted/upload/bot_config', UploadBotConfigHandler),
        ('/restricted/upload/bootstrap', UploadBootstrapHandler),

        # Mapreduce related urls.
        (r'/restricted/launch_mapreduce', RestrictedLaunchMapReduceJob),

        # The new APIs:
        ('/swarming/api/v1/stats/summary/<resolution:[a-z]+>',
         stats_gviz.StatsGvizSummaryHandler),
        ('/swarming/api/v1/stats/dimensions/<dimensions:.+>/<resolution:[a-z]+>',
         stats_gviz.StatsGvizDimensionsHandler),
        ('/_ah/mail/<to:.+>', EmailHandler),
        ('/_ah/warmup', WarmupHandler),
    ]
    routes = [webapp2.Route(*i) for i in routes]

    # If running on a local dev server, allow bots to connect without prior
    # groups configuration. Useful when running smoke test.
    if utils.is_local_dev_server():
        acl.bootstrap_dev_server_acls()

    # TODO(maruel): Split backend into a separate module. For now add routes here.
    routes.extend(handlers_backend.get_routes())
    routes.extend(handlers_api.get_routes())
    routes.extend(handlers_bot.get_routes())

    return webapp2.WSGIApplication(routes, debug=debug)
Example #4
0
def create_application(debug):
    """Creates the url router.

  The basic layouts is as follow:
  - /restricted/.* requires being an instance administrator.
  - /content/.* has the public HTTP API.
  - /stats/.* has statistics.
  """
    acl.bootstrap()
    template.bootstrap()

    routes = get_routes()
    routes.extend(handlers_api.get_routes())

    return webapp2.WSGIApplication(routes, debug=debug)
Example #5
0
def create_application(debug):
  """Creates the url router.

  The basic layouts is as follow:
  - /restricted/.* requires being an instance administrator.
  - /content/.* has the public HTTP API.
  - /stats/.* has statistics.
  """
  acl.bootstrap()
  template.bootstrap()

  routes = get_routes()
  routes.extend(handlers_api.get_routes())

  return webapp2.WSGIApplication(routes, debug=debug)
Example #6
0
 def setUp(self):
     super(BotApiTest, self).setUp()
     # By default requests in tests are coming from bot with fake IP.
     routes = handlers_bot.get_routes() + handlers_api.get_routes()
     app = webapp2.WSGIApplication(routes, debug=True)
     self.app = webtest.TestApp(app,
                                extra_environ={
                                    'REMOTE_ADDR':
                                    self.source_ip,
                                    'SERVER_SOFTWARE':
                                    os.environ['SERVER_SOFTWARE'],
                                })
     self.mock(ereporter2, 'log_request',
               lambda *args, **kwargs: self.fail('%s, %s' % (args, kwargs)))
     # Bot API test cases run by default as bot.
     self.set_as_bot()
Example #7
0
 def setUp(self):
   super(BotApiTest, self).setUp()
   # By default requests in tests are coming from bot with fake IP.
   routes = handlers_bot.get_routes() + handlers_api.get_routes()
   app = webapp2.WSGIApplication(routes, debug=True)
   self.app = webtest.TestApp(
       app,
       extra_environ={
         'REMOTE_ADDR': self.source_ip,
         'SERVER_SOFTWARE': os.environ['SERVER_SOFTWARE'],
       })
   self.mock(
       ereporter2, 'log_request',
       lambda *args, **kwargs: self.fail('%s, %s' % (args, kwargs)))
   # Bot API test cases run by default as bot.
   self.set_as_bot()
 def setUp(self):
     test_case.EndpointsTestCase.setUp(self)
     super(BaseTest, self).setUp()
     self.mock(auth, 'is_group_member', lambda *_args, **_kwargs: True)
     # handlers_bot is necessary to create fake tasks.
     # TODO(maruel): Get rid of handlers_api.get_routes() here. The API should be
     # self-sufficient.
     routes = handlers_bot.get_routes() + handlers_api.get_routes()
     self.app = webtest.TestApp(webapp2.WSGIApplication(routes, debug=True),
                                extra_environ={
                                    'REMOTE_ADDR':
                                    self.source_ip,
                                    'SERVER_SOFTWARE':
                                    os.environ['SERVER_SOFTWARE'],
                                })
     self.mock(ereporter2, 'log_request',
               lambda *args, **kwargs: self.fail('%s, %s' % (args, kwargs)))
     # Client API test cases run by default as user.
     self.set_as_user()
 def setUp(self):
   test_case.EndpointsTestCase.setUp(self)
   super(BaseTest, self).setUp()
   self.mock(auth, 'is_group_member', lambda *_args, **_kwargs: True)
   # handlers_bot is necessary to create fake tasks.
   # TODO(maruel): Get rid of handlers_api.get_routes() here. The API should be
   # self-sufficient.
   routes = handlers_bot.get_routes() + handlers_api.get_routes()
   self.app = webtest.TestApp(
       webapp2.WSGIApplication(routes, debug=True),
       extra_environ={
         'REMOTE_ADDR': self.source_ip,
         'SERVER_SOFTWARE': os.environ['SERVER_SOFTWARE'],
       })
   self.mock(
       ereporter2, 'log_request',
       lambda *args, **kwargs: self.fail('%s, %s' % (args, kwargs)))
   # Client API test cases run by default as user.
   self.set_as_user()
Example #10
0
    def setUp(self):
        """Creates a new app instance for every test case."""
        super(MainTest, self).setUp()
        self.testbed.init_user_stub()

        # When called during a taskqueue, the call to get_app_version() may fail so
        # pre-fetch it.
        version = utils.get_app_version()
        self.mock(utils, 'get_task_queue_host', lambda: version)
        self.source_ip = '192.168.0.1'
        self.app_api = webtest.TestApp(
            webapp2.WSGIApplication(handlers_api.get_routes(), debug=True),
            extra_environ={'REMOTE_ADDR': self.source_ip})
        # Do not use handlers_backend.create_application() because it also
        # initializes ereporter2 cron jobs, which requires templates. We want to
        # make sure templates are not needed for APIs.
        self.app_backend = webtest.TestApp(
            webapp2.WSGIApplication(handlers_backend.get_routes(), debug=True),
            extra_environ={'REMOTE_ADDR': self.source_ip})
        # Tasks are enqueued on the backend.
        self.app = self.app_backend
Example #11
0
  def setUp(self):
    """Creates a new app instance for every test case."""
    super(MainTest, self).setUp()
    self.testbed.init_user_stub()

    # When called during a taskqueue, the call to get_app_version() may fail so
    # pre-fetch it.
    version = utils.get_app_version()
    self.mock(utils, 'get_task_queue_host', lambda: version)
    self.source_ip = '192.168.0.1'
    self.app_api = webtest.TestApp(
        webapp2.WSGIApplication(handlers_api.get_routes(), debug=True),
        extra_environ={'REMOTE_ADDR': self.source_ip})
    # Do not use handlers_backend.create_application() because it also
    # initializes ereporter2 cron jobs, which requires templates. We want to
    # make sure templates are not needed for APIs.
    self.app_backend = webtest.TestApp(
        webapp2.WSGIApplication(handlers_backend.get_routes(), debug=True),
        extra_environ={'REMOTE_ADDR': self.source_ip})
    # Tasks are enqueued on the backend.
    self.app = self.app_backend