--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/buildframework/helium/sf/python/pythoncore/lib/pythoncoretests/test_ctc.py Tue Apr 27 08:33:08 2010 +0300
@@ -0,0 +1,98 @@
+#============================================================================
+#Name : test_ctc.py
+#Part of : Helium
+
+#Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+#All rights reserved.
+#This component and the accompanying materials are made available
+#under the terms of the License "Eclipse Public License v1.0"
+#which accompanies this distribution, and is available
+#at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+#Initial Contributors:
+#Nokia Corporation - initial contribution.
+#
+#Contributors:
+#
+#Description:
+#===============================================================================
+
+import unittest
+import ctc
+import logging
+import os
+import fileutils
+import tempfile
+
+_logger = logging.getLogger('test.configuration')
+logging.basicConfig(level=logging.INFO)
+
+root_test_dir = tempfile.mkdtemp()
+_test_file_paths = [
+ "ctc/dir/component1/group/MON.SYM",
+ "ctc/dir/component2/group/",
+ "ctc/dir/component3/group/MON.SYM",
+]
+
+def _testpath(subpath):
+ """ Normalised path for test paths. """
+ return os.path.normpath(os.path.join(root_test_dir, subpath))
+
+_test_file_content = {}
+
+def setup_module():
+ """ Setup files test config.
+
+ This creates a number of empty files in a temporary directory structure
+ for testing various file selection and archiving operations.
+ """
+ for child_path in _test_file_paths:
+ path = os.path.join(root_test_dir, child_path)
+ path_dir = path
+ path_dir = os.path.dirname(path)
+
+ if (not os.path.exists(path_dir)):
+ _logger.debug('Creating dir: ' + path_dir)
+ os.makedirs(path_dir)
+
+ if(not path.endswith('/') and not path.endswith('\\')):
+ _logger.debug('Creating file: ' + path)
+ handle = open(path, 'w')
+ # Write any file content that is needed
+ if _test_file_content.has_key(child_path):
+ handle.write(_test_file_content[child_path])
+ handle.close()
+
+def teardown_module():
+ """ Teardown test config. """
+ if os.path.exists(root_test_dir):
+ fileutils.rmtree(root_test_dir)
+
+
+class MockUploader(ctc.MonSymFTPUploader):
+ """ This class provides a mock MonSymFTPUploader """
+ def _open(self):
+ pass
+
+ def _close(self):
+ pass
+
+ def _ftpmkdirs(self, dir):
+ pass
+
+ def _send(self, src, dst):
+ pass
+
+class NestedConfigurationBuilderTest(unittest.TestCase):
+ """ Unit test for ctc uploader """
+ def test_uploader(self):
+ paths = [ "ctc/dir/component1/group/MON.SYM",
+ "ctc/dir/component2/group/MON.SYM",
+ "ctc/dir/component3/group/MON.SYM",
+ ]
+ uploader = MockUploader("server", [_testpath(p) for p in paths], "1234")
+ result = uploader.upload()
+ print result
+ assert len(result) == 2
+ assert result[0] == "ctc_helium/1234/mon_syms/1/MON.SYM"
+ assert result[1] == "ctc_helium/1234/mon_syms/2/MON.SYM"