Ejemplo n.º 1
0
    def test_mignore(self):

        # 1) test that tracked items are unaffected

        os.mkdir(self.test_folder_local + "/bar")
        self.wait_for_idle()

        with open(self.m.sync.mignore_path, "w") as f:
            f.write("foo/\n")  # ignore folder "foo"
            f.write("bar\n")  # ignore file or folder "bar"
            f.write("build\n")  # ignore file or folder "build"

        self.wait_for_idle()

        self.assert_synced(self.test_folder_local, self.test_folder_dbx)
        self.assert_exists(self.test_folder_dbx, "bar")

        # 2) test that new items are excluded

        os.mkdir(self.test_folder_local + "/foo")
        self.wait_for_idle()

        self.assertIsNone(
            self.m.client.get_metadata(self.test_folder_dbx + "/foo"))

        # 3) test that renaming an item excludes it

        move(self.test_folder_local + "/bar",
             self.test_folder_local + "/build")
        self.wait_for_idle()

        self.assertIsNone(
            self.m.client.get_metadata(self.test_folder_dbx + "/build"))

        # 4) test that renaming an item includes it

        move(self.test_folder_local + "/build",
             self.test_folder_local + "/folder")
        self.wait_for_idle()

        self.assert_exists(self.test_folder_dbx, "folder")

        self.clean_local()
        self.wait_for_idle()

        # check for fatal errors
        self.assertFalse(self.m.fatal_errors)
Ejemplo n.º 2
0
def test_ignore_tree_move(sync):

    new_dir = Path(sync.dropbox_path) / "parent"

    new_dir.mkdir()
    for i in range(10):
        file = new_dir / f"test_{i}"
        file.touch()

    sync.wait_for_local_changes()

    new_dir_1 = Path(sync.dropbox_path) / "parent2"

    with sync.fs_events.ignore(DirMovedEvent(str(new_dir), str(new_dir_1))):
        move(new_dir, new_dir_1)

    sync_events, local_cursor = sync.wait_for_local_changes()
    assert len(sync_events) == 0
Ejemplo n.º 3
0
def test_mignore(m):
    """Tests the exclusion of local items by an mignore file."""

    # 1) test that tracked items are unaffected

    os.mkdir(m.test_folder_local + "/bar")
    wait_for_idle(m)

    with open(m.sync.mignore_path, "w") as f:
        f.write("foo/\n")  # ignore folder "foo"
        f.write("bar\n")  # ignore file or folder "bar"
        f.write("build\n")  # ignore file or folder "build"

    wait_for_idle(m)

    assert_synced(m)
    assert_exists(m, "/sync_tests", "bar")

    # 2) test that new items are excluded

    os.mkdir(m.test_folder_local + "/foo")
    wait_for_idle(m)

    assert not (m.client.get_metadata("/sync_tests/foo"))

    # 3) test that renaming an item excludes it

    move(m.test_folder_local + "/bar", m.test_folder_local + "/build")
    wait_for_idle(m)

    assert not (m.client.get_metadata("/sync_tests/build"))

    # 4) test that renaming an item includes it

    move(m.test_folder_local + "/build", m.test_folder_local + "/folder")
    wait_for_idle(m)

    assert_exists(m, "/sync_tests", "folder")

    clean_local(m)
    wait_for_idle(m)

    # check for fatal errors
    assert not m.fatal_errors