/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_smart.py

  • Committer: Martin
  • Date: 2011-01-26 20:02:52 UTC
  • mfrom: (5633 +trunk)
  • mto: This revision was merged to the branch mainline in revision 5634.
  • Revision ID: gzlist@googlemail.com-20110126200252-s4yy1eywfgomxup7
Merge bzr.dev to add release notes for 2.4

Show diffs side-by-side

added added

removed removed

Lines of Context:
41
41
    repository as smart_repo,
42
42
    packrepository as smart_packrepo,
43
43
    request as smart_req,
 
44
    server,
44
45
    vfs,
45
46
    )
46
47
from bzrlib.tests import test_server
1469
1470
            request.execute('stacked', 1, (3, r3)))
1470
1471
 
1471
1472
 
1472
 
class TestSmartServerRepositoryGetStream(tests.TestCaseWithMemoryTransport):
 
1473
class GetStreamTestBase(tests.TestCaseWithMemoryTransport):
1473
1474
 
1474
1475
    def make_two_commit_repo(self):
1475
1476
        tree = self.make_branch_and_memory_tree('.')
1481
1482
        repo = tree.branch.repository
1482
1483
        return repo, r1, r2
1483
1484
 
 
1485
 
 
1486
class TestSmartServerRepositoryGetStream(GetStreamTestBase):
 
1487
 
1484
1488
    def test_ancestry_of(self):
1485
1489
        """The search argument may be a 'ancestry-of' some heads'."""
1486
1490
        backing = self.get_transport()
1507
1511
        stream_bytes = ''.join(response.body_stream)
1508
1512
        self.assertStartsWith(stream_bytes, 'Bazaar pack format 1')
1509
1513
 
 
1514
    def test_search_everything(self):
 
1515
        """A search of 'everything' returns a stream."""
 
1516
        backing = self.get_transport()
 
1517
        request = smart_repo.SmartServerRepositoryGetStream_1_19(backing)
 
1518
        repo, r1, r2 = self.make_two_commit_repo()
 
1519
        serialised_fetch_spec = 'everything'
 
1520
        request.execute('', repo._format.network_name())
 
1521
        response = request.do_body(serialised_fetch_spec)
 
1522
        self.assertEqual(('ok',), response.args)
 
1523
        stream_bytes = ''.join(response.body_stream)
 
1524
        self.assertStartsWith(stream_bytes, 'Bazaar pack format 1')
 
1525
 
1510
1526
 
1511
1527
class TestSmartServerRequestHasRevision(tests.TestCaseWithMemoryTransport):
1512
1528
 
1906
1922
            smart_repo.SmartServerRepositoryGetRevisionGraph)
1907
1923
        self.assertHandlerEqual('Repository.get_stream',
1908
1924
            smart_repo.SmartServerRepositoryGetStream)
 
1925
        self.assertHandlerEqual('Repository.get_stream_1.19',
 
1926
            smart_repo.SmartServerRepositoryGetStream_1_19)
1909
1927
        self.assertHandlerEqual('Repository.has_revision',
1910
1928
            smart_repo.SmartServerRequestHasRevision)
1911
1929
        self.assertHandlerEqual('Repository.insert_stream',
1922
1940
            smart_repo.SmartServerRepositoryUnlock)
1923
1941
        self.assertHandlerEqual('Transport.is_readonly',
1924
1942
            smart_req.SmartServerIsReadonly)
 
1943
 
 
1944
 
 
1945
class SmartTCPServerHookTests(tests.TestCaseWithMemoryTransport):
 
1946
    """Tests for SmartTCPServer hooks."""
 
1947
 
 
1948
    def setUp(self):
 
1949
        super(SmartTCPServerHookTests, self).setUp()
 
1950
        self.server = server.SmartTCPServer(self.get_transport())
 
1951
 
 
1952
    def test_run_server_started_hooks(self):
 
1953
        """Test the server started hooks get fired properly."""
 
1954
        started_calls = []
 
1955
        server.SmartTCPServer.hooks.install_named_hook('server_started',
 
1956
            lambda backing_urls, url: started_calls.append((backing_urls, url)),
 
1957
            None)
 
1958
        started_ex_calls = []
 
1959
        server.SmartTCPServer.hooks.install_named_hook('server_started_ex',
 
1960
            lambda backing_urls, url: started_ex_calls.append((backing_urls, url)),
 
1961
            None)
 
1962
        self.server._sockname = ('example.com', 42)
 
1963
        self.server.run_server_started_hooks()
 
1964
        self.assertEquals(started_calls,
 
1965
            [([self.get_transport().base], 'bzr://example.com:42/')])
 
1966
        self.assertEquals(started_ex_calls,
 
1967
            [([self.get_transport().base], self.server)])
 
1968
 
 
1969
    def test_run_server_started_hooks_ipv6(self):
 
1970
        """Test that socknames can contain 4-tuples."""
 
1971
        self.server._sockname = ('::', 42, 0, 0)
 
1972
        started_calls = []
 
1973
        server.SmartTCPServer.hooks.install_named_hook('server_started',
 
1974
            lambda backing_urls, url: started_calls.append((backing_urls, url)),
 
1975
            None)
 
1976
        self.server.run_server_started_hooks()
 
1977
        self.assertEquals(started_calls,
 
1978
                [([self.get_transport().base], 'bzr://:::42/')])
 
1979
 
 
1980
    def test_run_server_stopped_hooks(self):
 
1981
        """Test the server stopped hooks."""
 
1982
        self.server._sockname = ('example.com', 42)
 
1983
        stopped_calls = []
 
1984
        server.SmartTCPServer.hooks.install_named_hook('server_stopped',
 
1985
            lambda backing_urls, url: stopped_calls.append((backing_urls, url)),
 
1986
            None)
 
1987
        self.server.run_server_stopped_hooks()
 
1988
        self.assertEquals(stopped_calls,
 
1989
            [([self.get_transport().base], 'bzr://example.com:42/')])