def test_create_branch_directory_services(self): branch = self.make_branch('branch') tree = branch.create_checkout('tree', lightweight=True) class FooLookup(object): def look_up(self, name, url): return 'foo-'+name directories.register('foo:', FooLookup, 'Create branches named foo-') self.addCleanup(directories.remove, 'foo:') self.run_bzr('switch -b foo:branch2', working_dir='tree') tree = WorkingTree.open('tree') self.assertEndsWith(tree.branch.base, 'foo-branch2/')
def setUp(self): """Set up the test environment.""" super(BranchTestCase, self).setUp() register_urlparse_netloc_protocol('lp') directories.register('lp:', TarmacDirectoryFactory(self.TEST_ROOT), 'Fake factory for lp: urls', override_existing=True) self.branch1, self.branch2 = self.make_two_branches_to_merge()
def test_create_branch_directory_services(self): branch = self.make_branch('branch') tree = branch.create_checkout('tree', lightweight=True) class FooLookup(object): def look_up(self, name, url): return 'foo-' + name directories.register('foo:', FooLookup, 'Create branches named foo-') self.addCleanup(directories.remove, 'foo:') self.run_bzr('switch -b foo:branch2', working_dir='tree') tree = WorkingTree.open('tree') self.assertEndsWith(tree.branch.base, 'foo-branch2/')
def test_pull_from_directory_service(self): source = self.make_branch_and_tree('source') source.commit('commit 1') target = source.bzrdir.sprout('target').open_workingtree() source_last = source.commit('commit 2') class FooService(object): """A directory service that always returns source""" def look_up(self, name, url): return 'source' directories.register('foo:', FooService, 'Testing directory service') self.addCleanup(directories.remove, 'foo:') self.run_bzr('pull foo:bar -d target') self.assertEqual(source_last, target.last_revision())
def test_directory_open_branch(self): # Test that opening an lp: branch redirects to the real location. target_branch = self.make_branch('target') class FooService(object): """A directory service that maps the name to a FILE url""" def look_up(self, name, url): if 'lp:///apt' == url: return target_branch.base.rstrip('/') return '!unexpected look_up value!' directories.remove('lp:') directories.register('lp:', FooService, 'Map lp URLs to local urls') self.addCleanup(_register_directory) self.addCleanup(lambda: directories.remove('lp:')) transport = get_transport('lp:///apt') branch = Branch.open_from_transport(transport) self.assertEqual(target_branch.base, branch.base)
def test_get_transport(self): directories.register('foo:', FooService, 'Map foo URLs to http urls') self.addCleanup(directories.remove, 'foo:') self.assertEqual(FooService.base + 'bar/', transport.get_transport('foo:bar').base)
def test_get_transport(self): directories.register('foo:', FooService, 'Map foo URLs to http urls') self.addCleanup(lambda: directories.remove('foo:')) self.assertEqual('file:///foobar/', get_transport('foo:bar').base)
provider = provider_class() for name, (source, url) in provider.get_bookmarks().items(): bookmarks.setdefault(source, {})[name] = url for source, items in sorted(bookmarks.items()): self.outf.write('%s:\n' % (source,)) for name, url in sorted(items.items()): self.outf.write(' %-20s %s\n' % (name, url)) # Don't run any tests on BookmarkTransport as it is not intended to be # a full implementation of Transport, just redirects. def get_test_permutations(): return [] try: from bzrlib.directory_service import directories directories.register( 'bookmark:', BookmarkDirectory) directories.register( 'bm:', BookmarkDirectory) except ImportError: register_transport( 'bookmark:', bookmark_transport_indirect) register_transport( 'bm:', bookmark_transport_indirect) register_command(cmd_bookmark) register_command(cmd_bookmarks)
def test_directory(self): directories.register("bar:", SomeDirectory, "Dummy directory") self.addCleanup(directories.remove, "bar:") self.assertEquals("http://bar", location_to_url("bar:"))
def run(self): providers = [LocationBookmarkProvider, GlobalBookmarkProvider] bookmarks = {} for provider_class in providers: provider = provider_class() for name, (source, url) in provider.get_bookmarks().items(): bookmarks.setdefault(source, {})[name] = url for source, items in sorted(bookmarks.items()): self.outf.write('%s:\n' % (source, )) for name, url in sorted(items.items()): self.outf.write(' %-20s %s\n' % (name, url)) # Don't run any tests on BookmarkTransport as it is not intended to be # a full implementation of Transport, just redirects. def get_test_permutations(): return [] try: from bzrlib.directory_service import directories directories.register('bookmark:', BookmarkDirectory) directories.register('bm:', BookmarkDirectory) except ImportError: register_transport('bookmark:', bookmark_transport_indirect) register_transport('bm:', bookmark_transport_indirect) register_command(cmd_bookmark) register_command(cmd_bookmarks)
def test_directory(self): directories.register("bar:", SomeDirectory, "Dummy directory") self.addCleanup(directories.remove, "bar:") self.assertEqual("http://bar", location_to_url("bar:"))