15bebb993Sopenharmony_ci/* 25bebb993Sopenharmony_ci * Copyright (C) 2024 Huawei Device Co., Ltd. 35bebb993Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 45bebb993Sopenharmony_ci * you may not use this file except in compliance with the License. 55bebb993Sopenharmony_ci * You may obtain a copy of the License at 65bebb993Sopenharmony_ci * 75bebb993Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 85bebb993Sopenharmony_ci * 95bebb993Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 105bebb993Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 115bebb993Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 125bebb993Sopenharmony_ci * See the License for the specific language governing permissions and 135bebb993Sopenharmony_ci * limitations under the License. 145bebb993Sopenharmony_ci */ 155bebb993Sopenharmony_ci 165bebb993Sopenharmony_ciimport fs from '@ohos.file.fs'; 175bebb993Sopenharmony_ciimport fileuri from '@ohos.file.fileuri'; 185bebb993Sopenharmony_ci 195bebb993Sopenharmony_ciimport { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from 'deccjsunit/index'; 205bebb993Sopenharmony_ci 215bebb993Sopenharmony_ciconst TAG = 'FsCopyTest'; 225bebb993Sopenharmony_cidescribe("FsCopyTest", function () { 235bebb993Sopenharmony_ci let pathDir = '/data/storage/el2/base/haps/entry/files'; 245bebb993Sopenharmony_ci let srcDirPathLocal = pathDir + "/src"; 255bebb993Sopenharmony_ci let srcFilePathLocal = srcDirPathLocal + '/srcFile.txt'; 265bebb993Sopenharmony_ci let dstDirPathLocal = pathDir + "/dest"; 275bebb993Sopenharmony_ci let dstFilePathLocal = dstDirPathLocal + '/dstFile.txt'; 285bebb993Sopenharmony_ci let muiltDirLocal = srcDirPathLocal+"/test1"; 295bebb993Sopenharmony_ci let srcNoSuffixFileLocal = srcDirPathLocal + '/test'; 305bebb993Sopenharmony_ci 315bebb993Sopenharmony_ci let srcDirUriLocal = fileuri.getUriFromPath(srcDirPathLocal); 325bebb993Sopenharmony_ci let srcFileUriLocal = fileuri.getUriFromPath(srcFilePathLocal); 335bebb993Sopenharmony_ci let dstDirUriLocal = fileuri.getUriFromPath(dstDirPathLocal); 345bebb993Sopenharmony_ci let dstFileUriLocal = fileuri.getUriFromPath(dstFilePathLocal); 355bebb993Sopenharmony_ci let srcNoSuffixFileUriLocal = fileuri.getUriFromPath(srcNoSuffixFileLocal); 365bebb993Sopenharmony_ci 375bebb993Sopenharmony_ci beforeAll(function () { 385bebb993Sopenharmony_ci console.info(TAG, 'beforeAll called') 395bebb993Sopenharmony_ci }); 405bebb993Sopenharmony_ci 415bebb993Sopenharmony_ci afterAll(function () { 425bebb993Sopenharmony_ci console.info(TAG, 'afterAll called') 435bebb993Sopenharmony_ci }); 445bebb993Sopenharmony_ci 455bebb993Sopenharmony_ci beforeEach(function () { 465bebb993Sopenharmony_ci console.info(TAG, 'beforeEach called') 475bebb993Sopenharmony_ci }); 485bebb993Sopenharmony_ci 495bebb993Sopenharmony_ci afterEach(function () { 505bebb993Sopenharmony_ci console.info(TAG, 'afterEach called') 515bebb993Sopenharmony_ci }); 525bebb993Sopenharmony_ci 535bebb993Sopenharmony_ci function isDirectory(path){ 545bebb993Sopenharmony_ci try { 555bebb993Sopenharmony_ci console.info("Fs_Copy_Test020:path",path); 565bebb993Sopenharmony_ci let stat = fs.statSync(path); 575bebb993Sopenharmony_ci if (stat.isDirectory()) { 585bebb993Sopenharmony_ci return true; 595bebb993Sopenharmony_ci } 605bebb993Sopenharmony_ci return false; 615bebb993Sopenharmony_ci } catch (error) { 625bebb993Sopenharmony_ci console.error("Error:", error); 635bebb993Sopenharmony_ci return false; 645bebb993Sopenharmony_ci } 655bebb993Sopenharmony_ci } 665bebb993Sopenharmony_ci 675bebb993Sopenharmony_ci /* 685bebb993Sopenharmony_ci * @tc.name:Fs_Copy_Test001 695bebb993Sopenharmony_ci * @tc.desc:test fs.copy with wrong params 705bebb993Sopenharmony_ci * @tc.type: FUNC 715bebb993Sopenharmony_ci * @tc.require: #I8UV2F 725bebb993Sopenharmony_ci */ 735bebb993Sopenharmony_ci it("Fs_Copy_Test001", 0, async function (done) { 745bebb993Sopenharmony_ci console.info(TAG, 'Fs_Copy_Test001 start.'); 755bebb993Sopenharmony_ci try { 765bebb993Sopenharmony_ci await fs.copy("aaa", "bbb", (err) => { 775bebb993Sopenharmony_ci if (err) { 785bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test001 failed, with error message: " + err.message + ", error code: " + err.code); 795bebb993Sopenharmony_ci } else { 805bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test001 success. "); 815bebb993Sopenharmony_ci } 825bebb993Sopenharmony_ci expect().assertFail(); 835bebb993Sopenharmony_ci done(); 845bebb993Sopenharmony_ci }) 855bebb993Sopenharmony_ci } catch (err) { 865bebb993Sopenharmony_ci console.error("Fs_Copy_Test001 failed with invalid param: " + err.message + ", error code: " + err.code); 875bebb993Sopenharmony_ci expect(true).assertTrue(); 885bebb993Sopenharmony_ci done(); 895bebb993Sopenharmony_ci } 905bebb993Sopenharmony_ci }); 915bebb993Sopenharmony_ci 925bebb993Sopenharmony_ci /* 935bebb993Sopenharmony_ci * @tc.name:Fs_Copy_Test002 945bebb993Sopenharmony_ci * @tc.desc:test fs.copy with sandbox path 955bebb993Sopenharmony_ci * @tc.type: FUNC 965bebb993Sopenharmony_ci * @tc.require: #I8UV2F 975bebb993Sopenharmony_ci */ 985bebb993Sopenharmony_ci it("Fs_Copy_Test002", 0, async function (done) { 995bebb993Sopenharmony_ci console.info(TAG, 'Fs_Copy_Test002 start.'); 1005bebb993Sopenharmony_ci try { 1015bebb993Sopenharmony_ci await fs.copy(pathDir, "bbb", (err) => { 1025bebb993Sopenharmony_ci if (err) { 1035bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test002 failed, with error message: " + err.message + ", error code: " + err.code); 1045bebb993Sopenharmony_ci } else { 1055bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test002 success. "); 1065bebb993Sopenharmony_ci } 1075bebb993Sopenharmony_ci expect().assertFail(); 1085bebb993Sopenharmony_ci done(); 1095bebb993Sopenharmony_ci }) 1105bebb993Sopenharmony_ci } catch (err) { 1115bebb993Sopenharmony_ci console.error("Fs_Copy_Test002 failed with invalid param: " + err.message + ", error code: " + err.code); 1125bebb993Sopenharmony_ci expect(true).assertTrue(); 1135bebb993Sopenharmony_ci done(); 1145bebb993Sopenharmony_ci } 1155bebb993Sopenharmony_ci }); 1165bebb993Sopenharmony_ci 1175bebb993Sopenharmony_ci /* 1185bebb993Sopenharmony_ci * @tc.name:Fs_Copy_Test003 1195bebb993Sopenharmony_ci * @tc.desc:test fs.copy with not exist dir 1205bebb993Sopenharmony_ci * @tc.type: FUNC 1215bebb993Sopenharmony_ci * @tc.require: #I8UV2F 1225bebb993Sopenharmony_ci */ 1235bebb993Sopenharmony_ci it("Fs_Copy_Test003", 0, async function (done) { 1245bebb993Sopenharmony_ci console.info(TAG, 'Fs_Copy_Test003 start.'); 1255bebb993Sopenharmony_ci try { 1265bebb993Sopenharmony_ci await fs.copy(srcDirUriLocal, dstDirUriLocal, (err) => { 1275bebb993Sopenharmony_ci if (err) { 1285bebb993Sopenharmony_ci console.error(TAG, "Fs_Copy_Test003 failed: " + err.message + ", error code: " + err.code); 1295bebb993Sopenharmony_ci expect(true).assertTrue(); 1305bebb993Sopenharmony_ci } else { 1315bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test003 success."); 1325bebb993Sopenharmony_ci expect().assertFail(); 1335bebb993Sopenharmony_ci } 1345bebb993Sopenharmony_ci done(); 1355bebb993Sopenharmony_ci }) 1365bebb993Sopenharmony_ci } catch (err) { 1375bebb993Sopenharmony_ci console.error("Fs_Copy_Test003 failed with invalid param: " + err.message + ", error code: " + err.code); 1385bebb993Sopenharmony_ci expect(true).assertTrue(); 1395bebb993Sopenharmony_ci done(); 1405bebb993Sopenharmony_ci } 1415bebb993Sopenharmony_ci }); 1425bebb993Sopenharmony_ci 1435bebb993Sopenharmony_ci /* 1445bebb993Sopenharmony_ci * @tc.name:Fs_Copy_Test004 1455bebb993Sopenharmony_ci * @tc.desc:test fs.copy dir to itself 1465bebb993Sopenharmony_ci * @tc.type: FUNC 1475bebb993Sopenharmony_ci * @tc.require: #I8UV2F 1485bebb993Sopenharmony_ci */ 1495bebb993Sopenharmony_ci it("Fs_Copy_Test004", 0, async function (done) { 1505bebb993Sopenharmony_ci console.info(TAG, 'Fs_Copy_Test004 start.'); 1515bebb993Sopenharmony_ci try { 1525bebb993Sopenharmony_ci fs.mkdirSync(srcDirPathLocal); 1535bebb993Sopenharmony_ci fs.mkdirSync(dstDirPathLocal); 1545bebb993Sopenharmony_ci await fs.copy(srcDirUriLocal, dstDirUriLocal, (err) => { 1555bebb993Sopenharmony_ci if (err) { 1565bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test004 failed, with error message: " + err.message + ", error code: " + err.code); 1575bebb993Sopenharmony_ci expect().assertFail(); 1585bebb993Sopenharmony_ci } else { 1595bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test004 success. "); 1605bebb993Sopenharmony_ci expect(true).assertTrue(); 1615bebb993Sopenharmony_ci } 1625bebb993Sopenharmony_ci done(); 1635bebb993Sopenharmony_ci }) 1645bebb993Sopenharmony_ci } catch (err) { 1655bebb993Sopenharmony_ci console.error("Fs_Copy_Test004 failed with invalid param: " + err.message + ", error code: " + err.code); 1665bebb993Sopenharmony_ci expect().assertFail(); 1675bebb993Sopenharmony_ci done(); 1685bebb993Sopenharmony_ci } 1695bebb993Sopenharmony_ci }); 1705bebb993Sopenharmony_ci 1715bebb993Sopenharmony_ci /* 1725bebb993Sopenharmony_ci * @tc.name:Fs_Copy_Test005 1735bebb993Sopenharmony_ci * @tc.desc:test fs.copy, copy file, src isn't exist 1745bebb993Sopenharmony_ci * @tc.type: FUNC 1755bebb993Sopenharmony_ci * @tc.require: #I8UV2F 1765bebb993Sopenharmony_ci */ 1775bebb993Sopenharmony_ci it("Fs_Copy_Test005", 0, async function (done) { 1785bebb993Sopenharmony_ci console.info(TAG, 'Fs_Copy_Test005 start.'); 1795bebb993Sopenharmony_ci try { 1805bebb993Sopenharmony_ci fs.rmdirSync(srcDirPathLocal); 1815bebb993Sopenharmony_ci await fs.copy(srcDirUriLocal, dstDirUriLocal, (err) => { 1825bebb993Sopenharmony_ci if (err) { 1835bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test005 failed, with error message: " + err.message + ", error code: " + err.code); 1845bebb993Sopenharmony_ci expect(true).assertTrue(); 1855bebb993Sopenharmony_ci } else { 1865bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test005 success. "); 1875bebb993Sopenharmony_ci expect().assertFail(); 1885bebb993Sopenharmony_ci } 1895bebb993Sopenharmony_ci done(); 1905bebb993Sopenharmony_ci }) 1915bebb993Sopenharmony_ci } catch (err) { 1925bebb993Sopenharmony_ci console.error("Fs_Copy_Test005 failed with invalid param: " + err.message + ", error code: " + err.code); 1935bebb993Sopenharmony_ci expect().assertFail(); 1945bebb993Sopenharmony_ci done(); 1955bebb993Sopenharmony_ci } finally { 1965bebb993Sopenharmony_ci fs.rmdirSync(dstDirPathLocal); 1975bebb993Sopenharmony_ci } 1985bebb993Sopenharmony_ci }); 1995bebb993Sopenharmony_ci 2005bebb993Sopenharmony_ci /* 2015bebb993Sopenharmony_ci * @tc.name:Fs_Copy_Test006 2025bebb993Sopenharmony_ci * @tc.desc:test fs.copy, copy file to file 2035bebb993Sopenharmony_ci * @tc.type: FUNC 2045bebb993Sopenharmony_ci * @tc.require: #I8UV2F 2055bebb993Sopenharmony_ci */ 2065bebb993Sopenharmony_ci it("Fs_Copy_Test006", 0, async function (done) { 2075bebb993Sopenharmony_ci console.info(TAG, 'Fs_Copy_Test006 start.'); 2085bebb993Sopenharmony_ci try { 2095bebb993Sopenharmony_ci fs.mkdirSync(srcDirPathLocal); 2105bebb993Sopenharmony_ci fs.mkdirSync(dstDirPathLocal); 2115bebb993Sopenharmony_ci let srcFile = fs.openSync(srcFilePathLocal, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); 2125bebb993Sopenharmony_ci fs.writeSync(srcFile.fd, 'ttttttttttttt'); 2135bebb993Sopenharmony_ci fs.closeSync(srcFile); 2145bebb993Sopenharmony_ci let dstFile = fs.openSync(dstFilePathLocal, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); 2155bebb993Sopenharmony_ci fs.closeSync(dstFile); 2165bebb993Sopenharmony_ci await fs.copy(srcFileUriLocal, dstFileUriLocal, (err) => { 2175bebb993Sopenharmony_ci if (err) { 2185bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test006 failed, with error message: " + err.message + ", error code: " + err.code); 2195bebb993Sopenharmony_ci expect().assertFail(); 2205bebb993Sopenharmony_ci } else { 2215bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test006 success. "); 2225bebb993Sopenharmony_ci expect(true).assertTrue(); 2235bebb993Sopenharmony_ci } 2245bebb993Sopenharmony_ci done(); 2255bebb993Sopenharmony_ci }) 2265bebb993Sopenharmony_ci } catch (err) { 2275bebb993Sopenharmony_ci console.error("Fs_Copy_Test006 failed with invalid param: " + err.message + ", error code: " + err.code); 2285bebb993Sopenharmony_ci expect().assertFail(); 2295bebb993Sopenharmony_ci done(); 2305bebb993Sopenharmony_ci } 2315bebb993Sopenharmony_ci }); 2325bebb993Sopenharmony_ci 2335bebb993Sopenharmony_ci /* 2345bebb993Sopenharmony_ci * @tc.name:Fs_Copy_Test007 2355bebb993Sopenharmony_ci * @tc.desc:test fs.copy, copy file to dir 2365bebb993Sopenharmony_ci * @tc.type: FUNC 2375bebb993Sopenharmony_ci * @tc.require: #I8UV2F 2385bebb993Sopenharmony_ci */ 2395bebb993Sopenharmony_ci it("Fs_Copy_Test007", 0, async function (done) { 2405bebb993Sopenharmony_ci console.info(TAG, 'Fs_Copy_Test007 start.'); 2415bebb993Sopenharmony_ci try { 2425bebb993Sopenharmony_ci let file = fs.openSync(srcFilePathLocal, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); 2435bebb993Sopenharmony_ci fs.writeSync(file.fd, 'ttttttttttttt'); 2445bebb993Sopenharmony_ci fs.closeSync(file.fd); 2455bebb993Sopenharmony_ci await fs.copy(srcFileUriLocal, dstDirUriLocal, (err) => { 2465bebb993Sopenharmony_ci if (err) { 2475bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test007 failed, with error message: " + err.message + ", error code: " + err.code); 2485bebb993Sopenharmony_ci expect(true).assertTrue(); 2495bebb993Sopenharmony_ci } else { 2505bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test007 success. "); 2515bebb993Sopenharmony_ci expect().assertFail(); 2525bebb993Sopenharmony_ci } 2535bebb993Sopenharmony_ci done(); 2545bebb993Sopenharmony_ci }) 2555bebb993Sopenharmony_ci } catch (err) { 2565bebb993Sopenharmony_ci console.error("Fs_Copy_Test007 failed with invalid param: " + err.message + ", error code: " + err.code); 2575bebb993Sopenharmony_ci expect().assertFail(); 2585bebb993Sopenharmony_ci done(); 2595bebb993Sopenharmony_ci } 2605bebb993Sopenharmony_ci }); 2615bebb993Sopenharmony_ci 2625bebb993Sopenharmony_ci /* 2635bebb993Sopenharmony_ci * @tc.name:Fs_Copy_Test008 2645bebb993Sopenharmony_ci * @tc.desc:test fs.copy, copy dir to dir 2655bebb993Sopenharmony_ci * @tc.type: FUNC 2665bebb993Sopenharmony_ci * @tc.require: #I8UV2F 2675bebb993Sopenharmony_ci */ 2685bebb993Sopenharmony_ci it("Fs_Copy_Test008", 0, async function (done) { 2695bebb993Sopenharmony_ci console.info(TAG, 'Fs_Copy_Test008 start.'); 2705bebb993Sopenharmony_ci try { 2715bebb993Sopenharmony_ci await fs.copy(srcDirUriLocal, dstDirUriLocal, (err) => { 2725bebb993Sopenharmony_ci if (err) { 2735bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test008 failed, with error message: " + err.message + ", error code: " + err.code); 2745bebb993Sopenharmony_ci expect().assertFail(); 2755bebb993Sopenharmony_ci } else { 2765bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test008 success. "); 2775bebb993Sopenharmony_ci expect(true).assertTrue(); 2785bebb993Sopenharmony_ci } 2795bebb993Sopenharmony_ci done(); 2805bebb993Sopenharmony_ci }) 2815bebb993Sopenharmony_ci } catch (err) { 2825bebb993Sopenharmony_ci console.error("Fs_Copy_Test008 failed with invalid param: " + err.message + ", error code: " + err.code); 2835bebb993Sopenharmony_ci expect().assertFail(); 2845bebb993Sopenharmony_ci done(); 2855bebb993Sopenharmony_ci } finally { 2865bebb993Sopenharmony_ci fs.rmdirSync(srcDirPathLocal); 2875bebb993Sopenharmony_ci fs.rmdirSync(dstDirPathLocal); 2885bebb993Sopenharmony_ci } 2895bebb993Sopenharmony_ci }); 2905bebb993Sopenharmony_ci 2915bebb993Sopenharmony_ci /* 2925bebb993Sopenharmony_ci * @tc.name:Fs_Copy_Test009 2935bebb993Sopenharmony_ci * @tc.desc:test fs.copy, copy file and write the contents but dest dir isn't exist 2945bebb993Sopenharmony_ci * @tc.type: FUNC 2955bebb993Sopenharmony_ci * @tc.require: #I8UV2F 2965bebb993Sopenharmony_ci */ 2975bebb993Sopenharmony_ci it("Fs_Copy_Test009", 0, async function (done) { 2985bebb993Sopenharmony_ci console.info(TAG, 'Fs_Copy_Test009 start.'); 2995bebb993Sopenharmony_ci try { 3005bebb993Sopenharmony_ci fs.mkdirSync(srcDirPathLocal); 3015bebb993Sopenharmony_ci let file = fs.openSync(srcFilePathLocal, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); 3025bebb993Sopenharmony_ci fs.writeSync(file.fd, 'ttttttttttttt'); 3035bebb993Sopenharmony_ci fs.closeSync(file); 3045bebb993Sopenharmony_ci await fs.copy(srcFileUriLocal, dstFileUriLocal, (err) => { 3055bebb993Sopenharmony_ci if (err) { 3065bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test009 failed, with error message: " + err.message + ", error code: " + err.code); 3075bebb993Sopenharmony_ci expect(true).assertTrue(); 3085bebb993Sopenharmony_ci } else { 3095bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test009 success. "); 3105bebb993Sopenharmony_ci expect().assertFail(); 3115bebb993Sopenharmony_ci } 3125bebb993Sopenharmony_ci done(); 3135bebb993Sopenharmony_ci }) 3145bebb993Sopenharmony_ci } catch (err) { 3155bebb993Sopenharmony_ci console.error("Fs_Copy_Test009 failed with invalid param: " + err.message + ", error code: " + err.code); 3165bebb993Sopenharmony_ci expect(true).assertTrue(); 3175bebb993Sopenharmony_ci done(); 3185bebb993Sopenharmony_ci } finally { 3195bebb993Sopenharmony_ci fs.rmdirSync(srcDirPathLocal); 3205bebb993Sopenharmony_ci } 3215bebb993Sopenharmony_ci }); 3225bebb993Sopenharmony_ci 3235bebb993Sopenharmony_ci /* 3245bebb993Sopenharmony_ci * @tc.name:Fs_Copy_Test010 3255bebb993Sopenharmony_ci * @tc.desc:test fs.copy, copy dir and file in the src path 3265bebb993Sopenharmony_ci * @tc.type: FUNC 3275bebb993Sopenharmony_ci * @tc.require: #I8UV2F 3285bebb993Sopenharmony_ci */ 3295bebb993Sopenharmony_ci it("Fs_Copy_Test010", 0, async function (done) { 3305bebb993Sopenharmony_ci console.info(TAG, 'Fs_Copy_Test010 start.'); 3315bebb993Sopenharmony_ci try { 3325bebb993Sopenharmony_ci fs.mkdirSync(srcDirPathLocal); 3335bebb993Sopenharmony_ci fs.mkdirSync(dstDirPathLocal); 3345bebb993Sopenharmony_ci let file = fs.openSync(srcFilePathLocal, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); 3355bebb993Sopenharmony_ci fs.writeSync(file.fd, 'ttttttttttttt'); 3365bebb993Sopenharmony_ci fs.closeSync(file); 3375bebb993Sopenharmony_ci await fs.copy(srcDirUriLocal, dstDirUriLocal, (err) => { 3385bebb993Sopenharmony_ci if (err) { 3395bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test010 failed, with error message: " + err.message + ", error code: " + err.code); 3405bebb993Sopenharmony_ci expect().assertFail(); 3415bebb993Sopenharmony_ci } else { 3425bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test010 success. "); 3435bebb993Sopenharmony_ci expect(true).assertTrue(); 3445bebb993Sopenharmony_ci } 3455bebb993Sopenharmony_ci done(); 3465bebb993Sopenharmony_ci }) 3475bebb993Sopenharmony_ci } catch (err) { 3485bebb993Sopenharmony_ci console.error("Fs_Copy_Test010 failed with invalid param: " + err.message + ", error code: " + err.code); 3495bebb993Sopenharmony_ci expect().assertFail(); 3505bebb993Sopenharmony_ci done(); 3515bebb993Sopenharmony_ci } 3525bebb993Sopenharmony_ci }); 3535bebb993Sopenharmony_ci 3545bebb993Sopenharmony_ci /* 3555bebb993Sopenharmony_ci * @tc.name:Fs_Copy_Test011 3565bebb993Sopenharmony_ci * @tc.desc:test fs.copy, copy file to file with listener 3575bebb993Sopenharmony_ci * @tc.type: FUNC 3585bebb993Sopenharmony_ci * @tc.require: #I8UV2F 3595bebb993Sopenharmony_ci */ 3605bebb993Sopenharmony_ci it("Fs_Copy_Test011", 0, async function (done) { 3615bebb993Sopenharmony_ci console.info(TAG, 'Fs_Copy_Test011 start.'); 3625bebb993Sopenharmony_ci try { 3635bebb993Sopenharmony_ci let flag = false; 3645bebb993Sopenharmony_ci let progressListener = (progress) => { 3655bebb993Sopenharmony_ci flag = true; 3665bebb993Sopenharmony_ci console.info("Fs_Copy_Test011 progressListener in, progressSize: " + progress.processedSize + ", totalSize: " + progress.totalSize + 3675bebb993Sopenharmony_ci " progress: " + (progress.processedSize / progress.totalSize * 100).toFixed(2) + "%"); 3685bebb993Sopenharmony_ci }; 3695bebb993Sopenharmony_ci let options = { 3705bebb993Sopenharmony_ci "progressListener": progressListener 3715bebb993Sopenharmony_ci } 3725bebb993Sopenharmony_ci let file = fs.openSync(srcFilePathLocal, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); 3735bebb993Sopenharmony_ci fs.writeSync(file.fd, 'ttttttttttttt'); 3745bebb993Sopenharmony_ci fs.closeSync(file); 3755bebb993Sopenharmony_ci await fs.copy(srcFileUriLocal, dstFileUriLocal, options, (err) => { 3765bebb993Sopenharmony_ci if (err) { 3775bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test011 failed, with error message: " + err.message + ", error code: " + err.code); 3785bebb993Sopenharmony_ci expect().assertFail(); 3795bebb993Sopenharmony_ci } else { 3805bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test011 success. "); 3815bebb993Sopenharmony_ci expect(true).assertTrue(); 3825bebb993Sopenharmony_ci } 3835bebb993Sopenharmony_ci done(); 3845bebb993Sopenharmony_ci }) 3855bebb993Sopenharmony_ci setTimeout(function () { 3865bebb993Sopenharmony_ci if (!flag) { 3875bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test013 progressListener error. "); 3885bebb993Sopenharmony_ci expect().assertFail(); 3895bebb993Sopenharmony_ci done(); 3905bebb993Sopenharmony_ci return; 3915bebb993Sopenharmony_ci } 3925bebb993Sopenharmony_ci expect(true).assertTrue(); 3935bebb993Sopenharmony_ci done(); 3945bebb993Sopenharmony_ci }, 100); 3955bebb993Sopenharmony_ci } catch (err) { 3965bebb993Sopenharmony_ci console.error("Fs_Copy_Test011 failed with invalid param: " + err.message + ", error code: " + err.code); 3975bebb993Sopenharmony_ci expect().assertFail(); 3985bebb993Sopenharmony_ci done(); 3995bebb993Sopenharmony_ci } 4005bebb993Sopenharmony_ci }); 4015bebb993Sopenharmony_ci 4025bebb993Sopenharmony_ci /* 4035bebb993Sopenharmony_ci * @tc.name:Fs_Copy_Test012 4045bebb993Sopenharmony_ci * @tc.desc:test fs.copy, copy dir to dir with listener 4055bebb993Sopenharmony_ci * @tc.type: FUNC 4065bebb993Sopenharmony_ci * @tc.require: #I8UV2F 4075bebb993Sopenharmony_ci */ 4085bebb993Sopenharmony_ci it("Fs_Copy_Test012", 0, async function (done) { 4095bebb993Sopenharmony_ci console.info(TAG, 'Fs_Copy_Test012 start.'); 4105bebb993Sopenharmony_ci try { 4115bebb993Sopenharmony_ci let flag = false; 4125bebb993Sopenharmony_ci let progressListener = (progress) => { 4135bebb993Sopenharmony_ci flag = true; 4145bebb993Sopenharmony_ci console.info("Fs_Copy_Test012 progressListener in, progressSize: " + progress.processedSize + ", totalSize: " + progress.totalSize + 4155bebb993Sopenharmony_ci " progress: " + (progress.processedSize / progress.totalSize * 100).toFixed(2) + "%"); 4165bebb993Sopenharmony_ci }; 4175bebb993Sopenharmony_ci let options = { 4185bebb993Sopenharmony_ci "progressListener": progressListener 4195bebb993Sopenharmony_ci } 4205bebb993Sopenharmony_ci await fs.copy(srcDirUriLocal, dstDirUriLocal, options, (err) => { 4215bebb993Sopenharmony_ci if (err) { 4225bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test012 failed, with error message: " + err.message + ", error code: " + err.code); 4235bebb993Sopenharmony_ci expect().assertFail(); 4245bebb993Sopenharmony_ci } else { 4255bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test012 success. "); 4265bebb993Sopenharmony_ci } 4275bebb993Sopenharmony_ci }) 4285bebb993Sopenharmony_ci setTimeout(function () { 4295bebb993Sopenharmony_ci if (!flag) { 4305bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test013 progressListener error. "); 4315bebb993Sopenharmony_ci expect().assertFail(); 4325bebb993Sopenharmony_ci done(); 4335bebb993Sopenharmony_ci return; 4345bebb993Sopenharmony_ci } 4355bebb993Sopenharmony_ci expect(true).assertTrue(); 4365bebb993Sopenharmony_ci done(); 4375bebb993Sopenharmony_ci }, 100); 4385bebb993Sopenharmony_ci } catch (err) { 4395bebb993Sopenharmony_ci console.error("Fs_Copy_Test012 failed with invalid param: " + err.message + ", error code: " + err.code); 4405bebb993Sopenharmony_ci expect().assertFail(); 4415bebb993Sopenharmony_ci done(); 4425bebb993Sopenharmony_ci } 4435bebb993Sopenharmony_ci }); 4445bebb993Sopenharmony_ci 4455bebb993Sopenharmony_ci /* 4465bebb993Sopenharmony_ci * @tc.name:Fs_Copy_Test013 4475bebb993Sopenharmony_ci * @tc.desc:test fs.copy, copy file to file with listener promise 4485bebb993Sopenharmony_ci * @tc.type: FUNC 4495bebb993Sopenharmony_ci * @tc.require: #I8UV2F 4505bebb993Sopenharmony_ci */ 4515bebb993Sopenharmony_ci it("Fs_Copy_Test013", 0, async function (done) { 4525bebb993Sopenharmony_ci console.info(TAG, 'Fs_Copy_Test013 start.'); 4535bebb993Sopenharmony_ci try { 4545bebb993Sopenharmony_ci let flag = false; 4555bebb993Sopenharmony_ci let progressListener = (progress) => { 4565bebb993Sopenharmony_ci flag = true; 4575bebb993Sopenharmony_ci console.info("Fs_Copy_Test013 progressListener in, progressSize: " + progress.processedSize + ", totalSize: " + progress.totalSize + 4585bebb993Sopenharmony_ci " progress: " + (progress.processedSize / progress.totalSize * 100).toFixed(2) + "%"); 4595bebb993Sopenharmony_ci }; 4605bebb993Sopenharmony_ci let options = { 4615bebb993Sopenharmony_ci "progressListener": progressListener 4625bebb993Sopenharmony_ci } 4635bebb993Sopenharmony_ci let file = fs.openSync(srcFilePathLocal, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); 4645bebb993Sopenharmony_ci fs.writeSync(file.fd, 'ttttttttttttt'); 4655bebb993Sopenharmony_ci fs.closeSync(file); 4665bebb993Sopenharmony_ci await fs.copy(srcFileUriLocal, dstFileUriLocal, options).then((err) => { 4675bebb993Sopenharmony_ci if (err) { 4685bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test013 failed, with error message: " + err.message + ", error code: " + err.code); 4695bebb993Sopenharmony_ci expect().assertFail(); 4705bebb993Sopenharmony_ci } else { 4715bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test013 success. "); 4725bebb993Sopenharmony_ci } 4735bebb993Sopenharmony_ci }) 4745bebb993Sopenharmony_ci setTimeout(function () { 4755bebb993Sopenharmony_ci if (!flag) { 4765bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test013 progressListener error. "); 4775bebb993Sopenharmony_ci expect().assertFail(); 4785bebb993Sopenharmony_ci done(); 4795bebb993Sopenharmony_ci return; 4805bebb993Sopenharmony_ci } 4815bebb993Sopenharmony_ci expect(true).assertTrue(); 4825bebb993Sopenharmony_ci done(); 4835bebb993Sopenharmony_ci }, 100); 4845bebb993Sopenharmony_ci } catch (err) { 4855bebb993Sopenharmony_ci console.error("Fs_Copy_Test013 failed with invalid param: " + err.message + ", error code: " + err.code); 4865bebb993Sopenharmony_ci expect().assertFail(); 4875bebb993Sopenharmony_ci done(); 4885bebb993Sopenharmony_ci } 4895bebb993Sopenharmony_ci }); 4905bebb993Sopenharmony_ci 4915bebb993Sopenharmony_ci /* 4925bebb993Sopenharmony_ci * @tc.name:Fs_Copy_Test014 4935bebb993Sopenharmony_ci * @tc.desc:test fs.copy, copy dir to dir with listener promise 4945bebb993Sopenharmony_ci * @tc.type: FUNC 4955bebb993Sopenharmony_ci * @tc.require: #I8UV2F 4965bebb993Sopenharmony_ci */ 4975bebb993Sopenharmony_ci it("Fs_Copy_Test014", 0, async function (done) { 4985bebb993Sopenharmony_ci console.info(TAG, 'Fs_Copy_Test014 start.'); 4995bebb993Sopenharmony_ci try { 5005bebb993Sopenharmony_ci let flag = false; 5015bebb993Sopenharmony_ci let progressListener = (progress) => { 5025bebb993Sopenharmony_ci flag = true; 5035bebb993Sopenharmony_ci console.info("Fs_Copy_Test014 progressListener in, progressSize: " + progress.processedSize + ", totalSize: " + progress.totalSize + 5045bebb993Sopenharmony_ci " progress: " + (progress.processedSize / progress.totalSize * 100).toFixed(2) + "%"); 5055bebb993Sopenharmony_ci }; 5065bebb993Sopenharmony_ci let options = { 5075bebb993Sopenharmony_ci "progressListener": progressListener 5085bebb993Sopenharmony_ci } 5095bebb993Sopenharmony_ci await fs.copy(srcDirUriLocal, dstDirUriLocal, options).then((err) => { 5105bebb993Sopenharmony_ci if (err) { 5115bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test014 failed, with error message: " + err.message + ", error code: " + err.code); 5125bebb993Sopenharmony_ci expect().assertFail(); 5135bebb993Sopenharmony_ci done(); 5145bebb993Sopenharmony_ci } else { 5155bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test014 success. "); 5165bebb993Sopenharmony_ci } 5175bebb993Sopenharmony_ci setTimeout(function () { 5185bebb993Sopenharmony_ci if (!flag) { 5195bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test013 progressListener error. "); 5205bebb993Sopenharmony_ci expect().assertFail(); 5215bebb993Sopenharmony_ci done(); 5225bebb993Sopenharmony_ci return; 5235bebb993Sopenharmony_ci } 5245bebb993Sopenharmony_ci expect(true).assertTrue(); 5255bebb993Sopenharmony_ci done(); 5265bebb993Sopenharmony_ci }, 100); 5275bebb993Sopenharmony_ci }) 5285bebb993Sopenharmony_ci } catch (err) { 5295bebb993Sopenharmony_ci console.error("Fs_Copy_Test014 failed with invalid param: " + err.message + ", error code: " + err.code); 5305bebb993Sopenharmony_ci expect().assertFail(); 5315bebb993Sopenharmony_ci done(); 5325bebb993Sopenharmony_ci } 5335bebb993Sopenharmony_ci }); 5345bebb993Sopenharmony_ci 5355bebb993Sopenharmony_ci /* 5365bebb993Sopenharmony_ci * @tc.name:Fs_Copy_Test015 5375bebb993Sopenharmony_ci * @tc.desc:test fs.copy, copy file 2 times 5385bebb993Sopenharmony_ci * @tc.type: FUNC 5395bebb993Sopenharmony_ci * @tc.require: #I8UV2F 5405bebb993Sopenharmony_ci */ 5415bebb993Sopenharmony_ci it("Fs_Copy_Test015", 0, async function (done) { 5425bebb993Sopenharmony_ci console.info(TAG, 'Fs_Copy_Test015 start.'); 5435bebb993Sopenharmony_ci try { 5445bebb993Sopenharmony_ci let file = fs.openSync(srcFilePathLocal, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); 5455bebb993Sopenharmony_ci fs.writeSync(file.fd, 'ttttttttttttt'); 5465bebb993Sopenharmony_ci fs.closeSync(file); 5475bebb993Sopenharmony_ci await fs.copy(srcFileUriLocal, dstFileUriLocal, (err) => { 5485bebb993Sopenharmony_ci if (err) { 5495bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test015_first failed, with error message: " + err.message + ", error code: " + err.code); 5505bebb993Sopenharmony_ci expect().assertFail(); 5515bebb993Sopenharmony_ci done(); 5525bebb993Sopenharmony_ci } else { 5535bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test015_first success. "); 5545bebb993Sopenharmony_ci } 5555bebb993Sopenharmony_ci }) 5565bebb993Sopenharmony_ci 5575bebb993Sopenharmony_ci await fs.copy(srcDirUriLocal, dstDirUriLocal, (err) => { 5585bebb993Sopenharmony_ci if (err) { 5595bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test015_second failed, with error message: " + err.message + ", error code: " + err.code); 5605bebb993Sopenharmony_ci expect().assertFail(); 5615bebb993Sopenharmony_ci } else { 5625bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test015_second success. "); 5635bebb993Sopenharmony_ci expect(true).assertTrue(); 5645bebb993Sopenharmony_ci fs.rmdirSync(srcDirPathLocal); 5655bebb993Sopenharmony_ci fs.rmdirSync(dstDirPathLocal); 5665bebb993Sopenharmony_ci } 5675bebb993Sopenharmony_ci done(); 5685bebb993Sopenharmony_ci }) 5695bebb993Sopenharmony_ci } catch (err) { 5705bebb993Sopenharmony_ci console.error("Fs_Copy_Test015 failed with invalid param: " + err.message + ", error code: " + err.code); 5715bebb993Sopenharmony_ci expect().assertFail(); 5725bebb993Sopenharmony_ci done(); 5735bebb993Sopenharmony_ci } 5745bebb993Sopenharmony_ci }); 5755bebb993Sopenharmony_ci 5765bebb993Sopenharmony_ci /* 5775bebb993Sopenharmony_ci * @tc.name:Fs_Copy_Test016 5785bebb993Sopenharmony_ci * @tc.desc:test fs.copy, copy empty file 5795bebb993Sopenharmony_ci * @tc.type: FUNC 5805bebb993Sopenharmony_ci * @tc.require: #I8UV2F 5815bebb993Sopenharmony_ci */ 5825bebb993Sopenharmony_ci it("Fs_Copy_Test016", 0, async function (done) { 5835bebb993Sopenharmony_ci console.info(TAG, 'Fs_Copy_Test016 start.'); 5845bebb993Sopenharmony_ci try { 5855bebb993Sopenharmony_ci if (fs.accessSync(srcFilePathLocal)) { 5865bebb993Sopenharmony_ci fs.unlinkSync(srcFilePathLocal); 5875bebb993Sopenharmony_ci } 5885bebb993Sopenharmony_ci fs.mkdirSync(srcDirPathLocal); 5895bebb993Sopenharmony_ci fs.mkdirSync(dstDirPathLocal); 5905bebb993Sopenharmony_ci let file = fs.openSync(srcFilePathLocal, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); 5915bebb993Sopenharmony_ci fs.closeSync(file); 5925bebb993Sopenharmony_ci await fs.copy(srcFileUriLocal, dstFileUriLocal, (err) => { 5935bebb993Sopenharmony_ci if (err) { 5945bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test016 failed, with error message: " + err.message + ", error code: " + err.code); 5955bebb993Sopenharmony_ci expect().assertFail(); 5965bebb993Sopenharmony_ci } else { 5975bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test016 success. "); 5985bebb993Sopenharmony_ci expect(true).assertTrue(); 5995bebb993Sopenharmony_ci } 6005bebb993Sopenharmony_ci done(); 6015bebb993Sopenharmony_ci }) 6025bebb993Sopenharmony_ci } catch (err) { 6035bebb993Sopenharmony_ci console.error("Fs_Copy_Test016 failed with invalid param: " + err.message + ", error code: " + err.code); 6045bebb993Sopenharmony_ci expect().assertFail(); 6055bebb993Sopenharmony_ci done(); 6065bebb993Sopenharmony_ci } 6075bebb993Sopenharmony_ci }); 6085bebb993Sopenharmony_ci 6095bebb993Sopenharmony_ci /* 6105bebb993Sopenharmony_ci * @tc.name:Fs_Copy_Test017 6115bebb993Sopenharmony_ci * @tc.desc:test fs.copy, copy empty dir 6125bebb993Sopenharmony_ci * @tc.type: FUNC 6135bebb993Sopenharmony_ci * @tc.require: #I8UV2F 6145bebb993Sopenharmony_ci */ 6155bebb993Sopenharmony_ci it("Fs_Copy_Test017", 0, async function (done) { 6165bebb993Sopenharmony_ci console.info(TAG, 'Fs_Copy_Test017 start.'); 6175bebb993Sopenharmony_ci try { 6185bebb993Sopenharmony_ci if (fs.accessSync(srcFilePathLocal)) { 6195bebb993Sopenharmony_ci fs.unlinkSync(srcFilePathLocal); 6205bebb993Sopenharmony_ci } 6215bebb993Sopenharmony_ci await fs.copy(srcDirUriLocal, dstDirUriLocal, (err) => { 6225bebb993Sopenharmony_ci if (err) { 6235bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test017 failed, with error message: " + err.message + ", error code: " + err.code); 6245bebb993Sopenharmony_ci expect().assertFail(); 6255bebb993Sopenharmony_ci } else { 6265bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test017 success. "); 6275bebb993Sopenharmony_ci expect(true).assertTrue(); 6285bebb993Sopenharmony_ci } 6295bebb993Sopenharmony_ci done(); 6305bebb993Sopenharmony_ci }) 6315bebb993Sopenharmony_ci } catch (err) { 6325bebb993Sopenharmony_ci console.error("Fs_Copy_Test017 failed with invalid param: " + err.message + ", error code: " + err.code); 6335bebb993Sopenharmony_ci expect().assertFail(); 6345bebb993Sopenharmony_ci done(); 6355bebb993Sopenharmony_ci } 6365bebb993Sopenharmony_ci }); 6375bebb993Sopenharmony_ci 6385bebb993Sopenharmony_ci /* 6395bebb993Sopenharmony_ci * @tc.name:Fs_Copy_Test018 6405bebb993Sopenharmony_ci * @tc.desc:test fs.copy, copy empty dir 6415bebb993Sopenharmony_ci * @tc.type: FUNC 6425bebb993Sopenharmony_ci * @tc.require: #I8UV2F 6435bebb993Sopenharmony_ci */ 6445bebb993Sopenharmony_ci it("Fs_Copy_Test018", 0, async function (done) { 6455bebb993Sopenharmony_ci console.info(TAG, 'Fs_Copy_Test017 start.'); 6465bebb993Sopenharmony_ci try { 6475bebb993Sopenharmony_ci let flag = false; 6485bebb993Sopenharmony_ci let progressListener = (progress) => { 6495bebb993Sopenharmony_ci flag = true; 6505bebb993Sopenharmony_ci console.info("Fs_Copy_Test018 progressListener in, progressSize: " + progress.processedSize + ", totalSize: " + progress.totalSize); 6515bebb993Sopenharmony_ci }; 6525bebb993Sopenharmony_ci let options = { 6535bebb993Sopenharmony_ci "progressListener": progressListener 6545bebb993Sopenharmony_ci } 6555bebb993Sopenharmony_ci if (fs.accessSync(srcFilePathLocal)) { 6565bebb993Sopenharmony_ci fs.unlinkSync(srcFilePathLocal); 6575bebb993Sopenharmony_ci } 6585bebb993Sopenharmony_ci await fs.copy(srcDirUriLocal, dstDirUriLocal, options, (err) => { 6595bebb993Sopenharmony_ci if (err) { 6605bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test018 failed, with error message: " + err.message + ", error code: " + err.code); 6615bebb993Sopenharmony_ci expect().assertFail(); 6625bebb993Sopenharmony_ci done(); 6635bebb993Sopenharmony_ci } else { 6645bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test018 success. "); 6655bebb993Sopenharmony_ci } 6665bebb993Sopenharmony_ci }) 6675bebb993Sopenharmony_ci setTimeout(function () { 6685bebb993Sopenharmony_ci if (!flag) { 6695bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test013 progressListener error. "); 6705bebb993Sopenharmony_ci expect().assertFail(); 6715bebb993Sopenharmony_ci done(); 6725bebb993Sopenharmony_ci return; 6735bebb993Sopenharmony_ci } 6745bebb993Sopenharmony_ci expect(true).assertTrue(); 6755bebb993Sopenharmony_ci done(); 6765bebb993Sopenharmony_ci }, 100); 6775bebb993Sopenharmony_ci } catch (err) { 6785bebb993Sopenharmony_ci console.error("Fs_Copy_Test018 failed with invalid param: " + err.message + ", error code: " + err.code); 6795bebb993Sopenharmony_ci expect().assertFail(); 6805bebb993Sopenharmony_ci done(); 6815bebb993Sopenharmony_ci } 6825bebb993Sopenharmony_ci }); 6835bebb993Sopenharmony_ci 6845bebb993Sopenharmony_ci /* 6855bebb993Sopenharmony_ci * @tc.name:Fs_Copy_Test019 6865bebb993Sopenharmony_ci * @tc.desc:test fs.copy file to itself 6875bebb993Sopenharmony_ci * @tc.type: FUNC 6885bebb993Sopenharmony_ci * @tc.require: #I8UV2F 6895bebb993Sopenharmony_ci */ 6905bebb993Sopenharmony_ci it("Fs_Copy_Test019", 0, async function (done) { 6915bebb993Sopenharmony_ci console.info(TAG, 'Fs_Copy_Test019 start.'); 6925bebb993Sopenharmony_ci try { 6935bebb993Sopenharmony_ci await fs.copy(srcFileUriLocal, srcFileUriLocal, (err) => { 6945bebb993Sopenharmony_ci if (err) { 6955bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test019 failed, with error message: " + err.message + ", error code: " + err.code); 6965bebb993Sopenharmony_ci expect(true).assertTrue(); 6975bebb993Sopenharmony_ci } else { 6985bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test019 success. "); 6995bebb993Sopenharmony_ci expect().assertFail(); 7005bebb993Sopenharmony_ci } 7015bebb993Sopenharmony_ci done(); 7025bebb993Sopenharmony_ci }) 7035bebb993Sopenharmony_ci } catch (err) { 7045bebb993Sopenharmony_ci console.error("Fs_Copy_Test019 failed with invalid param: " + err.message + ", error code: " + err.code); 7055bebb993Sopenharmony_ci expect(false).assertTrue(); 7065bebb993Sopenharmony_ci done(); 7075bebb993Sopenharmony_ci } 7085bebb993Sopenharmony_ci }); 7095bebb993Sopenharmony_ci 7105bebb993Sopenharmony_ci /* 7115bebb993Sopenharmony_ci * @tc.name:Fs_Copy_Test020 7125bebb993Sopenharmony_ci * @tc.desc:test fs.copy, copy muilt empty dir 7135bebb993Sopenharmony_ci * @tc.type: FUNC 7145bebb993Sopenharmony_ci * @tc.require: #I8UV2F 7155bebb993Sopenharmony_ci */ 7165bebb993Sopenharmony_ci it("Fs_Copy_Test020", 0, async function (done) { 7175bebb993Sopenharmony_ci console.info(TAG, 'Fs_Copy_Test020 start.'); 7185bebb993Sopenharmony_ci try { 7195bebb993Sopenharmony_ci fs.mkdirSync(srcDirPathLocal+"/test1"); 7205bebb993Sopenharmony_ci fs.mkdirSync(srcDirPathLocal+"/test2"); 7215bebb993Sopenharmony_ci let progressListener = (progress) => { 7225bebb993Sopenharmony_ci console.info("Fs_Copy_Test020 progressListener in, progressSize: " + progress.processedSize + ", totalSize: " + progress.totalSize); 7235bebb993Sopenharmony_ci }; 7245bebb993Sopenharmony_ci let options = { 7255bebb993Sopenharmony_ci "progressListener": progressListener 7265bebb993Sopenharmony_ci } 7275bebb993Sopenharmony_ci await fs.copy(srcDirUriLocal, dstDirUriLocal, options, (err) => { 7285bebb993Sopenharmony_ci if (err) { 7295bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test020 failed, with error message: " + err.message + ", error code: " + err.code); 7305bebb993Sopenharmony_ci expect().assertFail(); 7315bebb993Sopenharmony_ci } else { 7325bebb993Sopenharmony_ci if (isDirectory(dstDirPathLocal + "/src/test1") && isDirectory(dstDirPathLocal + "/src/test2")) { 7335bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test020 success. "); 7345bebb993Sopenharmony_ci expect(true).assertTrue(); 7355bebb993Sopenharmony_ci done(); 7365bebb993Sopenharmony_ci return; 7375bebb993Sopenharmony_ci } 7385bebb993Sopenharmony_ci expect().assertFail(); 7395bebb993Sopenharmony_ci } 7405bebb993Sopenharmony_ci done(); 7415bebb993Sopenharmony_ci }) 7425bebb993Sopenharmony_ci } catch (err) { 7435bebb993Sopenharmony_ci console.error("Fs_Copy_Test020 failed with invalid param: " + err.message + ", error code: " + err.code); 7445bebb993Sopenharmony_ci expect().assertFail(); 7455bebb993Sopenharmony_ci done(); 7465bebb993Sopenharmony_ci } 7475bebb993Sopenharmony_ci }); 7485bebb993Sopenharmony_ci 7495bebb993Sopenharmony_ci /* 7505bebb993Sopenharmony_ci * @tc.name:Fs_Copy_Test021 7515bebb993Sopenharmony_ci * @tc.desc:test fs.copy, copy muilt dir contain files 7525bebb993Sopenharmony_ci * @tc.type: FUNC 7535bebb993Sopenharmony_ci * @tc.require: #I8UV2F 7545bebb993Sopenharmony_ci */ 7555bebb993Sopenharmony_ci it("Fs_Copy_Test021", 0, async function (done) { 7565bebb993Sopenharmony_ci console.info(TAG, 'Fs_Copy_Test021 start.'); 7575bebb993Sopenharmony_ci try { 7585bebb993Sopenharmony_ci let file1 = fs.openSync(muiltDirLocal + "/test1.txt", fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); 7595bebb993Sopenharmony_ci fs.writeSync(file1.fd, "ttttttttttttt"); 7605bebb993Sopenharmony_ci fs.closeSync(file1); 7615bebb993Sopenharmony_ci let file2 = fs.openSync(muiltDirLocal + "/test2.txt", fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); 7625bebb993Sopenharmony_ci fs.writeSync(file2.fd, "ttttttttttttt"); 7635bebb993Sopenharmony_ci fs.closeSync(file2); 7645bebb993Sopenharmony_ci let progressListener = (progress) => { 7655bebb993Sopenharmony_ci console.info("Fs_Copy_Test021 progressListener in, progressSize: " + progress.processedSize + ", totalSize: " + progress.totalSize + 7665bebb993Sopenharmony_ci " progress: " + (progress.processedSize / progress.totalSize * 100).toFixed(2) + "%"); 7675bebb993Sopenharmony_ci }; 7685bebb993Sopenharmony_ci let options = { 7695bebb993Sopenharmony_ci "progressListener": progressListener 7705bebb993Sopenharmony_ci } 7715bebb993Sopenharmony_ci await fs.copy(srcDirUriLocal, dstDirUriLocal, options, (err) => { 7725bebb993Sopenharmony_ci if (err) { 7735bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test021 failed, with error message: " + err.message + ", error code: " + err.code); 7745bebb993Sopenharmony_ci expect().assertFail(); 7755bebb993Sopenharmony_ci } else { 7765bebb993Sopenharmony_ci if (fs.accessSync(dstDirPathLocal +"/src/test1/test1.txt") && fs.accessSync(dstDirPathLocal + "/src/test1/test2.txt")) { 7775bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test021 success. "); 7785bebb993Sopenharmony_ci expect(true).assertTrue(); 7795bebb993Sopenharmony_ci done(); 7805bebb993Sopenharmony_ci return; 7815bebb993Sopenharmony_ci } 7825bebb993Sopenharmony_ci expect().assertFail(); 7835bebb993Sopenharmony_ci } 7845bebb993Sopenharmony_ci done(); 7855bebb993Sopenharmony_ci }) 7865bebb993Sopenharmony_ci } catch (err) { 7875bebb993Sopenharmony_ci console.error("Fs_Copy_Test021 failed with invalid param: " + err.message + ", error code: " + err.code); 7885bebb993Sopenharmony_ci expect().assertFail(); 7895bebb993Sopenharmony_ci done(); 7905bebb993Sopenharmony_ci } 7915bebb993Sopenharmony_ci }); 7925bebb993Sopenharmony_ci 7935bebb993Sopenharmony_ci /* 7945bebb993Sopenharmony_ci * @tc.name:Fs_Copy_Test022 7955bebb993Sopenharmony_ci * @tc.desc:test fs.copy, copy file 10 times 7965bebb993Sopenharmony_ci * @tc.type: FUNC 7975bebb993Sopenharmony_ci * @tc.require: #I8UV2F 7985bebb993Sopenharmony_ci */ 7995bebb993Sopenharmony_ci it("Fs_Copy_Test022", 0, async function (done) { 8005bebb993Sopenharmony_ci console.info(TAG, 'Fs_Copy_Test022 start.'); 8015bebb993Sopenharmony_ci try { 8025bebb993Sopenharmony_ci let file = fs.openSync(srcFilePathLocal, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); 8035bebb993Sopenharmony_ci fs.writeSync(file.fd, 'ttttttttttttt'); 8045bebb993Sopenharmony_ci fs.closeSync(file); 8055bebb993Sopenharmony_ci // execute the copy operation 10 times 8065bebb993Sopenharmony_ci for (let i = 0; i < 10; i++) { 8075bebb993Sopenharmony_ci const dstStitchFilePath = `${dstDirUriLocal}/file_${i}.txt`; 8085bebb993Sopenharmony_ci await fs.copy(srcFileUriLocal, dstStitchFilePath, (err) => { 8095bebb993Sopenharmony_ci if (err) { 8105bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test022 failed, with error message: " + err.message + ", error code: " + err.code); 8115bebb993Sopenharmony_ci expect().assertFail(); 8125bebb993Sopenharmony_ci done(); 8135bebb993Sopenharmony_ci } else { 8145bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test022 success. "); 8155bebb993Sopenharmony_ci } 8165bebb993Sopenharmony_ci }) 8175bebb993Sopenharmony_ci } 8185bebb993Sopenharmony_ci expect(true).assertTrue(); 8195bebb993Sopenharmony_ci done(); 8205bebb993Sopenharmony_ci } catch (err) { 8215bebb993Sopenharmony_ci console.error("Fs_Copy_Test022 failed with invalid param: " + err.message + ", error code: " + err.code); 8225bebb993Sopenharmony_ci expect().assertFail(); 8235bebb993Sopenharmony_ci done(); 8245bebb993Sopenharmony_ci } 8255bebb993Sopenharmony_ci }); 8265bebb993Sopenharmony_ci 8275bebb993Sopenharmony_ci /* 8285bebb993Sopenharmony_ci * @tc.name:Fs_Copy_Test023 8295bebb993Sopenharmony_ci * @tc.desc:test fs.copy, copy 1KB file 8305bebb993Sopenharmony_ci * @tc.type: FUNC 8315bebb993Sopenharmony_ci * @tc.require: #I8UV2F 8325bebb993Sopenharmony_ci */ 8335bebb993Sopenharmony_ci it("Fs_Copy_Test023", 0, async function (done) { 8345bebb993Sopenharmony_ci console.info(TAG, 'Fs_Copy_Test023 start.'); 8355bebb993Sopenharmony_ci try { 8365bebb993Sopenharmony_ci let file = fs.openSync(srcFilePathLocal, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); 8375bebb993Sopenharmony_ci let content = 't'.repeat(1024); 8385bebb993Sopenharmony_ci fs.writeSync(file.fd, content); 8395bebb993Sopenharmony_ci fs.closeSync(file); 8405bebb993Sopenharmony_ci let progressListener = (progress) => { 8415bebb993Sopenharmony_ci console.info("Fs_Copy_Test023 progressListener in, progressSize: " + progress.processedSize + ", totalSize: " + progress.totalSize + 8425bebb993Sopenharmony_ci " progress: " + (progress.processedSize / progress.totalSize * 100).toFixed(2) + "%"); 8435bebb993Sopenharmony_ci }; 8445bebb993Sopenharmony_ci let options = { 8455bebb993Sopenharmony_ci "progressListener": progressListener 8465bebb993Sopenharmony_ci } 8475bebb993Sopenharmony_ci await fs.copy(srcFileUriLocal, dstFileUriLocal, options, (err) => { 8485bebb993Sopenharmony_ci if (err) { 8495bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test023 failed, with error message: " + err.message + ", error code: " + err.code); 8505bebb993Sopenharmony_ci expect().assertFail(); 8515bebb993Sopenharmony_ci } else { 8525bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test023 success. "); 8535bebb993Sopenharmony_ci expect(true).assertTrue(); 8545bebb993Sopenharmony_ci } 8555bebb993Sopenharmony_ci done(); 8565bebb993Sopenharmony_ci }) 8575bebb993Sopenharmony_ci } catch (err) { 8585bebb993Sopenharmony_ci console.error("Fs_Copy_Test023 failed with invalid param: " + err.message + ", error code: " + err.code); 8595bebb993Sopenharmony_ci expect().assertFail(); 8605bebb993Sopenharmony_ci done(); 8615bebb993Sopenharmony_ci } 8625bebb993Sopenharmony_ci }); 8635bebb993Sopenharmony_ci 8645bebb993Sopenharmony_ci /* 8655bebb993Sopenharmony_ci * @tc.name:Fs_Copy_Test024 8665bebb993Sopenharmony_ci * @tc.desc:test fs.copy, copy 100MB file 8675bebb993Sopenharmony_ci * @tc.type: FUNC 8685bebb993Sopenharmony_ci * @tc.require: #I8UV2F 8695bebb993Sopenharmony_ci */ 8705bebb993Sopenharmony_ci it("Fs_Copy_Test024", 0, async function (done) { 8715bebb993Sopenharmony_ci console.info(TAG, 'Fs_Copy_Test024 start.'); 8725bebb993Sopenharmony_ci try { 8735bebb993Sopenharmony_ci let file = fs.openSync(srcFilePathLocal, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); 8745bebb993Sopenharmony_ci let content = 't'.repeat(1024 * 1024 * 100); 8755bebb993Sopenharmony_ci fs.writeSync(file.fd, content); 8765bebb993Sopenharmony_ci fs.closeSync(file); 8775bebb993Sopenharmony_ci let progressListener = (progress) => { 8785bebb993Sopenharmony_ci console.info("Fs_Copy_Test024 progressListener in, progressSize: " + progress.processedSize + ", totalSize: " + progress.totalSize + 8795bebb993Sopenharmony_ci " progress: " + (progress.processedSize / progress.totalSize * 100).toFixed(2) + "%"); 8805bebb993Sopenharmony_ci }; 8815bebb993Sopenharmony_ci let options = { 8825bebb993Sopenharmony_ci "progressListener": progressListener 8835bebb993Sopenharmony_ci } 8845bebb993Sopenharmony_ci await fs.copy(srcFileUriLocal, dstFileUriLocal, options, (err) => { 8855bebb993Sopenharmony_ci if (err) { 8865bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test024 failed, with error message: " + err.message + ", error code: " + err.code); 8875bebb993Sopenharmony_ci expect().assertFail(); 8885bebb993Sopenharmony_ci } else { 8895bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test024 success. "); 8905bebb993Sopenharmony_ci expect(true).assertTrue(); 8915bebb993Sopenharmony_ci } 8925bebb993Sopenharmony_ci done(); 8935bebb993Sopenharmony_ci }) 8945bebb993Sopenharmony_ci } catch (err) { 8955bebb993Sopenharmony_ci console.error("Fs_Copy_Test024 failed with invalid param: " + err.message + ", error code: " + err.code); 8965bebb993Sopenharmony_ci expect().assertFail(); 8975bebb993Sopenharmony_ci done(); 8985bebb993Sopenharmony_ci } 8995bebb993Sopenharmony_ci }); 9005bebb993Sopenharmony_ci 9015bebb993Sopenharmony_ci /* 9025bebb993Sopenharmony_ci * @tc.name:Fs_Copy_Test025 9035bebb993Sopenharmony_ci * @tc.desc:test fs.copy dir to own directory1 9045bebb993Sopenharmony_ci * @tc.type: FUNC 9055bebb993Sopenharmony_ci * @tc.require: #I8UV2F 9065bebb993Sopenharmony_ci */ 9075bebb993Sopenharmony_ci it("Fs_Copy_Test025", 0, async function (done) { 9085bebb993Sopenharmony_ci console.info(TAG, 'Fs_Copy_Test025 start.'); 9095bebb993Sopenharmony_ci try { 9105bebb993Sopenharmony_ci await fs.copy(srcDirUriLocal, srcDirUriLocal+"/", (err) => { 9115bebb993Sopenharmony_ci if (err) { 9125bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test025 failed, with error message: " + err.message + ", error code: " + err.code); 9135bebb993Sopenharmony_ci expect(true).assertTrue(); 9145bebb993Sopenharmony_ci } else { 9155bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test025 success. "); 9165bebb993Sopenharmony_ci expect().assertFail(); 9175bebb993Sopenharmony_ci } 9185bebb993Sopenharmony_ci done(); 9195bebb993Sopenharmony_ci }) 9205bebb993Sopenharmony_ci } catch (err) { 9215bebb993Sopenharmony_ci console.error("Fs_Copy_Test025 failed with invalid param: " + err.message + ", error code: " + err.code); 9225bebb993Sopenharmony_ci expect().assertFail(); 9235bebb993Sopenharmony_ci done(); 9245bebb993Sopenharmony_ci } 9255bebb993Sopenharmony_ci }); 9265bebb993Sopenharmony_ci 9275bebb993Sopenharmony_ci /* 9285bebb993Sopenharmony_ci * @tc.name:Fs_Copy_Test026 9295bebb993Sopenharmony_ci * @tc.desc:test fs.copy dir to own directory2 9305bebb993Sopenharmony_ci * @tc.type: FUNC 9315bebb993Sopenharmony_ci * @tc.require: #I8UV2F 9325bebb993Sopenharmony_ci */ 9335bebb993Sopenharmony_ci it("Fs_Copy_Test026", 0, async function (done) { 9345bebb993Sopenharmony_ci console.info(TAG, 'Fs_Copy_Test026 start.'); 9355bebb993Sopenharmony_ci try { 9365bebb993Sopenharmony_ci await fs.copy(srcDirUriLocal+"/", srcDirUriLocal, (err) => { 9375bebb993Sopenharmony_ci if (err) { 9385bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test026 failed, with error message: " + err.message + ", error code: " + err.code); 9395bebb993Sopenharmony_ci expect(true).assertTrue(); 9405bebb993Sopenharmony_ci } else { 9415bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test026 success. "); 9425bebb993Sopenharmony_ci expect().assertFail(); 9435bebb993Sopenharmony_ci } 9445bebb993Sopenharmony_ci done(); 9455bebb993Sopenharmony_ci }) 9465bebb993Sopenharmony_ci } catch (err) { 9475bebb993Sopenharmony_ci console.error("Fs_Copy_Test026 failed with invalid param: " + err.message + ", error code: " + err.code); 9485bebb993Sopenharmony_ci expect().assertFail(); 9495bebb993Sopenharmony_ci done(); 9505bebb993Sopenharmony_ci } 9515bebb993Sopenharmony_ci }); 9525bebb993Sopenharmony_ci 9535bebb993Sopenharmony_ci /* 9545bebb993Sopenharmony_ci * @tc.name:Fs_Copy_Test027 9555bebb993Sopenharmony_ci * @tc.desc:test fs.copy file wiht no suffix 9565bebb993Sopenharmony_ci * @tc.type: FUNC 9575bebb993Sopenharmony_ci * @tc.require: #I8UV2F 9585bebb993Sopenharmony_ci */ 9595bebb993Sopenharmony_ci it("Fs_Copy_Test027", 0, async function (done) { 9605bebb993Sopenharmony_ci console.info(TAG, 'Fs_Copy_Test027 start.'); 9615bebb993Sopenharmony_ci try { 9625bebb993Sopenharmony_ci let file = fs.openSync(srcNoSuffixFileLocal, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); 9635bebb993Sopenharmony_ci fs.writeSync(file.fd, "ttttttttttttt"); 9645bebb993Sopenharmony_ci fs.closeSync(file); 9655bebb993Sopenharmony_ci await fs.copy(srcNoSuffixFileUriLocal, dstDirUriLocal, (err) => { 9665bebb993Sopenharmony_ci if (err) { 9675bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test027 failed, with error message: " + err.message + ", error code: " + err.code); 9685bebb993Sopenharmony_ci expect(true).assertTrue(); 9695bebb993Sopenharmony_ci } else { 9705bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test027 success. "); 9715bebb993Sopenharmony_ci expect().assertFail(); 9725bebb993Sopenharmony_ci } 9735bebb993Sopenharmony_ci done(); 9745bebb993Sopenharmony_ci }) 9755bebb993Sopenharmony_ci } catch (err) { 9765bebb993Sopenharmony_ci console.error("Fs_Copy_Test027 failed with invalid param: " + err.message + ", error code: " + err.code); 9775bebb993Sopenharmony_ci expect().assertFail(); 9785bebb993Sopenharmony_ci done(); 9795bebb993Sopenharmony_ci } 9805bebb993Sopenharmony_ci }); 9815bebb993Sopenharmony_ci /* 9825bebb993Sopenharmony_ci * @tc.name:Fs_Copy_Test028 9835bebb993Sopenharmony_ci * @tc.desc:test fs.copy file with indiscriminate parameter 9845bebb993Sopenharmony_ci * @tc.type: FUNC 9855bebb993Sopenharmony_ci * @tc.require: #I8UV2F 9865bebb993Sopenharmony_ci */ 9875bebb993Sopenharmony_ci it("Fs_Copy_Test028", 0, async function (done) { 9885bebb993Sopenharmony_ci console.info(TAG, 'Fs_Copy_Test028 start.'); 9895bebb993Sopenharmony_ci try { 9905bebb993Sopenharmony_ci let srcPath = pathDir+"/./pppppp"; 9915bebb993Sopenharmony_ci let destPath =pathDir+ "/ttt/pppppp"; 9925bebb993Sopenharmony_ci let srcUriPath = fileuri.getUriFromPath(srcPath); 9935bebb993Sopenharmony_ci let destUriPath = fileuri.getUriFromPath(destPath); 9945bebb993Sopenharmony_ci fs.mkdirSync(srcPath); 9955bebb993Sopenharmony_ci await fs.copy(srcUriPath, destUriPath, (err) => { 9965bebb993Sopenharmony_ci if (err) { 9975bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test028 failed, with error message: " + err.message + ", error code: " + err.code); 9985bebb993Sopenharmony_ci expect(true).assertTrue(); 9995bebb993Sopenharmony_ci } else { 10005bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test028 success. "); 10015bebb993Sopenharmony_ci expect().assertFail(); 10025bebb993Sopenharmony_ci } 10035bebb993Sopenharmony_ci done(); 10045bebb993Sopenharmony_ci }) 10055bebb993Sopenharmony_ci } catch (err) { 10065bebb993Sopenharmony_ci console.error("Fs_Copy_Test028 failed with invalid param: " + err.message + ", error code: " + err.code); 10075bebb993Sopenharmony_ci expect().assertFail(); 10085bebb993Sopenharmony_ci done(); 10095bebb993Sopenharmony_ci } 10105bebb993Sopenharmony_ci }); 10115bebb993Sopenharmony_ci 10125bebb993Sopenharmony_ci /* 10135bebb993Sopenharmony_ci * @tc.name:Fs_Copy_Test029 10145bebb993Sopenharmony_ci * @tc.desc:test fs.copy file with indiscriminate parameter2 10155bebb993Sopenharmony_ci * @tc.type: FUNC 10165bebb993Sopenharmony_ci * @tc.require: #I8UV2F 10175bebb993Sopenharmony_ci */ 10185bebb993Sopenharmony_ci it("Fs_Copy_Test029", 0, async function (done) { 10195bebb993Sopenharmony_ci console.info(TAG, 'Fs_Copy_Test029 start.'); 10205bebb993Sopenharmony_ci try { 10215bebb993Sopenharmony_ci let srcPath = pathDir+"/.////ssssss///"; 10225bebb993Sopenharmony_ci let destPath =pathDir+ "/ttt/ssssss//////"; 10235bebb993Sopenharmony_ci let srcUriPath = fileuri.getUriFromPath(srcPath); 10245bebb993Sopenharmony_ci let destUriPath = fileuri.getUriFromPath(destPath); 10255bebb993Sopenharmony_ci fs.mkdirSync(srcPath); 10265bebb993Sopenharmony_ci await fs.copy(srcUriPath, destUriPath, (err) => { 10275bebb993Sopenharmony_ci if (err) { 10285bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test029 failed, with error message: " + err.message + ", error code: " + err.code); 10295bebb993Sopenharmony_ci expect(true).assertTrue(); 10305bebb993Sopenharmony_ci } else { 10315bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test029 success. "); 10325bebb993Sopenharmony_ci expect().assertFail(); 10335bebb993Sopenharmony_ci } 10345bebb993Sopenharmony_ci done(); 10355bebb993Sopenharmony_ci }) 10365bebb993Sopenharmony_ci } catch (err) { 10375bebb993Sopenharmony_ci console.error("Fs_Copy_Test029 failed with invalid param: " + err.message + ", error code: " + err.code); 10385bebb993Sopenharmony_ci expect().assertFail(); 10395bebb993Sopenharmony_ci done(); 10405bebb993Sopenharmony_ci } 10415bebb993Sopenharmony_ci }); 10425bebb993Sopenharmony_ci 10435bebb993Sopenharmony_ci /* 10445bebb993Sopenharmony_ci * @tc.name:Fs_Copy_Test030 10455bebb993Sopenharmony_ci * @tc.desc:test fs.copy dir to subdir 10465bebb993Sopenharmony_ci * @tc.type: FUNC 10475bebb993Sopenharmony_ci * @tc.require: #I8UV2F 10485bebb993Sopenharmony_ci */ 10495bebb993Sopenharmony_ci it("Fs_Copy_Test030", 0, async function (done) { 10505bebb993Sopenharmony_ci console.info(TAG, 'Fs_Copy_Test030 start.'); 10515bebb993Sopenharmony_ci try { 10525bebb993Sopenharmony_ci let srcPath = pathDir+"/test1/"; 10535bebb993Sopenharmony_ci let destPath =pathDir+ "/test1/testttt2"; 10545bebb993Sopenharmony_ci let srcUriPath = fileuri.getUriFromPath(srcPath); 10555bebb993Sopenharmony_ci let destUriPath = fileuri.getUriFromPath(destPath); 10565bebb993Sopenharmony_ci fs.mkdirSync(srcPath); 10575bebb993Sopenharmony_ci await fs.copy(srcUriPath, destUriPath, (err) => { 10585bebb993Sopenharmony_ci if (err) { 10595bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test030 failed, with error message: " + err.message + ", error code: " + err.code); 10605bebb993Sopenharmony_ci expect(true).assertTrue(); 10615bebb993Sopenharmony_ci } else { 10625bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test030 success. "); 10635bebb993Sopenharmony_ci expect().assertFail(); 10645bebb993Sopenharmony_ci } 10655bebb993Sopenharmony_ci done(); 10665bebb993Sopenharmony_ci }) 10675bebb993Sopenharmony_ci } catch (err) { 10685bebb993Sopenharmony_ci console.error("Fs_Copy_Test030 failed with invalid param: " + err.message + ", error code: " + err.code); 10695bebb993Sopenharmony_ci expect().assertFail(); 10705bebb993Sopenharmony_ci done(); 10715bebb993Sopenharmony_ci } 10725bebb993Sopenharmony_ci }); 10735bebb993Sopenharmony_ci 10745bebb993Sopenharmony_ci /* 10755bebb993Sopenharmony_ci * @tc.name:Fs_Copy_Test031 10765bebb993Sopenharmony_ci * @tc.desc:test fs.copy, same task 10775bebb993Sopenharmony_ci * @tc.type: FUNC 10785bebb993Sopenharmony_ci * @tc.require: #I8UV2F 10795bebb993Sopenharmony_ci */ 10805bebb993Sopenharmony_ci it("Fs_Copy_Test031", 0, async function (done) { 10815bebb993Sopenharmony_ci console.info(TAG, 'Fs_Copy_Test031 start.'); 10825bebb993Sopenharmony_ci try { 10835bebb993Sopenharmony_ci let flag1 = false; 10845bebb993Sopenharmony_ci let flag2 = false; 10855bebb993Sopenharmony_ci let progressListener = (progress) => { 10865bebb993Sopenharmony_ci console.info("Fs_Copy_Test031 progressListener in, progressSize: " + progress.processedSize + ", totalSize: " + progress.totalSize + 10875bebb993Sopenharmony_ci " progress: " + (progress.processedSize / progress.totalSize * 100).toFixed(2) + "%"); 10885bebb993Sopenharmony_ci }; 10895bebb993Sopenharmony_ci let options = { 10905bebb993Sopenharmony_ci "progressListener": progressListener 10915bebb993Sopenharmony_ci } 10925bebb993Sopenharmony_ci if (fs.accessSync(srcFilePathLocal)) { 10935bebb993Sopenharmony_ci fs.unlinkSync(srcFilePathLocal); 10945bebb993Sopenharmony_ci } 10955bebb993Sopenharmony_ci let file = fs.openSync(srcFilePathLocal, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); 10965bebb993Sopenharmony_ci fs.writeSync(file.fd, 'ttttttttttttt'); 10975bebb993Sopenharmony_ci fs.closeSync(file); 10985bebb993Sopenharmony_ci const task1 = new Promise(resolve => { 10995bebb993Sopenharmony_ci setTimeout(() => { 11005bebb993Sopenharmony_ci fs.copy(srcFileUriLocal, dstFileUriLocal, options, (err) => { 11015bebb993Sopenharmony_ci if (err) { 11025bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test031_first failed, with error message: " + err.message + ", error code: " + err.code); 11035bebb993Sopenharmony_ci expect().assertFail(); 11045bebb993Sopenharmony_ci } else { 11055bebb993Sopenharmony_ci flag1 = true; 11065bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test031_first success. "); 11075bebb993Sopenharmony_ci } 11085bebb993Sopenharmony_ci }) 11095bebb993Sopenharmony_ci resolve(); 11105bebb993Sopenharmony_ci }, 10); 11115bebb993Sopenharmony_ci }); 11125bebb993Sopenharmony_ci 11135bebb993Sopenharmony_ci const task2 = new Promise(resolve => { 11145bebb993Sopenharmony_ci setTimeout(() => { 11155bebb993Sopenharmony_ci try { 11165bebb993Sopenharmony_ci fs.copy(srcFileUriLocal, dstFileUriLocal, options, (err) => { 11175bebb993Sopenharmony_ci flag2 = true; 11185bebb993Sopenharmony_ci if (err) { 11195bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test031_second failed, with error message: " + err.message + ", error code: " + err.code); 11205bebb993Sopenharmony_ci } else { 11215bebb993Sopenharmony_ci console.info(TAG, "Fs_Copy_Test031_second success. ");; 11225bebb993Sopenharmony_ci } 11235bebb993Sopenharmony_ci expect().assertFail(); 11245bebb993Sopenharmony_ci }) 11255bebb993Sopenharmony_ci resolve(); 11265bebb993Sopenharmony_ci } catch (err) { 11275bebb993Sopenharmony_ci console.error("Fs_Copy_Test031_second failed with invalid param: " + err.message + ", error code: " + err.code); 11285bebb993Sopenharmony_ci } 11295bebb993Sopenharmony_ci }, 20); 11305bebb993Sopenharmony_ci }); 11315bebb993Sopenharmony_ci //the same task isn't execute 11325bebb993Sopenharmony_ci Promise.all([task1, task2]).then(() => { 11335bebb993Sopenharmony_ci if (flag1 && !flag2) { 11345bebb993Sopenharmony_ci expect(true).assertTrue(); 11355bebb993Sopenharmony_ci done(); 11365bebb993Sopenharmony_ci } 11375bebb993Sopenharmony_ci }); 11385bebb993Sopenharmony_ci done(); 11395bebb993Sopenharmony_ci } catch (err) { 11405bebb993Sopenharmony_ci console.error("Fs_Copy_Test031 failed with invalid param: " + err.message + ", error code: " + err.code); 11415bebb993Sopenharmony_ci expect().assertFail(); 11425bebb993Sopenharmony_ci done(); 11435bebb993Sopenharmony_ci } finally { 11445bebb993Sopenharmony_ci const timerId = setTimeout(() => { 11455bebb993Sopenharmony_ci fs.rmdirSync(srcDirPathLocal); 11465bebb993Sopenharmony_ci fs.rmdirSync(dstDirPathLocal); 11475bebb993Sopenharmony_ci clearTimeout(timerId); 11485bebb993Sopenharmony_ci }, 1000); 11495bebb993Sopenharmony_ci } 11505bebb993Sopenharmony_ci }); 11515bebb993Sopenharmony_ci});