Alien-SVN
view release on metacpan or search on metacpan
src/subversion/subversion/bindings/swig/python/tests/client.py view on Meta::CPAN
self.assertEquals(client.url_from_path(path), self.repos_uri)
def test_uuid_from_path(self):
"""Test svn_client_uuid_from_path."""
rev = core.svn_opt_revision_t()
rev.kind = core.svn_opt_revision_head
path = self.temper.alloc_empty_dir('-uuid_from_path')
client.checkout2(self.repos_uri, path, rev, rev, True, True,
self.client_ctx)
wc_adm = wc.adm_open3(None, path, False, 0, None)
self.assertEquals(client.uuid_from_path(path, wc_adm, self.client_ctx),
client.uuid_from_url(self.repos_uri, self.client_ctx))
self.assert_(isinstance(client.uuid_from_path(path, wc_adm,
self.client_ctx), basestring))
def test_open_ra_session(self):
"""Test svn_client_open_ra_session()."""
client.open_ra_session(self.repos_uri, self.client_ctx)
def test_info_file(self):
"""Test svn_client_info on working copy file and remote files."""
# This test requires a file /trunk/README.txt of size 8 bytes
# in the repository.
rev = core.svn_opt_revision_t()
rev.kind = core.svn_opt_revision_head
wc_path = self.temper.alloc_empty_dir('-info_file')
client.checkout2(self.repos_uri, wc_path, rev, rev, True, True,
self.client_ctx)
adm_access = wc.adm_open3(None, wc_path, True, -1, None)
try:
# Test 1: Run info -r BASE. We expect the size value to be filled in.
rev.kind = core.svn_opt_revision_base
readme_path = '%s/trunk/README.txt' % wc_path
readme_url = '%s/trunk/README.txt' % self.repos_uri
client.info(readme_path, rev, rev, self.info_receiver,
False, self.client_ctx)
self.assertEqual(self.path, os.path.basename(readme_path))
self.info.assert_valid()
self.assertEqual(self.info.working_size, client.SWIG_SVN_INFO_SIZE_UNKNOWN)
self.assertEqual(self.info.size, 8)
# Test 2: Run info (revision unspecified). We expect the working_size value
# to be filled in.
rev.kind = core.svn_opt_revision_unspecified
client.info(readme_path, rev, rev, self.info_receiver,
False, self.client_ctx)
self.assertEqual(self.path, readme_path)
self.info.assert_valid()
self.assertEqual(self.info.size, client.SWIG_SVN_INFO_SIZE_UNKNOWN)
# README.txt contains one EOL char, so on Windows it will be expanded from
# LF to CRLF hence the working_size will be 9 instead of 8.
if os.name == 'nt':
self.assertEqual(self.info.working_size, 9)
else:
self.assertEqual(self.info.working_size, 8)
# Test 3: Run info on the repository URL of README.txt. We expect the size
# value to be filled in.
rev.kind = core.svn_opt_revision_head
client.info(readme_url, rev, rev, self.info_receiver,
False, self.client_ctx)
self.info.assert_valid()
self.assertEqual(self.info.working_size, client.SWIG_SVN_INFO_SIZE_UNKNOWN)
self.assertEqual(self.info.size, 8)
finally:
wc.adm_close(adm_access)
def test_merge_peg3(self):
"""Test svn_client_merge_peg3."""
head = core.svn_opt_revision_t()
head.kind = core.svn_opt_revision_head
wc_path = self.temper.alloc_empty_dir('-merge_peg3')
client.checkout3(self.repos_uri, wc_path, head, head, core.svn_depth_infinity,
True, False, self.client_ctx)
# Let's try to backport a change from the v1x branch
trunk_path = core.svn_dirent_join(wc_path, 'trunk')
v1x_path = core.svn_dirent_join(wc_path, 'branches/v1x')
start = core.svn_opt_revision_t()
start.kind = core.svn_opt_revision_number
start.value.number = 8
end = core.svn_opt_revision_t()
end.kind = core.svn_opt_revision_number
end.value.number = 9
rrange = core.svn_opt_revision_range_t()
rrange.start = start
rrange.end = end
client.merge_peg3(v1x_path, (rrange,), end, trunk_path,
core.svn_depth_infinity, False, False, False, False,
None, self.client_ctx)
# Did it take effect?
readme_path_native = core.svn_dirent_local_style(
core.svn_dirent_join(trunk_path, 'README.txt')
)
readme = open(readme_path_native, 'r')
readme_text = readme.read()
readme.close()
self.assertEqual(readme_text, 'This is a test.\n')
def test_platform_providers(self):
providers = core.svn_auth_get_platform_specific_client_providers(None, None)
# Not much more we can test in this minimal environment.
( run in 1.415 second using v1.01-cache-2.11-cpan-5623c5533a1 )