From 9a97b51c0c2f71f9e35a25bdafb42fb541af74c1 Mon Sep 17 00:00:00 2001 From: Clay Gerrard <clay.gerrard@gmail.com> Date: Tue, 9 Feb 2016 13:15:22 -0800 Subject: [PATCH] more tests for pseudo/dir Change-Id: Idab172aefd8e69ca8e4d623918eba1bc1da91a42 --- tests/unit/test_service.py | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/tests/unit/test_service.py b/tests/unit/test_service.py index c2a71434..3f6da2be 100644 --- a/tests/unit/test_service.py +++ b/tests/unit/test_service.py @@ -1272,13 +1272,30 @@ class TestServiceUpload(_TestServiceBase): mock_conn.get_container.assert_has_calls(expected) def test_make_upload_objects(self): - # String list - filenames = ['/absolute/file/path', 'relative/file/path'] - self.assertEqual( - [o.object_name for o in SwiftService._make_upload_objects( - filenames, 'pseudo/folder/path')], - ['pseudo/folder/path/absolute/file/path', - 'pseudo/folder/path/relative/file/path']) + check_names_pseudo_to_expected = { + (('/absolute/file/path',), ''): ['absolute/file/path'], + (('relative/file/path',), ''): ['relative/file/path'], + (('/absolute/file/path',), '/absolute/pseudo/dir'): [ + 'absolute/pseudo/dir/absolute/file/path'], + (('/absolute/file/path',), 'relative/pseudo/dir'): [ + 'relative/pseudo/dir/absolute/file/path'], + (('relative/file/path',), '/absolute/pseudo/dir'): [ + 'absolute/pseudo/dir/relative/file/path'], + (('relative/file/path',), 'relative/pseudo/dir'): [ + 'relative/pseudo/dir/relative/file/path'], + } + errors = [] + for (filenames, pseudo_folder), expected in \ + check_names_pseudo_to_expected.items(): + actual = SwiftService._make_upload_objects( + filenames, pseudo_folder=pseudo_folder) + try: + self.assertEqual(expected, [o.object_name for o in actual]) + except AssertionError as e: + msg = 'given (%r, %r) expected %r, got %s' % ( + filenames, pseudo_folder, expected, e) + errors.append(msg) + self.assertFalse(errors, "\nERRORS:\n%s" % '\n'.join(errors)) class TestServiceDownload(_TestServiceBase):