summaryrefslogtreecommitdiffstats
path: root/chrome/browser/safe_browsing/safe_browsing_testserver.py
blob: 674bf5ae01a3f3809a69f7d094dc05f8c2191a86 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/usr/bin/env python
# Copyright (c) 2012 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

"""Wraps the upstream safebrowsing_test_server.py to run in Chrome tests."""

import os
import sys

BASE_DIR = os.path.dirname(os.path.abspath(__file__))

sys.path.append(os.path.join(BASE_DIR, '..', '..', '..', 'net',
                             'tools', 'testserver'))
import testserver_base


class ServerRunner(testserver_base.TestServerRunner):
  """TestServerRunner for safebrowsing_test_server.py."""

  def create_server(self, server_data):
    sys.path.append(os.path.join(BASE_DIR, '..', '..', '..', 'third_party',
                                 'safe_browsing', 'testing'))
    import safebrowsing_test_server
    server = safebrowsing_test_server.SetupServer(
        self.options.data_file, self.options.host, self.options.port,
        opt_enforce_caching=False, opt_validate_database=True)
    print 'Safebrowsing HTTP server started on port %d...' % server.server_port
    server_data['port'] = server.server_port

    return server

  def add_options(self):
    testserver_base.TestServerRunner.add_options(self)
    self.option_parser.add_option('--data-file', dest='data_file',
                                  help='File containing safebrowsing test '
                                  'data and expectations')
    # TODO(mattm): we define an unnecessary --data-dir option because
    # BaseTestServer unconditionally sets --data-dir. This should be removed
    # when BaseTestServer is refactored to not contain all the net/
    # test_server.py specific stuff.
    self.option_parser.add_option('--data-dir', dest='data_dir',
                                  help='unused')


if __name__ == '__main__':
  sys.exit(ServerRunner().main())