diff --git a/storage/storagefileiojstest/src/main/js/default/test/module_fileio/members/access.test.js b/storage/storagefileiojstest/src/main/js/default/test/module_fileio/members/access.test.js index b1c95e93f28ff31a02b92287a2bdc32aa450e5ec..bcca536854fbfada8ffe5e7922b01e3421d7ac64 100644 --- a/storage/storagefileiojstest/src/main/js/default/test/module_fileio/members/access.test.js +++ b/storage/storagefileiojstest/src/main/js/default/test/module_fileio/members/access.test.js @@ -25,7 +25,7 @@ describe('fileio_access', function () { * @tc.name fileio_test_access_sync_000 * @tc.desc Test accessSync() interface. * This interface shall work properly in normal case - * @tc.size MEDIUM(中型) + * @tc.size MEDIUM * @tc.type Function * @tc.level Level 0 * @tc.require @@ -35,20 +35,20 @@ describe('fileio_access', function () { expect(prepareFile(fpath, FILE_CONTENT)).assertTrue(); try { - expect(fileio.accessSync(fpath) == null).assertTrue(); - expect(fileio.unlinkSync(fpath) == null).assertTrue(); - } catch (e) { - console.log('fileio_test_access_sync_000 has failed for ' + e); + fileio.accessSync(fpath); + fileio.unlinkSync(fpath); + } catch (err) { + console.info('fileio_test_access_sync_000 has failed for ' + err); expect(null).assertFail(); } }); /** - * @tc.number SUB_DF_FILEIO_ACCESSSYNC_0010 + * @tc.number SUB_DF_FILEIO_ACCESSSYNC_0100 * @tc.name fileio_test_access_sync_001 * @tc.desc Test accessSync() interface. - * This interface shall throw an exception when the fpath is not given - * @tc.size MEDIUM(中型) + * Test that the current process has write permission. + * @tc.size MEDIUM * @tc.type Function * @tc.level Level 0 * @tc.require @@ -58,20 +58,20 @@ describe('fileio_access', function () { expect(prepareFile(fpath, FILE_CONTENT)).assertTrue(); try { - expect(fileio.accessSync(fpath, 0x2) == null).assertTrue(); - expect(fileio.unlinkSync(fpath) == null).assertTrue(); - } catch (e) { - console.log('fileio_test_access_sync_001' + e); + fileio.accessSync(fpath, 2); + fileio.unlinkSync(fpath); + } catch (err) { + console.info('fileio_test_access_sync_001 has failed for ' + err); expect(null).assertFail(); } }); /** - * @tc.number SUB_DF_FILEIO_ACCESSSYNC_0020 + * @tc.number SUB_DF_FILEIO_ACCESSSYNC_0200 * @tc.name fileio_test_access_sync_002 * @tc.desc Test accessSync() interface. - * This interface shall throw an exception when the fpath is not given - * @tc.size MEDIUM(中型) + * Test that the current process has read permission. + * @tc.size MEDIUM * @tc.type Function * @tc.level Level 0 * @tc.require @@ -81,20 +81,20 @@ describe('fileio_access', function () { expect(prepareFile(fpath, FILE_CONTENT)).assertTrue(); try { - expect(fileio.accessSync(fpath, 0x4) == null).assertTrue(); - expect(fileio.unlinkSync(fpath) == null).assertTrue(); - } catch (e) { - console.log('fileio_test_access_sync_002' + e); + fileio.accessSync(fpath, 4); + fileio.unlinkSync(fpath); + } catch (err) { + console.info('fileio_test_access_sync_002 has failed for ' + err); expect(null).assertFail(); } }); /** - * @tc.number SUB_DF_FILEIO_ACCESSSYNC_0030 + * @tc.number SUB_DF_FILEIO_ACCESSSYNC_0300 * @tc.name fileio_test_access_sync_003 * @tc.desc Test accessSync() interface. - * This interface shall throw an exception when the fpath is not given. - * @tc.size MEDIUM(中型) + * Test that the current process has read and write permissions. + * @tc.size MEDIUM * @tc.type Function * @tc.level Level 0 * @tc.require @@ -104,32 +104,55 @@ describe('fileio_access', function () { expect(prepareFile(fpath, FILE_CONTENT)).assertTrue(); try { - expect(fileio.accessSync(fpath, 0x2 | 0x4) == null).assertTrue(); - expect(fileio.unlinkSync(fpath) == null).assertTrue(); - } catch (e) { - console.log('fileio_test_access_sync_003' + e); + fileio.accessSync(fpath, 2 | 4); + fileio.unlinkSync(fpath); + } catch (err) { + console.info('fileio_test_access_sync_003 has failed for ' + err); expect(null).assertFail(); } }); /** - * @tc.number SUB_DF_FILEIO_ACCESSSYNC_0040 + * @tc.number SUB_DF_FILEIO_ACCESSSYNC_0400 * @tc.name fileio_test_access_sync_004 * @tc.desc Test accessSync() interface. - * This interface shall throw an exception when the fpath is not given - * @tc.size MEDIUM(中型) + * Test that the current process has executable permissions. + * @tc.size MEDIUM * @tc.type Function * @tc.level Level 0 * @tc.require */ it('fileio_test_access_sync_004', 0, async function () { - let fpath = await nextFileName('fileIOTest'); + let fpath = await nextFileName('fileio_test_access_sync_004'); + fileio.openSync(fpath, 0o102, 0o777); try { - fileio.accessSync(fpath); + fileio.accessSync(fpath, 1); + fileio.unlinkSync(fpath); + } catch (err) { + console.info('fileio_test_access_sync_004 has failed for ' + err); expect(null).assertFail(); - } catch (e) { - console.log('fileio_test_access_sync_004' + e); + } + }); + + /** + * @tc.number SUB_DF_FILEIO_ACCESSSYNC_0500 + * @tc.name fileio_test_access_sync_005 + * @tc.desc Test accessSync() interface. + * The test file is not exist. + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 0 + * @tc.require + */ + it('fileio_test_access_sync_005', 0, async function () { + let fpath = await nextFileName('fileio_test_access_sync_005'); + + try { + fileio.accessSync(fpath); + } catch (err) { + console.info('fileio_test_access_sync_005 has failed for ' + err); + expect(err.message == 'No such file or directory').assertTrue(); } }); @@ -137,8 +160,8 @@ describe('fileio_access', function () { * @tc.number SUB_DF_FILEIO_ACCESSASYNC_0000 * @tc.name fileio_test_access_async_000 * @tc.desc Test accessAsync() interface. - * This interface shall throw an exception when the fpath is not given - * @tc.size MEDIUM(中型) + * This interface shall work properly in normal case. + * @tc.size MEDIUM * @tc.type Function * @tc.level Level 0 * @tc.require @@ -149,20 +172,20 @@ describe('fileio_access', function () { try { await fileio.access(fpath); - expect(fileio.unlinkSync(fpath) == null).assertTrue(); + fileio.unlinkSync(fpath); done(); - } catch (error) { - console.log('fileio_test_access_async_000 has failed for ' + error); + } catch (err) { + console.info('fileio_test_access_async_000 has failed for ' + err); expect(null).assertFail(); } }); /** - * @tc.number SUB_DF_FILEIO_ACCESSASYNC_0010 + * @tc.number SUB_DF_FILEIO_ACCESSASYNC_0100 * @tc.name fileio_test_access_async_001 * @tc.desc Test accessAsync() interface. - * This interface shall throw an exception when the fpath is not given - * @tc.size MEDIUM(中型) + * Use promise to test that the current process has read permission. Async method reads data from file. + * @tc.size MEDIUM * @tc.type Function * @tc.level Level 0 * @tc.require @@ -172,27 +195,25 @@ describe('fileio_access', function () { expect(prepareFile(fpath, FILE_CONTENT)).assertTrue(); try { - expect(await fileio.access(fpath, 4) == null).assertTrue(); + await fileio.access(fpath, 4); let fd = fileio.openSync(fpath); expect(isIntNum(fd)).assertTrue(); - expect( - (await fileio.read(fd, new ArrayBuffer(4096))) != null - ).assertTrue(); - expect(fileio.closeSync(fd) == null).assertTrue(); - expect(fileio.unlinkSync(fpath) == null).assertTrue(); + expect((await fileio.read(fd, new ArrayBuffer(4096))) != null).assertTrue(); + fileio.closeSync(fd); + fileio.unlinkSync(fpath); done(); - } catch (error) { - console.log('fileio_test_access_async_001 has failed for ' + error); + } catch (err) { + console.info('fileio_test_access_async_001 has failed for ' + err); expect(null).assertFail(); } }); /** - * @tc.number SUB_DF_FILEIO_ACCESSASYNC_0020 + * @tc.number SUB_DF_FILEIO_ACCESSASYNC_0200 * @tc.name fileio_test_access_async_002 * @tc.desc Test accessAsync() interface. - * This interface shall throw an exception when the fpath is not given - * @tc.size MEDIUM(中型) + * Test file exists. + * @tc.size MEDIUM * @tc.type Function * @tc.level Level 0 * @tc.require @@ -203,21 +224,21 @@ describe('fileio_access', function () { try { fileio.access(fpath, function (error) { - expect(fileio.unlinkSync(fpath) == null).assertTrue(); + fileio.unlinkSync(fpath); done(); }); - } catch (error) { - console.log('fileio_test_access_async_002 has failed for ' + error); + } catch (err) { + console.info('fileio_test_access_async_002 has failed for ' + err); expect(null).assertFail(); } }); /** - * @tc.number SUB_DF_FILEIO_ACCESSASYNC_0030 + * @tc.number SUB_DF_FILEIO_ACCESSASYNC_0300 * @tc.name fileio_test_access_async_003 * @tc.desc Test accessAsync() interface. - * This interface shall throw an exception when the fpath is not given - * @tc.size MEDIUM(中型) + * Use callback to test that the current process has read permission. Async method reads data from file. + * @tc.size MEDIUM * @tc.type Function * @tc.level Level 0 * @tc.require @@ -230,46 +251,85 @@ describe('fileio_access', function () { fileio.access(fpath, 4, async function (error) { let fd = fileio.openSync(fpath); expect(isIntNum(fd)).assertTrue(); - expect( - (await fileio.read(fd, new ArrayBuffer(4096))) != null - ).assertTrue(); - expect(fileio.closeSync(fd) == null).assertTrue(); - expect(fileio.unlinkSync(fpath) == null).assertTrue(); + expect((await fileio.read(fd, new ArrayBuffer(4096))) != null).assertTrue(); + fileio.closeSync(fd); + fileio.unlinkSync(fpath); }); done(); - } catch (error) { - console.log('fileio_test_access_async_003 has failed for ' + error); + } catch (err) { + console.info('fileio_test_access_async_003 has failed for ' + err); expect(null).assertFail(); } }); /** - * @tc.number SUB_DF_FILEIO_ACCESSASYNC_0040 + * @tc.number SUB_DF_FILEIO_ACCESSASYNC_0400 * @tc.name fileio_test_access_async_004 * @tc.desc Test accessAsync() interface. - * This interface shall throw an exception when the fpath is not given. - * @tc.size MEDIUM(中型) + * Use promises to test that the current process has executable permissions. + * @tc.size MEDIUM * @tc.type Function * @tc.level Level 0 * @tc.require */ it('fileio_test_access_async_004', 0, async function (done) { let fpath = await nextFileName('fileio_test_access_async_004'); + fileio.openSync(fpath, 0o102, 0o777); try { - fileio - .access(fpath) - .then(function (err) { - expect(null).assertFail(); - done(); - }) - .catch(function (e) { - expect(!!e).assertTrue(); - done(); - }); - } catch (e) { - console.log('fileio_test_access_async_004 has failed for ' + e); + await fileio.access(fpath, 1); + fileio.unlinkSync(fpath); + done(); + } catch (err) { + console.info('fileio_test_access_async_004 has failed for ' + err); expect(null).assertFail(); } }); + + /** + * @tc.number SUB_DF_FILEIO_ACCESSASYNC_0500 + * @tc.name fileio_test_access_async_005 + * @tc.desc Test accessAsync() interface. + * Use callback to test that the current process has write permission. + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 0 + * @tc.require + */ + it('fileio_test_access_async_005', 0, async function (done) { + let fpath = await nextFileName('fileio_test_access_async_005'); + expect(prepareFile(fpath, FILE_CONTENT)).assertTrue(); + + try { + fileio.access(fpath, 2, function (error) { + fileio.unlinkSync(fpath); + done(); + }); + } catch (err) { + console.info('fileio_test_access_async_005 has failed for ' + err); + expect(null).assertFail(); + } + }); + + /** + * @tc.number SUB_DF_FILEIO_ACCESSASYNC_0600 + * @tc.name fileio_test_access_async_006 + * @tc.desc Test accessAsync() interface. + * Async test file does not exist. + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 0 + * @tc.require + */ + it('fileio_test_access_async_006', 0, async function (done) { + let fpath = await nextFileName('fileio_test_access_async_006'); + + try { + await fileio.access(fpath); + } catch (err) { + console.info('fileio_test_access_async_006 has failed for ' + err); + expect(err.message == 'No such file or directory').assertTrue(); + done(); + } + }); });