You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bloodhound.apache.org by ju...@apache.org on 2013/02/27 10:40:24 UTC
svn commit: r1450692 - in
/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/versioncontrol:
./ __init__.py api.py
Author: jure
Date: Wed Feb 27 09:40:24 2013
New Revision: 1450692
URL: http://svn.apache.org/r1450692
Log:
#355, version control API test cases, patch t355_r1450181_trac_test_vcs_api.diff applied (from Olemis)
Added:
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/versioncontrol/
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/versioncontrol/__init__.py
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/versioncontrol/api.py
Added: incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/versioncontrol/__init__.py
URL: http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/versioncontrol/__init__.py?rev=1450692&view=auto
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/versioncontrol/__init__.py (added)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/versioncontrol/__init__.py Wed Feb 27 09:40:24 2013
@@ -0,0 +1,20 @@
+
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+"""Tests for Apache(TM) Bloodhound's version control in product environments"""
+
Added: incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/versioncontrol/api.py
URL: http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/versioncontrol/api.py?rev=1450692&view=auto
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/versioncontrol/api.py (added)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/versioncontrol/api.py Wed Feb 27 09:40:24 2013
@@ -0,0 +1,103 @@
+
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+"""Tests for Apache(TM) Bloodhound's repository API in product environments"""
+
+import unittest
+
+from trac.resource import Resource, get_resource_description, get_resource_url
+from trac.versioncontrol.api import Repository
+from trac.versioncontrol.tests.api import ResourceManagerTestCase
+
+from multiproduct.env import ProductEnvironment
+from tests.env import MultiproductTestCase
+
+class ProductResourceManagerTestCase(ResourceManagerTestCase, \
+ MultiproductTestCase):
+
+ @property
+ def env(self):
+ env = getattr(self, '_env', None)
+ if env is None:
+ self.global_env = self._setup_test_env()
+ self._upgrade_mp(self.global_env)
+ self._setup_test_log(self.global_env)
+ self._load_product_from_data(self.global_env, self.default_product)
+ self._env = env = ProductEnvironment(
+ self.global_env, self.default_product)
+ self._load_default_data(env)
+ return env
+
+ @env.setter
+ def env(self, value):
+ pass
+
+ def tearDown(self):
+ self.global_env.reset_db()
+ self.global_env = self._env = None
+
+ def test_resource_changeset(self):
+ res = Resource('changeset', '42')
+ self.assertEqual('Changeset 42', get_resource_description(self.env, res))
+ self.assertEqual('/trac.cgi/product/tp1/changeset/42',
+ get_resource_url(self.env, res, self.env.href))
+
+ repo = Resource('repository', 'repo')
+ res = Resource('changeset', '42', parent=repo)
+ self.assertEqual('Changeset 42 in repo',
+ get_resource_description(self.env, res))
+ self.assertEqual('/trac.cgi/product/tp1/changeset/42/repo',
+ get_resource_url(self.env, res, self.env.href))
+
+ def test_resource_source(self):
+ res = Resource('source', '/trunk/src')
+ self.assertEqual('path /trunk/src',
+ get_resource_description(self.env, res))
+ self.assertEqual('/trac.cgi/product/tp1/browser/trunk/src',
+ get_resource_url(self.env, res, self.env.href))
+
+ repo = Resource('repository', 'repo')
+ res = Resource('source', '/trunk/src', parent=repo)
+ self.assertEqual('path /trunk/src in repo',
+ get_resource_description(self.env, res))
+ self.assertEqual('/trac.cgi/product/tp1/browser/repo/trunk/src',
+ get_resource_url(self.env, res, self.env.href))
+
+ repo = Resource('repository', 'repo')
+ res = Resource('source', '/trunk/src', version=42, parent=repo)
+ self.assertEqual('path /trunk/src@42 in repo',
+ get_resource_description(self.env, res))
+ self.assertEqual('/trac.cgi/product/tp1/browser/repo/trunk/src?rev=42',
+ get_resource_url(self.env, res, self.env.href))
+
+ def test_resource_repository(self):
+ res = Resource('repository', 'testrepo')
+ self.assertEqual('Repository testrepo',
+ get_resource_description(self.env, res))
+ self.assertEqual('/trac.cgi/product/tp1/browser/testrepo',
+ get_resource_url(self.env, res, self.env.href))
+
+
+def test_suite():
+ return unittest.TestSuite([
+ unittest.makeSuite(ProductResourceManagerTestCase,'test'),
+ ])
+
+if __name__ == '__main__':
+ unittest.main(defaultTest='test_suite')
+