298
298
ra.get_file_revs(self.ra_ctx, "trunk/README.txt", 0, 10, rev_handler)
300
300
def test_lock(self):
301
def callback(baton, path, do_lock, lock, ra_err, pool):
303
# This test merely makes sure that the arguments can be wrapped
304
# properly. svn.ra.lock() currently fails because it is not possible
305
# to retrieve the username from the auth_baton yet.
306
self.assertRaises(core.SubversionException,
307
lambda: ra.lock(self.ra_ctx, {"": 0}, "sleutel", False, callback))
305
def callback(path, do_lock, lock, ra_err, pool):
307
self.assertEqual(path, "trunk/README2.txt")
309
self.assertEqual(lock.owner, "jrandom")
312
self.assert_(ra_err.apr_err == core.SVN_ERR_FS_PATH_ALREADY_LOCKED
313
or ra_err.apr_err == core.SVN_ERR_FS_NO_SUCH_LOCK)
316
providers = [core.svn_auth_get_username_provider()]
317
self.callbacks.auth_baton = core.svn_auth_open(providers)
318
core.svn_auth_set_parameter(self.callbacks.auth_baton,
319
core.SVN_AUTH_PARAM_DEFAULT_USERNAME,
321
self.ra_ctx = ra.open2(self.repos_uri, self.callbacks, {})
322
rev = fs.youngest_rev(self.fs)
323
ra.lock(self.ra_ctx, {"trunk/README2.txt":rev}, "sleutel", False, callback)
324
self.assertEqual(self.calls, 1)
325
self.assertEqual(self.locks, 1)
326
self.assertEqual(self.errors, 0)
330
ra.lock(self.ra_ctx, {"trunk/README2.txt":rev}, "sleutel", False, callback)
331
self.assertEqual(self.calls, 1)
332
self.assertEqual(self.locks, 0)
333
self.assertEqual(self.errors, 1)
337
the_lock = fs.get_lock(self.fs, "/trunk/README2.txt")
338
ra.unlock(self.ra_ctx, {"trunk/README2.txt":the_lock.token}, False, callback)
339
self.assertEqual(self.calls, 1)
340
self.assertEqual(self.locks, 0)
341
self.assertEqual(self.errors, 0)
344
ra.unlock(self.ra_ctx, {"trunk/README2.txt":the_lock.token}, False, callback)
345
self.assertEqual(self.calls, 1)
346
self.assertEqual(self.locks, 0)
347
self.assertEqual(self.errors, 1)
309
349
def test_get_log2(self):
310
350
# Get an interesting commmit.