Home | History | Annotate | Download | only in safe_browsing
      1 #!/usr/bin/env python
      2 # Copyright 2013 The Chromium Authors. All rights reserved.
      3 # Use of this source code is governed by a BSD-style license that can be
      4 # found in the LICENSE file.
      5 
      6 """Wraps the upstream safebrowsing_test_server.py to run in Chrome tests."""
      7 
      8 import os
      9 import sys
     10 
     11 BASE_DIR = os.path.dirname(os.path.abspath(__file__))
     12 
     13 sys.path.append(os.path.join(BASE_DIR, '..', '..', '..', 'net',
     14                              'tools', 'testserver'))
     15 import testserver_base
     16 
     17 
     18 class ServerRunner(testserver_base.TestServerRunner):
     19   """TestServerRunner for safebrowsing_test_server.py."""
     20 
     21   def create_server(self, server_data):
     22     sys.path.append(os.path.join(BASE_DIR, '..', '..', '..', 'third_party',
     23                                  'safe_browsing', 'testing'))
     24     import safebrowsing_test_server
     25     server = safebrowsing_test_server.SetupServer(
     26         self.options.data_file, self.options.host, self.options.port,
     27         opt_enforce_caching=False, opt_validate_database=True)
     28     print 'Safebrowsing HTTP server started on port %d...' % server.server_port
     29     server_data['port'] = server.server_port
     30 
     31     return server
     32 
     33   def add_options(self):
     34     testserver_base.TestServerRunner.add_options(self)
     35     self.option_parser.add_option('--data-file', dest='data_file',
     36                                   help='File containing safebrowsing test '
     37                                   'data and expectations')
     38 
     39 
     40 if __name__ == '__main__':
     41   sys.exit(ServerRunner().main())
     42