1# Copyright (c) 2014 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5import unittest
6
7from webkitpy.layout_tests.servers import server_base
8from webkitpy.layout_tests.servers import cli_wrapper
9
10
11class MockServer(object):
12    def __init__(self, *args, **kwargs):
13        self.args = args
14        self.kwargs = kwargs
15        self.start_called = False
16        self.stop_called = False
17
18    def start(self):
19        self.start_called = True
20
21    def stop(self):
22        self.stop_called = True
23
24
25class TestCliWrapper(unittest.TestCase):
26
27    def test_main(self):
28        def mock_server_constructor(*args, **kwargs):
29            self.server = MockServer(args, kwargs)
30            return self.server
31
32        cli_wrapper.main(mock_server_constructor, input_fn=lambda msg: True, argv=[])
33        self.assertTrue(self.server.start_called)
34        self.assertTrue(self.server.stop_called)
35