tests output improved
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/2c39948b Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/2c39948b Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/2c39948b Branch: refs/heads/ignite-7777 Commit: 2c39948b4b3a0e99da293e6df8ce7c66062d362b Parents: 84d7bb2 Author: ekaterina-nbl <[email protected]> Authored: Fri May 18 21:21:00 2018 +0300 Committer: ekaterina-nbl <[email protected]> Committed: Fri May 18 21:21:00 2018 +0300 ---------------------------------------------------------------------- modules/platforms/nodejs/spec/TestingHelper.js | 48 +++++++++++++------- .../platforms/nodejs/spec/cache/Cache.spec.js | 1 - .../spec/cache/CachePutGetDiffTypes.spec.js | 16 ++++--- .../nodejs/spec/cache/ComplexObject.spec.js | 9 ++-- 4 files changed, 46 insertions(+), 28 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/2c39948b/modules/platforms/nodejs/spec/TestingHelper.js ---------------------------------------------------------------------- diff --git a/modules/platforms/nodejs/spec/TestingHelper.js b/modules/platforms/nodejs/spec/TestingHelper.js index 71b6f52..88edffc 100644 --- a/modules/platforms/nodejs/spec/TestingHelper.js +++ b/modules/platforms/nodejs/spec/TestingHelper.js @@ -230,8 +230,12 @@ class TestingHelper { } } + static printValue(value) { + return Util.inspect(value, false, null); + } + static async compare(value1, value2) { - TestingHelper.logDebug(Util.format('compare: %s, %s', JSON.stringify(value1), JSON.stringify(value2))); + TestingHelper.logDebug(Util.format('compare: %s and %s', TestingHelper.printValue(value1), TestingHelper.printValue(value2))); if (value1 === undefined || value2 === undefined) { TestingHelper.logDebug(Util.format('compare: unexpected "undefined" value')); return false; @@ -243,7 +247,8 @@ class TestingHelper { return false; } if (typeof value1 !== typeof value2) { - TestingHelper.logDebug(Util.format('compare: value types are different')); + TestingHelper.logDebug(Util.format('compare: value types are different: %s and %s', + typeof value1, typeof value2)); return false; } if (typeof value1 === 'number') { @@ -253,7 +258,8 @@ class TestingHelper { return defaultComparator(value1, value2); } else if (value1.constructor.name !== value2.constructor.name && !value2 instanceof BinaryObject) { - TestingHelper.logDebug(Util.format('compare: value types are different')); + TestingHelper.logDebug(Util.format('compare: value types are different: %s and %s', + value1.constructor.name, value2.constructor.name)); return false; } else if (value1 instanceof Date && value2 instanceof Date) { @@ -273,7 +279,14 @@ class TestingHelper { TestingHelper.logDebug(Util.format('compare: array lengths are different')); return false; } - return value1.every((elem, i) => { return TestingHelper.compare(elem, value2[i]); }); + for (var i = 0; i < value1.length; i++) { + if (!await TestingHelper.compare(value1[i], value2[i])) { + TestingHelper.logDebug(Util.format('compare: array elements are different: %s, %s', + TestingHelper.printValue(value1[i]), TestingHelper.printValue(value2[i]))); + return false; + } + } + return true; } else if (value1 instanceof Map && value2 instanceof Map) { if (value1.size !== value2.size) { @@ -281,9 +294,13 @@ class TestingHelper { return false; } for (var [key, val] of value1) { + if (!value2.has(key)) { + TestingHelper.logDebug(Util.format('compare: maps are different: %s key is absent', TestingHelper.printValue(key))); + return false; + } if (!(await TestingHelper.compare(val, value2.get(key)))) { TestingHelper.logDebug(Util.format('compare: map values are different: %s, %s', - JSON.stringify(val), JSON.stringify(value2.get(key)))); + TestingHelper.printValue(val), TestingHelper.printValue(value2.get(key)))); return false; } } @@ -294,13 +311,12 @@ class TestingHelper { TestingHelper.logDebug(Util.format('compare: set sizes are different')); return false; } - const iter2 = value2.values(); - for (var val1 of value1) { - if (!(await TestingHelper.compare(val1, iter2.next().value))) { - TestingHelper.logDebug(Util.format('compare: sets are different: %s, %s', - [...value1], [...value2])); - return false; - } + const value1Arr = [...value1].sort(); + const value2Arr = [...value2].sort(); + if (!await TestingHelper.compare(value1Arr, value2Arr)) { + TestingHelper.logDebug(Util.format('compare: sets are different: %s and %s', + TestingHelper.printValue(value1Arr), TestingHelper.printValue(value2Arr))); + return false; } return true; } @@ -328,8 +344,8 @@ class TestingHelper { for (let key of Object.keys(value1)) { value = await value2.getField(key); if (!(await TestingHelper.compare(value1[key], value))) { - TestingHelper.logDebug(Util.format('compare: binary object values are different: %s, %s', - JSON.stringify(value1[key]), JSON.stringify(value))); + TestingHelper.logDebug(Util.format('compare: binary object values for key %s are different: %s and %s', + TestingHelper.printValue(key), TestingHelper.printValue(value1[key]), TestingHelper.printValue(value))); return false; } } @@ -339,8 +355,8 @@ class TestingHelper { else { for (let key of Object.keys(value1)) { if (!(await TestingHelper.compare(value1[key], value2[key]))) { - TestingHelper.logDebug(Util.format('compare: object values are different: %s, %s', - JSON.stringify(value1[key]), JSON.stringify(value2[key]))); + TestingHelper.logDebug(Util.format('compare: object values for key %s are different: %s and %s', + TestingHelper.printValue(key), TestingHelper.printValue(value1[key]), TestingHelper.printValue(value2[key]))); return false; } } http://git-wip-us.apache.org/repos/asf/ignite/blob/2c39948b/modules/platforms/nodejs/spec/cache/Cache.spec.js ---------------------------------------------------------------------- diff --git a/modules/platforms/nodejs/spec/cache/Cache.spec.js b/modules/platforms/nodejs/spec/cache/Cache.spec.js index 50d7f3f..54ad39e 100644 --- a/modules/platforms/nodejs/spec/cache/Cache.spec.js +++ b/modules/platforms/nodejs/spec/cache/Cache.spec.js @@ -165,7 +165,6 @@ describe('cache configuration operations test suite >', () => { cache = await igniteClient.getOrCreateCache(CACHE_NAME3, cfg); let cfg2 = await igniteClient.getCacheConfiguration(CACHE_NAME3); - expect(await TestingHelper.compare(cfg, cfg2)).toBe(true) await igniteClient.destroyCache(CACHE_NAME3); }). then(done). http://git-wip-us.apache.org/repos/asf/ignite/blob/2c39948b/modules/platforms/nodejs/spec/cache/CachePutGetDiffTypes.spec.js ---------------------------------------------------------------------- diff --git a/modules/platforms/nodejs/spec/cache/CachePutGetDiffTypes.spec.js b/modules/platforms/nodejs/spec/cache/CachePutGetDiffTypes.spec.js index de9f14a..28a9ae3 100644 --- a/modules/platforms/nodejs/spec/cache/CachePutGetDiffTypes.spec.js +++ b/modules/platforms/nodejs/spec/cache/CachePutGetDiffTypes.spec.js @@ -263,7 +263,7 @@ describe('cache put get test suite >', () => { for (let type1 of Object.keys(TestingHelper.primitiveValues)) { type1 = parseInt(type1); const typeInfo1 = TestingHelper.primitiveValues[type1]; - if (typeInfo1.isMapKey) { + if (!typeInfo1.isMapKey) { continue; } for (let type2 of Object.keys(TestingHelper.primitiveValues)) { @@ -575,7 +575,8 @@ describe('cache put get test suite >', () => { expect(result instanceof Array).toBe(true, `result is not Array: arrayType=${valueType}, result=${result}`); expect(await TestingHelper.compare(value, result)).toBe(true, - `Arrays are not equal: arrayType=${valueType}, put array=${value}, get array=${result}`); + `Arrays are not equal: arrayType=${valueType}, put array=${TestingHelper.printValue(value) + }, get array=${TestingHelper.printValue(result)}`); } finally { await cache.removeAll(); @@ -591,7 +592,8 @@ describe('cache put get test suite >', () => { expect(result instanceof Map).toBe(true, `result is not Map: mapType=${mapType}, result=${result}`); expect(await TestingHelper.compare(value, result)).toBe(true, - `Maps are not equal: valueType=${mapType._valueType}, put value=${value}, get value=${result}`); + `Maps are not equal: valueType=${mapType._valueType}, put value=${TestingHelper.printValue(value) + }, get value=${TestingHelper.printValue(result)}`); } async function putGetSets(setType, value) { @@ -607,11 +609,11 @@ describe('cache put get test suite >', () => { const valueArr = [...value].sort(); const resultArr = [...result].sort(); expect(await TestingHelper.compare(valueArr, resultArr)).toBe(true, `Sets are not equal: valueType=${setType ? setType._elementType : - null}, put value=${valueArr}, get value=${resultArr}`); + null}, put value=${TestingHelper.printValue(valueArr)}, get value=${TestingHelper.printValue(resultArr)}`); } else { expect(await TestingHelper.compare(value, result)).toBe(true, `Sets are not equal: valueType=${setType ? setType._elementType : - null}, put value=${[...value]}, get value=${[...result]}`); + null}, put value=${TestingHelper.printValue(value)}, get value=${TestingHelper.printValue(result)}`); } } @@ -624,7 +626,7 @@ describe('cache put get test suite >', () => { expect(result instanceof Array).toBe(true, `result is not Array: listType=${listType}, result=${result}`); expect(await TestingHelper.compare(value, result)).toBe(true, `Lists are not equal: valueType=${listType ? listType._elementType : - null}, put value=${value}, get value=${result}`); + null}, put value=${TestingHelper.printValue(value)}, get value=${TestingHelper.printValue(result)}`); } async function putGetObjectArrays(arrayType, value) { @@ -636,7 +638,7 @@ describe('cache put get test suite >', () => { expect(result instanceof Array).toBe(true, `result is not Array: arrayType=${arrayType}, result=${result}`); expect(await TestingHelper.compare(value, result)).toBe(true, `Arrays are not equal: valueType=${arrayType ? arrayType._elementType : - null}, put value=${value}, get value=${result}`); + null}, put value=${TestingHelper.printValue(value)}, get value=${TestingHelper.printValue(result)}`); } async function testSuiteCleanup(done) { http://git-wip-us.apache.org/repos/asf/ignite/blob/2c39948b/modules/platforms/nodejs/spec/cache/ComplexObject.spec.js ---------------------------------------------------------------------- diff --git a/modules/platforms/nodejs/spec/cache/ComplexObject.spec.js b/modules/platforms/nodejs/spec/cache/ComplexObject.spec.js index 535ca72..2119ab5 100644 --- a/modules/platforms/nodejs/spec/cache/ComplexObject.spec.js +++ b/modules/platforms/nodejs/spec/cache/ComplexObject.spec.js @@ -333,7 +333,7 @@ describe('complex object test suite >', () => { await cache.put(key, value); const result = await cache.get(key); expect(await TestingHelper.compare(valuePattern, result)).toBe(true, - `values are not equal: put value=${JSON.stringify(valuePattern)}, get value=${JSON.stringify(result)}`); + `values are not equal: put value=${TestingHelper.printValue(valuePattern)}, get value=${TestingHelper.printValue(result)}`); } finally { await cache.removeAll(); @@ -342,20 +342,21 @@ describe('complex object test suite >', () => { async function binaryObjectEquals(binaryObj, valuePattern, valueType) { expect(await TestingHelper.compare(valuePattern, binaryObj)).toBe(true, - `binary values are not equal: put value=${JSON.stringify(valuePattern)}, get value=${JSON.stringify(binaryObj)}`); + `binary values are not equal: put value=${TestingHelper.printValue(valuePattern)}, get value=${TestingHelper.printValue(binaryObj)}`); let value1, value2; for (let key of Object.keys(valuePattern)) { value1 = valuePattern[key]; value2 = await binaryObj.getField(key, valueType ? valueType._getFieldType(key) : null); expect(await TestingHelper.compare(value1, value2)).toBe(true, - `values for key ${key} are not equal: put value=${value1}, get value=${value2}`); + `values for key ${key} are not equal: put value=${TestingHelper.printValue(value1) + }, get value=${TestingHelper.printValue(value2)}`); } if (valueType) { const toObject = await binaryObj.toObject(valueType); expect(await TestingHelper.compare(valuePattern, toObject)).toBe(true, - `values are not equal: put value=${JSON.stringify(valuePattern)}, get value=${JSON.stringify(toObject)}`); + `values are not equal: put value=${TestingHelper.printValue(valuePattern)}, get value=${TestingHelper.printValue(toObject)}`); } }
