From 6bf166856ebd79fcedefc6e10304d37191d6d088 Mon Sep 17 00:00:00 2001 From: Evgeniy Belyi Date: Thu, 20 May 2021 15:08:43 +0300 Subject: [PATCH] Fixing error codes for NSFS Signed-off-by: Evgeniy Belyi --- src/sdk/namespace_fs.js | 6 +----- src/test/unit_tests/test_namespace_fs.js | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/sdk/namespace_fs.js b/src/sdk/namespace_fs.js index 2bf8a8a3b4..9c820885a5 100644 --- a/src/sdk/namespace_fs.js +++ b/src/sdk/namespace_fs.js @@ -378,11 +378,7 @@ class NamespaceFS { const file_path = this._get_file_path(params); const stat = await nb_native().fs.stat(fs_account_config, file_path); console.log(file_path, stat); - if (isDirectory(stat)) { - const err = new Error('NoSuchKey'); - err.code = 'ENOENT'; - throw this._translate_object_error_codes(err); - } + if (isDirectory(stat)) throw Object.assign(new Error('NoSuchKey'), { code: 'ENOENT' }); return this._get_object_info(params.bucket, params.key, stat); } catch (err) { throw this._translate_object_error_codes(err); diff --git a/src/test/unit_tests/test_namespace_fs.js b/src/test/unit_tests/test_namespace_fs.js index 4a653a38e9..a218b4f214 100644 --- a/src/test/unit_tests/test_namespace_fs.js +++ b/src/test/unit_tests/test_namespace_fs.js @@ -108,6 +108,20 @@ mocha.describe('namespace_fs', function() { console.log(inspect(res)); }); + mocha.it('read_object_md fails on directory head', async function() { + try { + await ns_src.read_object_md({ + bucket: src_bkt, + key: src_key.substr(0, src_key.lastIndexOf('/')), + }, dummy_object_sdk); + throw new Error('Should have failed on head of directory'); + } catch (error) { + assert.strict.equal(error.message, 'NoSuchKey'); + assert.strict.equal(error.code, 'ENOENT'); + assert.strict.equal(error.rpc_code, 'NO_SUCH_OBJECT'); + } + }); + mocha.describe('read_object_stream', function() { mocha.it('read full', async function() {