Exemple #1
0
    def test_folder_conflict(self):
        # delete a folder on one side, but change content on other side 
        # Note: currently
#         raise SkipTest
        _write_test_file("local/folder1/file1_1.txt", dt="2014-01-01 13:00:00", content="local 13:00")
        _remove_test_folder("remote/folder1")

        opts = {}
        stats = _sync_test_folders(opts)
#         pprint(stats)
        self.assertEqual(stats["files_written"], 0)
        self.assertEqual(stats["download_files_written"], 0)
        self.assertEqual(stats["upload_files_written"], 0)
        self.assertEqual(stats["files_deleted"], 0)
        self.assertEqual(stats["dirs_deleted"], 1)
        self.assertEqual(stats["conflict_files"], 0)        

        expect_local = {
            'file1.txt': {'content': 'local1', 'date': '2014-01-01 12:00:00'},
            'file2.txt': {'content': 'local2', 'date': '2014-01-01 12:00:00'},
            'file3.txt': {'content': 'local3', 'date': '2014-01-01 12:00:00'},
            'file4.txt': {'content': 'local4', 'date': '2014-01-01 12:00:00'},
            'file5.txt': {'content': 'local5', 'date': '2014-01-01 12:00:00'},
            'file6.txt': {'content': 'local6', 'date': '2014-01-01 12:00:00'},
            'file7.txt': {'content': 'local7', 'date': '2014-01-01 12:00:00'},
            'file8.txt': {'content': 'local8', 'date': '2014-01-01 12:00:00'},
#             'folder1/file1_1.txt': {'content': 'local1_1', 'date': '2014-01-01 12:00:00'},
            'folder2/file2_1.txt': {'content': 'local2_1', 'date': '2014-01-01 12:00:00'},
            'folder3/file3_1.txt': {'content': 'local3_1', 'date': '2014-01-01 12:00:00'},
            'folder4/file4_1.txt': {'content': 'local4_1', 'date': '2014-01-01 12:00:00'},
            }
        self.assertDictEqual(_get_test_folder("local"), expect_local)
        self.assertDictEqual(_get_test_folder("remote"), expect_local)
Exemple #2
0
    def test_resolve_local(self):
#         raise SkipTest
        opts = {"resolve": "local"}
        stats = self._do_run_suite(opts)

        self.assertEqual(stats["files_written"], 9)
        self.assertEqual(stats["download_files_written"], 3)
        self.assertEqual(stats["upload_files_written"], 6)
        self.assertEqual(stats["files_deleted"], 3)
        self.assertEqual(stats["dirs_deleted"], 2)
        self.assertEqual(stats["conflict_files"], 4)

        expect_local = {
            'file1.txt': {'content': 'local 13:00', 'date': '2014-01-01 13:00:00'},
            'file3.txt': {'content': 'remote 13:00', 'date': '2014-01-01 13:00:00'},
            'file5.txt': {'content': 'local 13:00', 'date': '2014-01-01 13:00:00'}, # resolved conflict
            'file6.txt': {'content': 'local 13:00:05', 'date': '2014-01-01 13:00:05'}, # resolved conflict
            'file8.txt': {'content': 'local 13:00', 'date': '2014-01-01 13:00:00'}, # resolved conflict
            'folder1/file1_1.txt': {'content': 'local 13:00', 'date': '2014-01-01 13:00:00'},
            'folder3/file3_1.txt': {'content': 'remote 13:00', 'date': '2014-01-01 13:00:00'},
            'new_file1.txt': {'content': 'local 13:00', 'date': '2014-01-01 13:00:00'},
            'new_file2.txt': {'content': 'remote 13:00', 'date': '2014-01-01 13:00:00'},
            }
        self.assertDictEqual(_get_test_folder("local"), expect_local)
        self.assertDictEqual(_get_test_folder("remote"), expect_local)
Exemple #3
0
    def test_setUp(self):
        # Test that setUp code worked
#         raise SkipTest
        # Set should have created a copy of /local in /remote... 
        self.assertTrue(_is_test_file("local/" + DirMetadata.META_FILE_NAME))
        self.assertTrue(not _is_test_file("remote/" + DirMetadata.META_FILE_NAME))
#         self.assertEqual(stats["files_written"], 8)
        self.assertDictEqual(_get_test_folder("local"), _get_test_folder("remote"))
Exemple #4
0
    def test_default(self):
#         raise SkipTest
        opts = {} # default options, i.e. 'skip' conflicts
        # Default options: expect 4 unresolved conflicts
        stats = self._do_run_suite(opts)
#         pprint(stats)
#         pprint(_get_test_folder("local"))
#         pprint(_get_test_folder("remote"))
 
        self.assertEqual(stats["files_written"], 6)
        self.assertEqual(stats["download_files_written"], 3)
        self.assertEqual(stats["upload_files_written"], 3)
        self.assertEqual(stats["files_deleted"], 2)
        self.assertEqual(stats["dirs_deleted"], 2)
        self.assertEqual(stats["conflict_files"], 4)
 
        expect_local = {
            'file1.txt': {'content': 'local 13:00', 'date': '2014-01-01 13:00:00'},
            'file3.txt': {'content': 'remote 13:00', 'date': '2014-01-01 13:00:00'},
            'file5.txt': {'content': 'local 13:00', 'date': '2014-01-01 13:00:00'}, # unresolved conflict
            'file6.txt': {'content': 'local 13:00:05', 'date': '2014-01-01 13:00:05'}, # unresolved conflict
            'file8.txt': {'content': 'local 13:00', 'date': '2014-01-01 13:00:00'}, # unresolved conflict
            'folder1/file1_1.txt': {'content': 'local 13:00', 'date': '2014-01-01 13:00:00'},
            'folder3/file3_1.txt': {'content': 'remote 13:00', 'date': '2014-01-01 13:00:00'},
            'new_file1.txt': {'content': 'local 13:00', 'date': '2014-01-01 13:00:00'},
            'new_file2.txt': {'content': 'remote 13:00', 'date': '2014-01-01 13:00:00'},
            }
        expect_remote = {
            'file1.txt': {'content': 'local 13:00', 'date': '2014-01-01 13:00:00'},
            'file3.txt': {'content': 'remote 13:00', 'date': '2014-01-01 13:00:00'},
            'file5.txt': {'content': 'remote 13:00:05', 'date': '2014-01-01 13:00:05'}, # unresolved conflict
            'file6.txt': {'content': 'remote 13:00', 'date': '2014-01-01 13:00:00'}, # unresolved conflict
            'file7.txt': {'content': 'remote 13:00', 'date': '2014-01-01 13:00:00'}, # unresolved conflict
            'folder1/file1_1.txt': {'content': 'local 13:00', 'date': '2014-01-01 13:00:00'},
            'folder3/file3_1.txt': {'content': 'remote 13:00', 'date': '2014-01-01 13:00:00'},
            'new_file1.txt': {'content': 'local 13:00', 'date': '2014-01-01 13:00:00'},
            'new_file2.txt': {'content': 'remote 13:00', 'date': '2014-01-01 13:00:00'},
            }
        self.assertDictEqual(_get_test_folder("local"), expect_local)
        self.assertDictEqual(_get_test_folder("remote"), expect_remote)