Fix and unit test for CMIS-743 in which cmislib was failing to check out a doc after being fetched by ID
git-svn-id: https://svn.apache.org/repos/asf/chemistry/cmislib/trunk@1551272 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/cmislib.egg-info/SOURCES.txt b/src/cmislib.egg-info/SOURCES.txt
index 70c47fe..634eb67 100644
--- a/src/cmislib.egg-info/SOURCES.txt
+++ b/src/cmislib.egg-info/SOURCES.txt
@@ -24,38 +24,6 @@
src/cmislib.egg-info/dependency_links.txt
src/cmislib.egg-info/requires.txt
src/cmislib.egg-info/top_level.txt
-src/doc/build/about.html
-src/doc/build/code.html
-src/doc/build/devguide.html
-src/doc/build/docs.html
-src/doc/build/examples.html
-src/doc/build/genindex.html
-src/doc/build/index.html
-src/doc/build/install.html
-src/doc/build/modindex.html
-src/doc/build/objects.inv
-src/doc/build/sample-data.html
-src/doc/build/search.html
-src/doc/build/searchindex.js
-src/doc/build/tests.html
-src/doc/build/_sources/about.txt
-src/doc/build/_sources/code.txt
-src/doc/build/_sources/devguide.txt
-src/doc/build/_sources/docs.txt
-src/doc/build/_sources/examples.txt
-src/doc/build/_sources/index.txt
-src/doc/build/_sources/install.txt
-src/doc/build/_sources/sample-data.txt
-src/doc/build/_sources/tests.txt
-src/doc/build/_static/basic.css
-src/doc/build/_static/default.css
-src/doc/build/_static/doctools.js
-src/doc/build/_static/file.png
-src/doc/build/_static/jquery.js
-src/doc/build/_static/minus.png
-src/doc/build/_static/plus.png
-src/doc/build/_static/pygments.css
-src/doc/build/_static/searchtools.js
src/doc/src/Makefile
src/doc/src/about.rst
src/doc/src/code.rst
diff --git a/src/cmislib/atompub_binding.py b/src/cmislib/atompub_binding.py
index 8c2404a..43aea85 100644
--- a/src/cmislib/atompub_binding.py
+++ b/src/cmislib/atompub_binding.py
@@ -1487,7 +1487,7 @@
- includeAllowableActions
"""
- return getSpecializedObject(AtomPubCmisObject(self._cmisClient, self, objectId, **kwargs), **kwargs)
+ return getSpecializedObject(AtomPubCmisObject(self._cmisClient, self, CmisId(objectId), **kwargs), **kwargs)
def getObjectByPath(self, path, **kwargs):
diff --git a/src/cmislib/browser_binding.py b/src/cmislib/browser_binding.py
index 0bf87ec..3154c46 100644
--- a/src/cmislib/browser_binding.py
+++ b/src/cmislib/browser_binding.py
@@ -1027,7 +1027,7 @@
- includeAllowableActions
"""
- return getSpecializedObject(BrowserCmisObject(self._cmisClient, self, objectId, **kwargs), **kwargs)
+ return getSpecializedObject(BrowserCmisObject(self._cmisClient, self, CmisId(objectId), **kwargs), **kwargs)
def query(self, statement, **kwargs):
diff --git a/src/tests/cmislibtest.py b/src/tests/cmislibtest.py
index 8697bf9..43e9107 100644
--- a/src/tests/cmislibtest.py
+++ b/src/tests/cmislibtest.py
@@ -821,6 +821,26 @@
finally:
pwcDoc.delete()
+ #CMIS-743
+ def testCheckoutAfterFetchByID(self):
+ """Create a test doc, fetch it by ID, then check it out"""
+ props = {'cmis:objectTypeId': settings.VERSIONABLE_TYPE_ID}
+ newDoc = self._testFolder.createDocument('testDocument', properties=props)
+ if not newDoc.allowableActions['canCheckOut']:
+ print 'The test doc cannot be checked out...skipping'
+ return
+ newDocIdStr = str(newDoc.id)
+ newDoc = self._repo.getObject(newDocIdStr)
+ pwcDoc = newDoc.checkout()
+ try:
+ self.assertTrue(newDoc.isCheckedOut())
+ self.assert_('cmis:objectId' in newDoc.getProperties())
+ self.assert_('cmis:objectId' in pwcDoc.getProperties())
+ checkedOutDocs = self._repo.getCollection('checkedout')
+ self.assertTrue(isInResultSet(checkedOutDocs, pwcDoc))
+ finally:
+ pwcDoc.delete()
+
def testCheckin(self):
"""Create a document in a test folder, check it out, then in"""
testFilename = settings.TEST_BINARY_1.split('/')[-1]