diff --git a/package-lock.json b/package-lock.json index ccf3c9170..7ef2a7f5c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -129,42 +129,6 @@ "execa": "^1.0.0" } }, - "@sinonjs/commons": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.4.0.tgz", - "integrity": "sha512-9jHK3YF/8HtJ9wCAbG+j8cD0i0+ATS9A7gXFqS36TblLPNy6rEEc+SB0imo91eCboGaBYGV/MT1/br/J+EE7Tw==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/formatio": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-3.2.1.tgz", - "integrity": "sha512-tsHvOB24rvyvV2+zKMmPkZ7dXX6LSLKZ7aOtXY6Edklp0uRcgGpOsQTTGTcWViFyx4uhWc6GV8QdnALbIbIdeQ==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1", - "@sinonjs/samsam": "^3.1.0" - } - }, - "@sinonjs/samsam": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-3.3.1.tgz", - "integrity": "sha512-wRSfmyd81swH0hA1bxJZJ57xr22kC07a1N4zuIL47yTS04bDk6AoCkczcqHEjcRPmJ+FruGJ9WBQiJwMtIElFw==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.0.2", - "array-from": "^2.1.1", - "lodash": "^4.17.11" - } - }, - "@sinonjs/text-encoding": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz", - "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==", - "dev": true - }, "@types/caseless": { "version": "0.12.2", "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.2.tgz", @@ -319,12 +283,6 @@ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" }, - "array-from": { - "version": "2.1.1", - "resolved": "https://eis.jfrog.io/eis/api/npm/npm/array-from/-/array-from-2.1.1.tgz", - "integrity": "sha1-z+nYwmYoudxa7MYqn12PHzUsEZU=", - "dev": true - }, "arrify": { "version": "1.0.1", "resolved": false, @@ -2442,12 +2400,6 @@ "verror": "1.10.0" } }, - "just-extend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.0.2.tgz", - "integrity": "sha512-FrLwOgm+iXrPV+5zDU6Jqu4gCRXbWEQg2O3SKONsWE4w7AXFRkryS53bpWdaL9cNol+AmR3AEYz6kn+o0fCPnw==", - "dev": true - }, "jwa": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", @@ -2596,12 +2548,6 @@ "chalk": "^2.0.1" } }, - "lolex": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lolex/-/lolex-4.0.1.tgz", - "integrity": "sha512-UHuOBZ5jjsKuzbB/gRNNW8Vg8f00Emgskdq2kvZxgBJCS0aqquAuXai/SkWORlKeZEiNQWZjFZOqIUcH9LqKCw==", - "dev": true - }, "loud-rejection": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", @@ -3035,42 +2981,6 @@ "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" }, - "nise": { - "version": "1.4.10", - "resolved": "https://registry.npmjs.org/nise/-/nise-1.4.10.tgz", - "integrity": "sha512-sa0RRbj53dovjc7wombHmVli9ZihXbXCQ2uH3TNm03DyvOSIQbxg+pbqDKrk2oxMK1rtLGVlKxcB9rrc6X5YjA==", - "dev": true, - "requires": { - "@sinonjs/formatio": "^3.1.0", - "@sinonjs/text-encoding": "^0.7.1", - "just-extend": "^4.0.2", - "lolex": "^2.3.2", - "path-to-regexp": "^1.7.0" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://eis.jfrog.io/eis/api/npm/npm/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "lolex": { - "version": "2.7.5", - "resolved": "https://registry.npmjs.org/lolex/-/lolex-2.7.5.tgz", - "integrity": "sha512-l9x0+1offnKKIzYVjyXU2SiwhXDLekRzKyhnbyldPHvC7BvLPVpdNUNR2KeMAiCN2D/kLNttZgQD5WjSxuBx3Q==", - "dev": true - }, - "path-to-regexp": { - "version": "1.7.0", - "resolved": "https://eis.jfrog.io/eis/api/npm/npm/path-to-regexp/-/path-to-regexp-1.7.0.tgz", - "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=", - "dev": true, - "requires": { - "isarray": "0.0.1" - } - } - } - }, "nock": { "version": "10.0.6", "resolved": "https://registry.npmjs.org/nock/-/nock-10.0.6.tgz", @@ -4457,32 +4367,6 @@ "resolved": false, "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, - "sinon": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-7.3.2.tgz", - "integrity": "sha512-thErC1z64BeyGiPvF8aoSg0LEnptSaWE7YhdWWbWXgelOyThent7uKOnnEh9zBxDbKixtr5dEko+ws1sZMuFMA==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.4.0", - "@sinonjs/formatio": "^3.2.1", - "@sinonjs/samsam": "^3.3.1", - "diff": "^3.5.0", - "lolex": "^4.0.1", - "nise": "^1.4.10", - "supports-color": "^5.5.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, "smtp-connection": { "version": "2.12.0", "resolved": "https://registry.npmjs.org/smtp-connection/-/smtp-connection-2.12.0.tgz", diff --git a/package.json b/package.json index b04f0cb16..23d989b71 100644 --- a/package.json +++ b/package.json @@ -89,8 +89,7 @@ "mock-aws-s3": "git+https://github.com/cloudron-io/mock-aws-s3.git", "nock": "^10.0.6", "node-sass": "^4.11.0", - "recursive-readdir": "^2.2.2", - "sinon": "^7.3.2" + "recursive-readdir": "^2.2.2" }, "scripts": { "test": "./runTests", diff --git a/src/test/dns-test.js b/src/test/dns-test.js index 844ac1a2e..fa0f324d9 100644 --- a/src/test/dns-test.js +++ b/src/test/dns-test.js @@ -14,7 +14,6 @@ var async = require('async'), domains = require('../domains.js'), expect = require('expect.js'), nock = require('nock'), - sinon = require('sinon'), util = require('util'); var DOMAIN_0 = { @@ -596,8 +595,6 @@ describe('dns provider', function () { }); xdescribe('namecheap', function () { - let sandbox = require('sinon').createSandbox(); - let username = 'namecheapuser'; let apiKey = 'API_KEY'; @@ -611,11 +608,17 @@ describe('dns provider', function () { domains.update(DOMAIN_0.domain, DOMAIN_0, AUDIT_SOURCE, done); }); - after(function() { - sandbox.restore(); + beforeEach(function () { + nock.cleanAll(); }); it('upsert non-existing record succeeds', function (done) { + var req1 = nock(DIGITALOCEAN_ENDPOINT).filteringRequestBody(function () { return false; }) + .get('/v2/domains/' + DOMAIN_0.zoneName + '/records') + .reply(200, { domain_records: [] }); + var req2 = nock(DIGITALOCEAN_ENDPOINT).filteringRequestBody(function () { return false; }) + .post('/v2/domains/' + DOMAIN_0.zoneName + '/records') + .reply(201, { domain_record: DOMAIN_RECORD_0 }); let getHostsReturn = { 'Type': 'namecheap.domains.dns.getHosts', @@ -684,17 +687,6 @@ describe('dns provider', function () { } ]; - let getHostsFake = sinon.fake.yields(null, getHostsReturn); - let setHostsFake = sinon.fake.yields(null, true); - let mockObj = { - dns: { - getHosts: getHostsFake, - setHosts: setHostsFake - } - }; - - sandbox.stub(namecheap.prototype, 'domains').value(mockObj); - domains.upsertDnsRecords('test', DOMAIN_0.domain, 'A', ['1.2.3.4'], function (error) { expect(error).to.eql(null); @@ -784,17 +776,6 @@ describe('dns provider', function () { } ]; - let getHostsFake = sinon.fake.yields(null, getHostsReturn); - let setHostsFake = sinon.fake.yields(null, true); - let mockObj = { - dns: { - getHosts: getHostsFake, - setHosts: setHostsFake - } - }; - - sandbox.stub(namecheap.prototype, 'domains').value(mockObj); - domains.upsertDnsRecords('test', DOMAIN_0.domain, 'TXT', ['1.2.3.4', '2.3.4.5', '3.4.5.6'], function (error) { expect(error).to.eql(null); @@ -887,17 +868,6 @@ describe('dns provider', function () { } ]; - let getHostsFake = sinon.fake.yields(null, getHostsReturn); - let setHostsFake = sinon.fake.yields(null, true); - let mockObj = { - dns: { - getHosts: getHostsFake, - setHosts: setHostsFake - } - }; - - sandbox.stub(namecheap.prototype, 'domains').value(mockObj); - domains.upsertDnsRecords('test', DOMAIN_0.domain, 'MX', ['10 1.2.3.4', '20 2.3.4.5', '30 3.4.5.6'], function (error) { expect(error).to.eql(null); @@ -972,17 +942,6 @@ describe('dns provider', function () { } ]; - let getHostsFake = sinon.fake.yields(null, getHostsReturn); - let setHostsFake = sinon.fake.yields(null, true); - let mockObj = { - dns: { - getHosts: getHostsFake, - setHosts: setHostsFake - } - }; - - sandbox.stub(namecheap.prototype, 'domains').value(mockObj); - domains.upsertDnsRecords('www', DOMAIN_0.domain, 'CNAME', ['1.2.3.4'], function (error) { expect(error).to.eql(null); @@ -1039,15 +998,6 @@ describe('dns provider', function () { } }; - let getHostsFake = sinon.fake.yields(null, getHostsReturn); - let mockObj = { - dns: { - getHosts: getHostsFake - } - }; - - sandbox.stub(namecheap.prototype, 'domains').value(mockObj); - domains.getDnsRecords('test', DOMAIN_0.domain, 'A', function (error, result) { expect(error).to.eql(null); @@ -1112,17 +1062,6 @@ describe('dns provider', function () { } ]; - let getHostsFake = sinon.fake.yields(null, getHostsReturn); - let setHostsFake = sinon.fake.yields(null, true); - let mockObj = { - dns: { - getHosts: getHostsFake, - setHosts: setHostsFake - } - }; - - sandbox.stub(namecheap.prototype, 'domains').value(mockObj); - domains.removeDnsRecords('www', DOMAIN_0.domain, 'CNAME', ['1.2.3.4'], function (error) { expect(error).to.eql(null); @@ -1170,17 +1109,6 @@ describe('dns provider', function () { } }; - let getHostsFake = sinon.fake.yields(null, getHostsReturn); - let setHostsFake = sinon.fake.yields(null, true); - let mockObj = { - dns: { - getHosts: getHostsFake, - setHosts: setHostsFake - } - }; - - sandbox.stub(namecheap.prototype, 'domains').value(mockObj); - domains.removeDnsRecords('test', DOMAIN_0.domain, 'A', ['1.2.3.4'], function (error) { expect(error).to.eql(null);