From 624dd43e23cceec90e2d47760a6f7e7aea359da1 Mon Sep 17 00:00:00 2001 From: rashmihunt <hrashmi@us.ibm.com> Date: Fri, 30 Sep 2016 10:57:14 -0700 Subject: [PATCH 1/2] fixed wsdl-test failure --- package.json | 3 +- test/wsdl-test.js | 60 +++++++++++++++---- .../{strict => unsupported}/ImportSample.wsdl | 0 .../{strict => unsupported}/ImportSample.xsd | 0 4 files changed, 51 insertions(+), 12 deletions(-) rename test/wsdl/{strict => unsupported}/ImportSample.wsdl (100%) rename test/wsdl/{strict => unsupported}/ImportSample.xsd (100%) diff --git a/package.json b/package.json index 43da0daa..0a0b2a22 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,8 @@ "selectn": "^1.0.20", "strong-globalize": "^2.8.0", "xml-crypto": "^0.8.4", - "xmlbuilder": "^8.2.2" + "xmlbuilder": "^8.2.2", + "async": "~1.0.0" }, "optionalDependencies": { "ursa": "^0.9.4" diff --git a/test/wsdl-test.js b/test/wsdl-test.js index e10395f3..60b58f60 100644 --- a/test/wsdl-test.js +++ b/test/wsdl-test.js @@ -5,34 +5,72 @@ var fs = require('fs'), assert = require('assert'), should = require('should'), request = require('request'), - http = require('http'); + http = require('http'), + async = require('async'); describe('wsdl-tests', function() { - describe('wsdl parsing test cases', function () { + describe('should parse and describe wsdls under /wsdl/strict dir', function () { + var files = []; - it('should parse and describe - 1 set of wsdls', function (done) { - fs.readdirSync(__dirname+'/wsdl/strict').forEach(function(file) { + before(function (done) { + fs.readdirSync(__dirname + '/wsdl/strict').forEach(function (file) { if (!/.wsdl$/.exec(file)) return; - soap.createClient(__dirname+'/wsdl/strict/'+file, {strict: true}, function(err, client) { - assert.ok(!err); - client.describe(); - }); + files.push(file); }); done(); }); + it('should parse and describe wsdls under /wsdl/strict dir', function (done) { + async.each(files, function (file, cb) { + soap.createClient(__dirname + '/wsdl/strict/' + file, {strict: true}, function (err, client) { + assert.ok(!err); + client.describe(); + }); + }); + done(); + }); + }); + + describe('should parse and describe wsdls directly under /wsdl/ dir', function () { + var files = []; - it('should parse and describe - 2nd set of wsdls', function (done) { - fs.readdirSync(__dirname+'/wsdl').forEach(function(file) { + before(function (done) { + fs.readdirSync(__dirname + '/wsdl/').forEach(function (file) { if (!/.wsdl$/.exec(file)) return; - soap.createClient(__dirname+'/wsdl/'+file, function(err, client) { + files.push(file); + }); + done(); + }); + + it('should parse and describe wsdls directly under /wsdl/ dir', function (done) { + async.each(files, function (file, cb) { + soap.createClient(__dirname + '/wsdl/' + file, {strict: true}, function (err, client) { assert.ok(!err); client.describe(); }); }); done(); }); + }); + + + describe('wsdl parsing test cases', function () { + + it('document/encoded style wsdl is not a supported type', function (done) { + soap.createClient(__dirname+'/wsdl/unsupported/ImportSample.wsdl', function(err, client) { + var expectedError = false; + try { + client.describe(); + } catch (err) { + //Error is expected in this negative test where ImportSample.wsdl is an invalid wsdl since it uses + //document/encode style. Code throws "WSDL not supported DocumentEncode Style" error. + expectedError = true; + } + assert.ok(expectedError); + done(); + }); + }); it('should not parse connection error', function (done) { soap.createClient(__dirname+'/wsdl/connection/econnrefused.wsdl', function(err, client) { diff --git a/test/wsdl/strict/ImportSample.wsdl b/test/wsdl/unsupported/ImportSample.wsdl similarity index 100% rename from test/wsdl/strict/ImportSample.wsdl rename to test/wsdl/unsupported/ImportSample.wsdl diff --git a/test/wsdl/strict/ImportSample.xsd b/test/wsdl/unsupported/ImportSample.xsd similarity index 100% rename from test/wsdl/strict/ImportSample.xsd rename to test/wsdl/unsupported/ImportSample.xsd From 91cc73617dd5a4658aeb09912c3d48e50805f155 Mon Sep 17 00:00:00 2001 From: rashmihunt <hrashmi@us.ibm.com> Date: Fri, 30 Sep 2016 12:24:18 -0700 Subject: [PATCH 2/2] code review fixes --- package.json | 4 ++-- test/wsdl-test.js | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 0a0b2a22..60af6657 100644 --- a/package.json +++ b/package.json @@ -17,8 +17,7 @@ "selectn": "^1.0.20", "strong-globalize": "^2.8.0", "xml-crypto": "^0.8.4", - "xmlbuilder": "^8.2.2", - "async": "~1.0.0" + "xmlbuilder": "^8.2.2" }, "optionalDependencies": { "ursa": "^0.9.4" @@ -44,6 +43,7 @@ ], "license": "MIT", "devDependencies": { + "async": "^2.0.1", "babel-cli": "^6.9.0", "babel-preset-es2015": "^6.9.0", "colors": "^1.1.2", diff --git a/test/wsdl-test.js b/test/wsdl-test.js index 60b58f60..c4282138 100644 --- a/test/wsdl-test.js +++ b/test/wsdl-test.js @@ -26,10 +26,11 @@ describe('wsdl-tests', function() { soap.createClient(__dirname + '/wsdl/strict/' + file, {strict: true}, function (err, client) { assert.ok(!err); client.describe(); + cb(err); }); - }); - done(); + }, done); }); + }); describe('should parse and describe wsdls directly under /wsdl/ dir', function () { @@ -46,11 +47,10 @@ describe('wsdl-tests', function() { it('should parse and describe wsdls directly under /wsdl/ dir', function (done) { async.each(files, function (file, cb) { soap.createClient(__dirname + '/wsdl/' + file, {strict: true}, function (err, client) { - assert.ok(!err); client.describe(); + cb(err); }); - }); - done(); + }, done); }); });