diff --git a/src/test/externalldap-test.js b/src/test/externalldap-test.js index a59c06c68..ef4844524 100644 --- a/src/test/externalldap-test.js +++ b/src/test/externalldap-test.js @@ -40,10 +40,10 @@ const LDAP_CONFIG = { // helper function to deal with pagination taken from ldap.js function finalSend(results, req, res, next) { - var min = 0; - var max = results.length; - var cookie = null; - var pageSize = 0; + let min = 0; + const max = results.length; + let cookie = null; + let pageSize = 0; // check if this is a paging request, if so get the cookie for session info req.controls.forEach(function (control) { @@ -56,7 +56,7 @@ function finalSend(results, req, res, next) { function sendPagedResults(start, end) { start = (start < min) ? min : start; end = (end > max || end < min) ? max : end; - var i; + let i; for (i = start; i < end; i++) { res.send(results[i]); @@ -67,13 +67,13 @@ function finalSend(results, req, res, next) { if (cookie && Buffer.isBuffer(cookie)) { // we have pagination - var first = min; + let first = min; if (cookie.length !== 0) { first = parseInt(cookie.toString(), 10); } - var last = sendPagedResults(first, first + pageSize); + const last = sendPagedResults(first, first + pageSize); - var resultCookie; + let resultCookie; if (last < max) { resultCookie = Buffer.from(last.toString()); } else { @@ -108,9 +108,9 @@ function startLdapServer(callback) { let results = []; gLdapUsers.forEach(function (entry) { - var dn = ldap.parseDN(`cn=${entry.username},${LDAP_BASE_DN}`); + const dn = ldap.parseDN(`cn=${entry.username},${LDAP_BASE_DN}`); - var obj = { + const obj = { dn: dn.toString(), attributes: { objectclass: [ 'inetOrgPerson' ], @@ -133,9 +133,9 @@ function startLdapServer(callback) { let results = []; gLdapGroups.forEach(function (entry) { - var dn = ldap.parseDN(`cn=${entry.groupname},${LDAP_GROUP_BASE_DN}`); + const dn = ldap.parseDN(`cn=${entry.groupname},${LDAP_GROUP_BASE_DN}`); - var obj = { + const obj = { dn: dn.toString(), attributes: { objectclass: [ 'groupOfNames' ], @@ -156,8 +156,8 @@ function startLdapServer(callback) { gLdapServer.bind(LDAP_BASE_DN, function (req, res, next) { // extract the common name which might have different attribute names - var attributeName = Object.keys(req.dn.rdns[0].attrs)[0]; - var commonName = req.dn.rdns[0].attrs[attributeName].value; + const attributeName = Object.keys(req.dn.rdns[0].attrs)[0]; + const commonName = req.dn.rdns[0].attrs[attributeName].value; if (!commonName) return next(new ldap.NoSuchObjectError(req.dn.toString())); if (!gLdapUsers.find(function (u) { return u.username === commonName; })) return next(new ldap.NoSuchObjectError(req.dn.toString())); @@ -175,7 +175,7 @@ function stopLdapServer(callback) { } describe('External LDAP', function () { - const { setup, cleanup, admin, serverUrl, auditSource } = common; + const { setup, cleanup, admin, serverUrl } = common; before(function (done) { async.series([ diff --git a/src/test/reverseproxy-test.js b/src/test/reverseproxy-test.js index 828bab2af..d132fd118 100644 --- a/src/test/reverseproxy-test.js +++ b/src/test/reverseproxy-test.js @@ -37,16 +37,16 @@ describe('Reverse Proxy', function () { */ // foobar.com - var validCert0 = '-----BEGIN CERTIFICATE-----\nMIIBxTCCAW8CFBVWRFizZeUIdp94/l9Qx/+7UM4GMA0GCSqGSIb3DQEBCwUAMGQx\nCzAJBgNVBAYTAkRFMQ8wDQYDVQQIDAZCZXJsaW4xDzANBgNVBAcMBkJlcmxpbjEQ\nMA4GA1UECgwHTmVidWxvbjEMMAoGA1UECwwDQ1RPMRMwEQYDVQQDDApmb29iYXIu\nY29tMB4XDTIwMTEyMjAxNTI0M1oXDTMwMTEyMDAxNTI0M1owZDELMAkGA1UEBhMC\nREUxDzANBgNVBAgMBkJlcmxpbjEPMA0GA1UEBwwGQmVybGluMRAwDgYDVQQKDAdO\nZWJ1bG9uMQwwCgYDVQQLDANDVE8xEzARBgNVBAMMCmZvb2Jhci5jb20wXDANBgkq\nhkiG9w0BAQEFAANLADBIAkEA++BvW/oDsaM57d4Q4GQjkUzjB0/glKLj4P0Y8InS\nhLHOud9Uxz7dIcqHm9x9MOtqTRhtiHNoFLZLsU3a3upr2QIDAQABMA0GCSqGSIb3\nDQEBCwUAA0EAy9Acsgr/lH1rrE8DZov7dvvNjExkC+VO0kujO25aQIGBAtzLp9MG\nEblQ3ZXMBSX4b/nLMjOH8Xr4ZA0GUDgdew==\n-----END CERTIFICATE-----'; - var validKey0 = '-----BEGIN RSA PRIVATE KEY-----\nMIIBPAIBAAJBAPvgb1v6A7GjOe3eEOBkI5FM4wdP4JSi4+D9GPCJ0oSxzrnfVMc+\n3SHKh5vcfTDrak0YbYhzaBS2S7FN2t7qa9kCAwEAAQJBALsBjWyKmcd/2vjCkWEo\nuEefAEhjg+iXb/2RrLyad1TQfgs35UfigcjpWbzT2ScpFZT61ng6hKmclt2OCT9F\nBKECIQD/bjRbGiPq762ikWkfvalgkAAhSoXo2AcD/MsrhWyyPQIhAPxwM7jZRNvO\nng3TJaAgISwwUC9vuaNJQ06Yt02pvoXNAiEAuQipTrGCAWe8vb5ei8rFzxihr3wf\nw0vy0RWoTA+sbPUCIHDFOwXf4bgEJG1unwdacxdHefrHAXold3D8Hh8OrnMdAiEA\nov6sW0C1+maNpoWC+moDGFdImZnej2SDIB5976akWVo=\n-----END RSA PRIVATE KEY-----'; + const validCert0 = '-----BEGIN CERTIFICATE-----\nMIIBxTCCAW8CFBVWRFizZeUIdp94/l9Qx/+7UM4GMA0GCSqGSIb3DQEBCwUAMGQx\nCzAJBgNVBAYTAkRFMQ8wDQYDVQQIDAZCZXJsaW4xDzANBgNVBAcMBkJlcmxpbjEQ\nMA4GA1UECgwHTmVidWxvbjEMMAoGA1UECwwDQ1RPMRMwEQYDVQQDDApmb29iYXIu\nY29tMB4XDTIwMTEyMjAxNTI0M1oXDTMwMTEyMDAxNTI0M1owZDELMAkGA1UEBhMC\nREUxDzANBgNVBAgMBkJlcmxpbjEPMA0GA1UEBwwGQmVybGluMRAwDgYDVQQKDAdO\nZWJ1bG9uMQwwCgYDVQQLDANDVE8xEzARBgNVBAMMCmZvb2Jhci5jb20wXDANBgkq\nhkiG9w0BAQEFAANLADBIAkEA++BvW/oDsaM57d4Q4GQjkUzjB0/glKLj4P0Y8InS\nhLHOud9Uxz7dIcqHm9x9MOtqTRhtiHNoFLZLsU3a3upr2QIDAQABMA0GCSqGSIb3\nDQEBCwUAA0EAy9Acsgr/lH1rrE8DZov7dvvNjExkC+VO0kujO25aQIGBAtzLp9MG\nEblQ3ZXMBSX4b/nLMjOH8Xr4ZA0GUDgdew==\n-----END CERTIFICATE-----'; + const validKey0 = '-----BEGIN RSA PRIVATE KEY-----\nMIIBPAIBAAJBAPvgb1v6A7GjOe3eEOBkI5FM4wdP4JSi4+D9GPCJ0oSxzrnfVMc+\n3SHKh5vcfTDrak0YbYhzaBS2S7FN2t7qa9kCAwEAAQJBALsBjWyKmcd/2vjCkWEo\nuEefAEhjg+iXb/2RrLyad1TQfgs35UfigcjpWbzT2ScpFZT61ng6hKmclt2OCT9F\nBKECIQD/bjRbGiPq762ikWkfvalgkAAhSoXo2AcD/MsrhWyyPQIhAPxwM7jZRNvO\nng3TJaAgISwwUC9vuaNJQ06Yt02pvoXNAiEAuQipTrGCAWe8vb5ei8rFzxihr3wf\nw0vy0RWoTA+sbPUCIHDFOwXf4bgEJG1unwdacxdHefrHAXold3D8Hh8OrnMdAiEA\nov6sW0C1+maNpoWC+moDGFdImZnej2SDIB5976akWVo=\n-----END RSA PRIVATE KEY-----'; // *.foobar.com - var validCert1 = '-----BEGIN CERTIFICATE-----\nMIIByTCCAXMCFEXpWxabfp9Nybi7akGuxKlXdQVsMA0GCSqGSIb3DQEBCwUAMGYx\nCzAJBgNVBAYTAkRFMQ8wDQYDVQQIDAZCZXJsaW4xDzANBgNVBAcMBkJlcmxpbjEQ\nMA4GA1UECgwHTmVidWxvbjEMMAoGA1UECwwDQ1RPMRUwEwYDVQQDDAwqLmZvb2Jh\nci5jb20wHhcNMjAxMTIyMDIxNjQzWhcNMzAxMTIwMDIxNjQzWjBmMQswCQYDVQQG\nEwJERTEPMA0GA1UECAwGQmVybGluMQ8wDQYDVQQHDAZCZXJsaW4xEDAOBgNVBAoM\nB05lYnVsb24xDDAKBgNVBAsMA0NUTzEVMBMGA1UEAwwMKi5mb29iYXIuY29tMFww\nDQYJKoZIhvcNAQEBBQADSwAwSAJBAKMUYf86EG+J6ughAvhKGbIIyOpB3XqnK6KV\nM+r2/DvFx2KGIew7KopkzM2+UThDWE2YTcgL5846QRbx+K5NAXECAwEAATANBgkq\nhkiG9w0BAQsFAANBAJrX5wdszGt0lhDx0w2saJtTM3A6AfYdI7F37rgnvQKwRA0u\nTlN9Ekp4HbZsRi36g3W9zl6nWa3/HWbnBiRNuXk=\n-----END CERTIFICATE-----\n'; - var validKey1 = '-----BEGIN RSA PRIVATE KEY-----\nMIIBOQIBAAJBAKMUYf86EG+J6ughAvhKGbIIyOpB3XqnK6KVM+r2/DvFx2KGIew7\nKopkzM2+UThDWE2YTcgL5846QRbx+K5NAXECAwEAAQJAL/m/GqaqTyXzxXZwuTqT\ndJzA/qmBzqN/YsUiEO24Jp0AVuERlgiKBbxpu0xp8EpDsLTEt6TWWy1p0HIH6e0j\nAQIhANIZkHD6gVxvAMz0tquSprBnylqHngdT/PymDEHHNPv1AiEAxrUTvxV+vmii\n5CCLFTnYTQliKr+PC5qxn2WxV1rPng0CIGTiS55EW0t0LbE8rF40XAAGxn6z8ijY\npnj2jpojOojlAiBoaA6XEXFGFO651QufPISVfb+x3HMJ0t9PdHxo/NMoJQIgbVUh\naQKzUcrgIM2nbg4fLp3+VAh0ZkxNwaeKcsZz0cQ=\n-----END RSA PRIVATE KEY-----\n'; + const validCert1 = '-----BEGIN CERTIFICATE-----\nMIIByTCCAXMCFEXpWxabfp9Nybi7akGuxKlXdQVsMA0GCSqGSIb3DQEBCwUAMGYx\nCzAJBgNVBAYTAkRFMQ8wDQYDVQQIDAZCZXJsaW4xDzANBgNVBAcMBkJlcmxpbjEQ\nMA4GA1UECgwHTmVidWxvbjEMMAoGA1UECwwDQ1RPMRUwEwYDVQQDDAwqLmZvb2Jh\nci5jb20wHhcNMjAxMTIyMDIxNjQzWhcNMzAxMTIwMDIxNjQzWjBmMQswCQYDVQQG\nEwJERTEPMA0GA1UECAwGQmVybGluMQ8wDQYDVQQHDAZCZXJsaW4xEDAOBgNVBAoM\nB05lYnVsb24xDDAKBgNVBAsMA0NUTzEVMBMGA1UEAwwMKi5mb29iYXIuY29tMFww\nDQYJKoZIhvcNAQEBBQADSwAwSAJBAKMUYf86EG+J6ughAvhKGbIIyOpB3XqnK6KV\nM+r2/DvFx2KGIew7KopkzM2+UThDWE2YTcgL5846QRbx+K5NAXECAwEAATANBgkq\nhkiG9w0BAQsFAANBAJrX5wdszGt0lhDx0w2saJtTM3A6AfYdI7F37rgnvQKwRA0u\nTlN9Ekp4HbZsRi36g3W9zl6nWa3/HWbnBiRNuXk=\n-----END CERTIFICATE-----\n'; + const validKey1 = '-----BEGIN RSA PRIVATE KEY-----\nMIIBOQIBAAJBAKMUYf86EG+J6ughAvhKGbIIyOpB3XqnK6KVM+r2/DvFx2KGIew7\nKopkzM2+UThDWE2YTcgL5846QRbx+K5NAXECAwEAAQJAL/m/GqaqTyXzxXZwuTqT\ndJzA/qmBzqN/YsUiEO24Jp0AVuERlgiKBbxpu0xp8EpDsLTEt6TWWy1p0HIH6e0j\nAQIhANIZkHD6gVxvAMz0tquSprBnylqHngdT/PymDEHHNPv1AiEAxrUTvxV+vmii\n5CCLFTnYTQliKr+PC5qxn2WxV1rPng0CIGTiS55EW0t0LbE8rF40XAAGxn6z8ijY\npnj2jpojOojlAiBoaA6XEXFGFO651QufPISVfb+x3HMJ0t9PdHxo/NMoJQIgbVUh\naQKzUcrgIM2nbg4fLp3+VAh0ZkxNwaeKcsZz0cQ=\n-----END RSA PRIVATE KEY-----\n'; // baz.foobar.com - var validCert2 = '-----BEGIN CERTIFICATE-----\nMIIBzTCCAXcCFG3UtlC/mgM6sp2591h+oywv83xhMA0GCSqGSIb3DQEBCwUAMGgx\nCzAJBgNVBAYTAkRFMQ8wDQYDVQQIDAZCZXJsaW4xDzANBgNVBAcMBkJlcmxpbjEQ\nMA4GA1UECgwHTmVidWxvbjEMMAoGA1UECwwDQ1RPMRcwFQYDVQQDDA5iYXouZm9v\nYmFyLmNvbTAeFw0yMDExMjIwMTU0MjFaFw0yNDExMjEwMTU0MjFaMGgxCzAJBgNV\nBAYTAkRFMQ8wDQYDVQQIDAZCZXJsaW4xDzANBgNVBAcMBkJlcmxpbjEQMA4GA1UE\nCgwHTmVidWxvbjEMMAoGA1UECwwDQ1RPMRcwFQYDVQQDDA5iYXouZm9vYmFyLmNv\nbTBcMA0GCSqGSIb3DQEBAQUAA0sAMEgCQQD74G9b+gOxoznt3hDgZCORTOMHT+CU\nouPg/RjwidKEsc6531THPt0hyoeb3H0w62pNGG2Ic2gUtkuxTdre6mvZAgMBAAEw\nDQYJKoZIhvcNAQELBQADQQCarEdycosj9EMNB7HYrqMsSpwdhpORbFozsGYRbTaA\ntDE8tCCOleSsVMDtW2jwL5e+we1QQO+dM88K0pqTKHEm\n-----END CERTIFICATE-----\n'; - var validKey2 = '-----BEGIN RSA PRIVATE KEY-----\nMIIBPAIBAAJBAPvgb1v6A7GjOe3eEOBkI5FM4wdP4JSi4+D9GPCJ0oSxzrnfVMc+\n3SHKh5vcfTDrak0YbYhzaBS2S7FN2t7qa9kCAwEAAQJBALsBjWyKmcd/2vjCkWEo\nuEefAEhjg+iXb/2RrLyad1TQfgs35UfigcjpWbzT2ScpFZT61ng6hKmclt2OCT9F\nBKECIQD/bjRbGiPq762ikWkfvalgkAAhSoXo2AcD/MsrhWyyPQIhAPxwM7jZRNvO\nng3TJaAgISwwUC9vuaNJQ06Yt02pvoXNAiEAuQipTrGCAWe8vb5ei8rFzxihr3wf\nw0vy0RWoTA+sbPUCIHDFOwXf4bgEJG1unwdacxdHefrHAXold3D8Hh8OrnMdAiEA\nov6sW0C1+maNpoWC+moDGFdImZnej2SDIB5976akWVo=\n-----END RSA PRIVATE KEY-----\n'; + const validCert2 = '-----BEGIN CERTIFICATE-----\nMIIBzTCCAXcCFG3UtlC/mgM6sp2591h+oywv83xhMA0GCSqGSIb3DQEBCwUAMGgx\nCzAJBgNVBAYTAkRFMQ8wDQYDVQQIDAZCZXJsaW4xDzANBgNVBAcMBkJlcmxpbjEQ\nMA4GA1UECgwHTmVidWxvbjEMMAoGA1UECwwDQ1RPMRcwFQYDVQQDDA5iYXouZm9v\nYmFyLmNvbTAeFw0yMDExMjIwMTU0MjFaFw0yNDExMjEwMTU0MjFaMGgxCzAJBgNV\nBAYTAkRFMQ8wDQYDVQQIDAZCZXJsaW4xDzANBgNVBAcMBkJlcmxpbjEQMA4GA1UE\nCgwHTmVidWxvbjEMMAoGA1UECwwDQ1RPMRcwFQYDVQQDDA5iYXouZm9vYmFyLmNv\nbTBcMA0GCSqGSIb3DQEBAQUAA0sAMEgCQQD74G9b+gOxoznt3hDgZCORTOMHT+CU\nouPg/RjwidKEsc6531THPt0hyoeb3H0w62pNGG2Ic2gUtkuxTdre6mvZAgMBAAEw\nDQYJKoZIhvcNAQELBQADQQCarEdycosj9EMNB7HYrqMsSpwdhpORbFozsGYRbTaA\ntDE8tCCOleSsVMDtW2jwL5e+we1QQO+dM88K0pqTKHEm\n-----END CERTIFICATE-----\n'; + const validKey2 = '-----BEGIN RSA PRIVATE KEY-----\nMIIBPAIBAAJBAPvgb1v6A7GjOe3eEOBkI5FM4wdP4JSi4+D9GPCJ0oSxzrnfVMc+\n3SHKh5vcfTDrak0YbYhzaBS2S7FN2t7qa9kCAwEAAQJBALsBjWyKmcd/2vjCkWEo\nuEefAEhjg+iXb/2RrLyad1TQfgs35UfigcjpWbzT2ScpFZT61ng6hKmclt2OCT9F\nBKECIQD/bjRbGiPq762ikWkfvalgkAAhSoXo2AcD/MsrhWyyPQIhAPxwM7jZRNvO\nng3TJaAgISwwUC9vuaNJQ06Yt02pvoXNAiEAuQipTrGCAWe8vb5ei8rFzxihr3wf\nw0vy0RWoTA+sbPUCIHDFOwXf4bgEJG1unwdacxdHefrHAXold3D8Hh8OrnMdAiEA\nov6sW0C1+maNpoWC+moDGFdImZnej2SDIB5976akWVo=\n-----END RSA PRIVATE KEY-----\n'; /* Generate these with: @@ -56,14 +56,14 @@ describe('Reverse Proxy', function () { */ // *.foobar.com - var validCert4 = '-----BEGIN CERTIFICATE-----\nMIICITCCAcegAwIBAgIUThSKBnGJ3TzM3ACzYQinCB5KS0QwCgYIKoZIzj0EAwIw\nZjELMAkGA1UEBhMCREUxDzANBgNVBAgMBkJlcmxpbjEPMA0GA1UEBwwGQmVybGlu\nMRAwDgYDVQQKDAdOZWJ1bG9uMQwwCgYDVQQLDANDVE8xFTATBgNVBAMMDCouZm9v\nYmFyLmNvbTAeFw0yMDExMjIwMTU5MjhaFw0zMDExMjAwMTU5MjhaMGYxCzAJBgNV\nBAYTAkRFMQ8wDQYDVQQIDAZCZXJsaW4xDzANBgNVBAcMBkJlcmxpbjEQMA4GA1UE\nCgwHTmVidWxvbjEMMAoGA1UECwwDQ1RPMRUwEwYDVQQDDAwqLmZvb2Jhci5jb20w\nWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARXV7XqwL8dTTdKJ1sngAAgFXBmppsy\n5GLjm49GrDTB2ho6sjjwMUzKKP9jVCRrSlcKwmXNAy75/pPtLkL4A+s/o1MwUTAd\nBgNVHQ4EFgQUWajw1bCj16I+F8ZpjQEMnJb56XkwHwYDVR0jBBgwFoAUWajw1bCj\n16I+F8ZpjQEMnJb56XkwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAgNIADBF\nAiEA8eeVP+FvAfg4RVjH17DL/zPUBUIsmyTnPm9D7zIAdc0CICZYPU5qrAKA1h5U\n6+8vX4w+EuVQ8vjc8ATl7L/IKdmL\n-----END CERTIFICATE-----\n'; - var validKey4 = '-----BEGIN EC PARAMETERS-----\nBggqhkjOPQMBBw==\n-----END EC PARAMETERS-----\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIAczzARUd1L4KN/2Fl4s5kc1to6QzP9XGPCVLfQdtwbSoAoGCCqGSM49\nAwEHoUQDQgAEV1e16sC/HU03SidbJ4AAIBVwZqabMuRi45uPRqw0wdoaOrI48DFM\nyij/Y1Qka0pXCsJlzQMu+f6T7S5C+APrPw==\n-----END EC PRIVATE KEY-----\n'; + const validCert4 = '-----BEGIN CERTIFICATE-----\nMIICITCCAcegAwIBAgIUThSKBnGJ3TzM3ACzYQinCB5KS0QwCgYIKoZIzj0EAwIw\nZjELMAkGA1UEBhMCREUxDzANBgNVBAgMBkJlcmxpbjEPMA0GA1UEBwwGQmVybGlu\nMRAwDgYDVQQKDAdOZWJ1bG9uMQwwCgYDVQQLDANDVE8xFTATBgNVBAMMDCouZm9v\nYmFyLmNvbTAeFw0yMDExMjIwMTU5MjhaFw0zMDExMjAwMTU5MjhaMGYxCzAJBgNV\nBAYTAkRFMQ8wDQYDVQQIDAZCZXJsaW4xDzANBgNVBAcMBkJlcmxpbjEQMA4GA1UE\nCgwHTmVidWxvbjEMMAoGA1UECwwDQ1RPMRUwEwYDVQQDDAwqLmZvb2Jhci5jb20w\nWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARXV7XqwL8dTTdKJ1sngAAgFXBmppsy\n5GLjm49GrDTB2ho6sjjwMUzKKP9jVCRrSlcKwmXNAy75/pPtLkL4A+s/o1MwUTAd\nBgNVHQ4EFgQUWajw1bCj16I+F8ZpjQEMnJb56XkwHwYDVR0jBBgwFoAUWajw1bCj\n16I+F8ZpjQEMnJb56XkwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAgNIADBF\nAiEA8eeVP+FvAfg4RVjH17DL/zPUBUIsmyTnPm9D7zIAdc0CICZYPU5qrAKA1h5U\n6+8vX4w+EuVQ8vjc8ATl7L/IKdmL\n-----END CERTIFICATE-----\n'; + const validKey4 = '-----BEGIN EC PARAMETERS-----\nBggqhkjOPQMBBw==\n-----END EC PARAMETERS-----\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIAczzARUd1L4KN/2Fl4s5kc1to6QzP9XGPCVLfQdtwbSoAoGCCqGSM49\nAwEHoUQDQgAEV1e16sC/HU03SidbJ4AAIBVwZqabMuRi45uPRqw0wdoaOrI48DFM\nyij/Y1Qka0pXCsJlzQMu+f6T7S5C+APrPw==\n-----END EC PRIVATE KEY-----\n'; // cp /etc/ssl/openssl.cnf /tmp/openssl.cnf // echo -e "[SAN]\nsubjectAltName=DNS:amazing.com,DNS:*.amazing.com\n" >> /tmp/openssl.cnf // openssl req -x509 -newkey rsa:2048 -keyout amazing.key -out amazing.crt -days 3650 -subj /CN=*.amazing.com -nodes -extensions SAN -config /tmp/openssl.cnf - var validCert3 = '-----BEGIN CERTIFICATE-----\nMIIC3DCCAcSgAwIBAgIJALcStAD5sDWEMA0GCSqGSIb3DQEBCwUAMBgxFjAUBgNV\nBAMMDSouYW1hemluZy5jb20wHhcNMTgwMjA5MjIxMzM2WhcNMjgwMjA3MjIxMzM2\nWjAYMRYwFAYDVQQDDA0qLmFtYXppbmcuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOC\nAQ8AMIIBCgKCAQEAvp8dk13u4vmAfKfRNOO8+rVQ8q+vyR8scc9Euj0pTodLBflM\n2K6Zk0isirRzCL/jd4n1A6QrPeJ+r2J4xtHk2j+pavt8Sa2Go2MzpAe3OTuIqYJf\nUt7Im3f2Lb67itTPrpA2TR3A/dDFlazju+eBd3t3496Do8aBPpXAdOabfPsrv3nE\nx97vrr4tzeK3kG9u7GYuod5gyiwF2t5wSeMWbFk2oqkOCtHRXE77JDKVxIGiepnU\nTnkW9b7jIkiBQ1x0xHG4soewV2ymGHS2XrUHZ45FFMG7yVYpytKT9Iz9ty/z5VcL\nZ6NzgU/pKfQaIe8MpoDpVf5UNeB2DOAAEoJKKwIDAQABoykwJzAlBgNVHREEHjAc\nggthbWF6aW5nLmNvbYINKi5hbWF6aW5nLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEA\nMULk6B9XrVPAole8W66o3WUUOrC7NVjbwZjr+Kp5oQTSo84qacaZS2C3ox/j/TZY\nUuNvoE6gIOHi+inN+G4P76K7NEvm8+Y1CeAyaPq01H4Qy2lk9F5wFMtPqvBZnF9C\nx1MvV30FruHXe5pDfnG1npKECpn2SgE3k6FRHM55u8rTMEm/O4TtsDq+fPqUvyWa\nZuRjPv4qVGGkoPyxA6iffxclpOAXs3JUgLcYoM2vxKC0YSOjHEa0p4uffX063Jgg\nybuy3OKvm+8L6moycX7J+LZK81dDTFDtF7PwrnRbpS4re0i/LSk23jDQvDOLnrAa\nSawRR8+1QHTENBo7dnP+NA==\n-----END CERTIFICATE-----'; - var validKey3 = '-----BEGIN PRIVATE KEY-----\nMIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC+nx2TXe7i+YB8\np9E047z6tVDyr6/JHyxxz0S6PSlOh0sF+UzYrpmTSKyKtHMIv+N3ifUDpCs94n6v\nYnjG0eTaP6lq+3xJrYajYzOkB7c5O4ipgl9S3sibd/YtvruK1M+ukDZNHcD90MWV\nrOO754F3e3fj3oOjxoE+lcB05pt8+yu/ecTH3u+uvi3N4reQb27sZi6h3mDKLAXa\n3nBJ4xZsWTaiqQ4K0dFcTvskMpXEgaJ6mdROeRb1vuMiSIFDXHTEcbiyh7BXbKYY\ndLZetQdnjkUUwbvJVinK0pP0jP23L/PlVwtno3OBT+kp9Boh7wymgOlV/lQ14HYM\n4AASgkorAgMBAAECggEAdVSVLMcNqlGuv4vAHtDq2lpOaAKxrZbtkWPlxsisqzRl\nfljT7y+RQfHimkG16LXL+iFFWadsIlxOY/+1nZNGTPwQeNQwzVzs2ZbPC3DgW28E\nkGm56NVOHzu4oLGc2DhjWOxVMCRXTSN66sUPK/K0YunxgqXM2zrtBKvCWXI0VLlo\nN/UWAwHf4i0GWRl8u8PvxgMXlSW9p9l6gSsivWRMag9ADwRQ/NSKrRYkiOoRe3vz\nLxXARBvzeZXvOPVLGVRX4SIR7OmS8cC6Ol/rp1/ZFFID7aN+wdzphPSL1UNUriw4\nDv1mxz73SNakgeYSFBoWRS5BsJI01JoCoILsnhVCiQKBgQDyW+k5+j4K17fzwsmi\nyxZ0Nz/ncpkqxVrWYZM3pn7OVkb2NDArimEk53kmJ0hrT84kKJUYDx55R2TpnzpV\nMLmjxgs9TUrzZzsL/DP2ppkfE3OrPS+06OGa5GbURxD6KPvqDtOmU3oFyJ3f4YJR\nVK7RW+zO4sXEpHIxwdBXbYov1QKBgQDJWbt+W5M0sA2D5LrUBNMTvMdNnKH0syc2\nZlcIOdj6HuUIveYpBRq64Jn9VJpXMxQanwE+IUjCpPTa8wF0OA6MZPy6cfovqb8a\ni1/M/lvCoYVS3KHLcTOvTGD3xej0EUj13xWGNu8y3i7Z9/Bl21hEyjd0q0I5OqJx\no9Qa5TGR/wKBgBPfkYpdiMTe14i3ik09FgRFm4nhDcpCEKbPrYC8uF03Ge6KbQDF\nAh5ClN6aDggurRqt8Tvd0YPkZNP7aI8fxbk2PimystiuuFrNPX2WP6warjt2cvkE\nt6s522zAvxWkUrPor1ZONg1PXBLFrSf6J7OnNA3q7oina23FFM52fwRZAoGAZ7l7\nFffU2IKNI9HT0N7/YZ6RSVEUOXuFCsgjs5AhT5BUynERPTZs87I6gb9wltUwWRpq\nSHhbBDJ4FMa0jAtIq1hmvSF0EdOvJ9x+qJqr6JLOnMYd7zDMwFRna5yfigPRgx+9\n9dsc1CaTGiRYyg/5484MTWTgA51KC6Kq5IQHSj8CgYBr9rWgqM8hVCKSt1cMguQV\nTPaV97+u3kV2jFd/aVgDtCDIVvp5TPuqfskE1v3MsSjJ8hfHdYvyxZB8h8T4LlTD\n2HdxwCjVh2qirAvkar2b1mfA6R8msmVaIxBu4MqDcIPqR823klF7A8jSD3MGzYcU\nbnnxMdwgWQkmx0/6/90ZCg==\n-----END PRIVATE KEY-----\n'; + const validCert3 = '-----BEGIN CERTIFICATE-----\nMIIC3DCCAcSgAwIBAgIJALcStAD5sDWEMA0GCSqGSIb3DQEBCwUAMBgxFjAUBgNV\nBAMMDSouYW1hemluZy5jb20wHhcNMTgwMjA5MjIxMzM2WhcNMjgwMjA3MjIxMzM2\nWjAYMRYwFAYDVQQDDA0qLmFtYXppbmcuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOC\nAQ8AMIIBCgKCAQEAvp8dk13u4vmAfKfRNOO8+rVQ8q+vyR8scc9Euj0pTodLBflM\n2K6Zk0isirRzCL/jd4n1A6QrPeJ+r2J4xtHk2j+pavt8Sa2Go2MzpAe3OTuIqYJf\nUt7Im3f2Lb67itTPrpA2TR3A/dDFlazju+eBd3t3496Do8aBPpXAdOabfPsrv3nE\nx97vrr4tzeK3kG9u7GYuod5gyiwF2t5wSeMWbFk2oqkOCtHRXE77JDKVxIGiepnU\nTnkW9b7jIkiBQ1x0xHG4soewV2ymGHS2XrUHZ45FFMG7yVYpytKT9Iz9ty/z5VcL\nZ6NzgU/pKfQaIe8MpoDpVf5UNeB2DOAAEoJKKwIDAQABoykwJzAlBgNVHREEHjAc\nggthbWF6aW5nLmNvbYINKi5hbWF6aW5nLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEA\nMULk6B9XrVPAole8W66o3WUUOrC7NVjbwZjr+Kp5oQTSo84qacaZS2C3ox/j/TZY\nUuNvoE6gIOHi+inN+G4P76K7NEvm8+Y1CeAyaPq01H4Qy2lk9F5wFMtPqvBZnF9C\nx1MvV30FruHXe5pDfnG1npKECpn2SgE3k6FRHM55u8rTMEm/O4TtsDq+fPqUvyWa\nZuRjPv4qVGGkoPyxA6iffxclpOAXs3JUgLcYoM2vxKC0YSOjHEa0p4uffX063Jgg\nybuy3OKvm+8L6moycX7J+LZK81dDTFDtF7PwrnRbpS4re0i/LSk23jDQvDOLnrAa\nSawRR8+1QHTENBo7dnP+NA==\n-----END CERTIFICATE-----'; + const validKey3 = '-----BEGIN PRIVATE KEY-----\nMIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC+nx2TXe7i+YB8\np9E047z6tVDyr6/JHyxxz0S6PSlOh0sF+UzYrpmTSKyKtHMIv+N3ifUDpCs94n6v\nYnjG0eTaP6lq+3xJrYajYzOkB7c5O4ipgl9S3sibd/YtvruK1M+ukDZNHcD90MWV\nrOO754F3e3fj3oOjxoE+lcB05pt8+yu/ecTH3u+uvi3N4reQb27sZi6h3mDKLAXa\n3nBJ4xZsWTaiqQ4K0dFcTvskMpXEgaJ6mdROeRb1vuMiSIFDXHTEcbiyh7BXbKYY\ndLZetQdnjkUUwbvJVinK0pP0jP23L/PlVwtno3OBT+kp9Boh7wymgOlV/lQ14HYM\n4AASgkorAgMBAAECggEAdVSVLMcNqlGuv4vAHtDq2lpOaAKxrZbtkWPlxsisqzRl\nfljT7y+RQfHimkG16LXL+iFFWadsIlxOY/+1nZNGTPwQeNQwzVzs2ZbPC3DgW28E\nkGm56NVOHzu4oLGc2DhjWOxVMCRXTSN66sUPK/K0YunxgqXM2zrtBKvCWXI0VLlo\nN/UWAwHf4i0GWRl8u8PvxgMXlSW9p9l6gSsivWRMag9ADwRQ/NSKrRYkiOoRe3vz\nLxXARBvzeZXvOPVLGVRX4SIR7OmS8cC6Ol/rp1/ZFFID7aN+wdzphPSL1UNUriw4\nDv1mxz73SNakgeYSFBoWRS5BsJI01JoCoILsnhVCiQKBgQDyW+k5+j4K17fzwsmi\nyxZ0Nz/ncpkqxVrWYZM3pn7OVkb2NDArimEk53kmJ0hrT84kKJUYDx55R2TpnzpV\nMLmjxgs9TUrzZzsL/DP2ppkfE3OrPS+06OGa5GbURxD6KPvqDtOmU3oFyJ3f4YJR\nVK7RW+zO4sXEpHIxwdBXbYov1QKBgQDJWbt+W5M0sA2D5LrUBNMTvMdNnKH0syc2\nZlcIOdj6HuUIveYpBRq64Jn9VJpXMxQanwE+IUjCpPTa8wF0OA6MZPy6cfovqb8a\ni1/M/lvCoYVS3KHLcTOvTGD3xej0EUj13xWGNu8y3i7Z9/Bl21hEyjd0q0I5OqJx\no9Qa5TGR/wKBgBPfkYpdiMTe14i3ik09FgRFm4nhDcpCEKbPrYC8uF03Ge6KbQDF\nAh5ClN6aDggurRqt8Tvd0YPkZNP7aI8fxbk2PimystiuuFrNPX2WP6warjt2cvkE\nt6s522zAvxWkUrPor1ZONg1PXBLFrSf6J7OnNA3q7oina23FFM52fwRZAoGAZ7l7\nFffU2IKNI9HT0N7/YZ6RSVEUOXuFCsgjs5AhT5BUynERPTZs87I6gb9wltUwWRpq\nSHhbBDJ4FMa0jAtIq1hmvSF0EdOvJ9x+qJqr6JLOnMYd7zDMwFRna5yfigPRgx+9\n9dsc1CaTGiRYyg/5484MTWTgA51KC6Kq5IQHSj8CgYBr9rWgqM8hVCKSt1cMguQV\nTPaV97+u3kV2jFd/aVgDtCDIVvp5TPuqfskE1v3MsSjJ8hfHdYvyxZB8h8T4LlTD\n2HdxwCjVh2qirAvkar2b1mfA6R8msmVaIxBu4MqDcIPqR823klF7A8jSD3MGzYcU\nbnnxMdwgWQkmx0/6/90ZCg==\n-----END PRIVATE KEY-----\n'; it('does not allow empty string for cert', function () { expect(reverseProxy.validateCertificate('', foobarDomain, { cert: '', key: 'key' })).to.be.an(Error); diff --git a/src/test/storage-test.js b/src/test/storage-test.js index c33de1c0a..1b6f2e76c 100644 --- a/src/test/storage-test.js +++ b/src/test/storage-test.js @@ -67,9 +67,9 @@ describe('Storage', function () { }); it('can upload', function (done) { - var sourceFile = path.join(__dirname, 'storage/data/test.txt'); - var sourceStream = fs.createReadStream(sourceFile); - var destFile = gTmpFolder + '/uploadtest/test.txt'; + const sourceFile = path.join(__dirname, 'storage/data/test.txt'); + const sourceStream = fs.createReadStream(sourceFile); + const destFile = gTmpFolder + '/uploadtest/test.txt'; filesystem.upload(gBackupConfig, destFile, sourceStream, function (error) { expect(error).to.be(null); expect(fs.existsSync(destFile)); @@ -79,9 +79,9 @@ describe('Storage', function () { }); it('upload waits for empty file to be created', function (done) { - var sourceFile = path.join(__dirname, 'storage/data/empty'); - var sourceStream = fs.createReadStream(sourceFile); - var destFile = gTmpFolder + '/uploadtest/empty'; + const sourceFile = path.join(__dirname, 'storage/data/empty'); + const sourceStream = fs.createReadStream(sourceFile); + const destFile = gTmpFolder + '/uploadtest/empty'; filesystem.upload(gBackupConfig, destFile, sourceStream, function (error) { expect(error).to.be(null); expect(fs.existsSync(destFile)); @@ -91,10 +91,10 @@ describe('Storage', function () { }); it('upload unlinks old file', function (done) { - var sourceFile = path.join(__dirname, 'storage/data/test.txt'); - var sourceStream = fs.createReadStream(sourceFile); - var destFile = gTmpFolder + '/uploadtest/test.txt'; - var oldStat = fs.statSync(destFile); + const sourceFile = path.join(__dirname, 'storage/data/test.txt'); + const sourceStream = fs.createReadStream(sourceFile); + const destFile = gTmpFolder + '/uploadtest/test.txt'; + const oldStat = fs.statSync(destFile); filesystem.upload(gBackupConfig, destFile, sourceStream, function (error) { expect(error).to.be(null); expect(fs.existsSync(destFile)).to.be(true); @@ -105,7 +105,7 @@ describe('Storage', function () { }); it('can download file', function (done) { - var sourceFile = gTmpFolder + '/uploadtest/test.txt'; + const sourceFile = gTmpFolder + '/uploadtest/test.txt'; filesystem.download(gBackupConfig, sourceFile, function (error, stream) { expect(error).to.be(null); @@ -115,7 +115,7 @@ describe('Storage', function () { }); it('download errors for missing file', function (done) { - var sourceFile = gTmpFolder + '/uploadtest/missing'; + const sourceFile = gTmpFolder + '/uploadtest/missing'; filesystem.download(gBackupConfig, sourceFile, function (error) { expect(error.reason).to.be(BoxError.NOT_FOUND); @@ -124,14 +124,14 @@ describe('Storage', function () { }); it('list dir lists the source dir', function (done) { - var sourceDir = path.join(__dirname, 'storage'); + const sourceDir = path.join(__dirname, 'storage'); - var allFiles = [ ]; + let allFiles = [ ]; filesystem.listDir(gBackupConfig, sourceDir, 1, function (files, iteratorCallback) { allFiles = allFiles.concat(files); iteratorCallback(); }, function () { - var expectedFiles = execSync(`find ${sourceDir} -type f`, { encoding: 'utf8' }).trim().split('\n'); + const expectedFiles = execSync(`find ${sourceDir} -type f`, { encoding: 'utf8' }).trim().split('\n'); expect(allFiles.map(function (f) { return f.fullPath; }).sort()).to.eql(expectedFiles.sort()); done(); @@ -139,10 +139,10 @@ describe('Storage', function () { }); it('can copy', function (done) { - var sourceFile = gTmpFolder + '/uploadtest/test.txt'; // keep the test within save device - var destFile = gTmpFolder + '/uploadtest/test-hardlink.txt'; + const sourceFile = gTmpFolder + '/uploadtest/test.txt'; // keep the test within save device + const destFile = gTmpFolder + '/uploadtest/test-hardlink.txt'; - var events = filesystem.copy(gBackupConfig, sourceFile, destFile); + const events = filesystem.copy(gBackupConfig, sourceFile, destFile); events.on('done', function (error) { expect(error).to.be(null); expect(fs.statSync(destFile).nlink).to.be(2); // created a hardlink @@ -151,7 +151,7 @@ describe('Storage', function () { }); it('can remove file', function (done) { - var sourceFile = gTmpFolder + '/uploadtest/test-hardlink.txt'; + const sourceFile = gTmpFolder + '/uploadtest/test-hardlink.txt'; filesystem.remove(gBackupConfig, sourceFile, function (error) { expect(error).to.be(null); @@ -161,7 +161,7 @@ describe('Storage', function () { }); it('can remove empty dir', function (done) { - var sourceDir = gTmpFolder + '/emptydir'; + const sourceDir = gTmpFolder + '/emptydir'; fs.mkdirSync(sourceDir); filesystem.remove(gBackupConfig, sourceDir, function (error) { @@ -173,7 +173,7 @@ describe('Storage', function () { }); describe('noop', function () { - var gBackupConfig = { + const gBackupConfig = { provider: 'noop', format: 'tgz' }; @@ -199,7 +199,7 @@ describe('Storage', function () { }); it('can copy', function (done) { - var events = noop.copy(gBackupConfig, 'sourceFile', 'destFile'); + const events = noop.copy(gBackupConfig, 'sourceFile', 'destFile'); events.on('done', function (error) { expect(error).to.be(null); done(); @@ -222,8 +222,8 @@ describe('Storage', function () { }); describe('s3', function () { - var gS3Folder; - var gBackupConfig = { + let gS3Folder; + const gBackupConfig = { provider: 's3', key: 'key', prefix: 'unit.test', @@ -248,9 +248,9 @@ describe('Storage', function () { }); it('can upload', function (done) { - var sourceFile = path.join(__dirname, 'storage/data/test.txt'); - var sourceStream = fs.createReadStream(sourceFile); - var destKey = 'uploadtest/test.txt'; + const sourceFile = path.join(__dirname, 'storage/data/test.txt'); + const sourceStream = fs.createReadStream(sourceFile); + const destKey = 'uploadtest/test.txt'; s3.upload(gBackupConfig, destKey, sourceStream, function (error) { expect(error).to.be(null); expect(fs.existsSync(path.join(gS3Folder, destKey))).to.be(true); @@ -260,7 +260,7 @@ describe('Storage', function () { }); it('can download file', function (done) { - var sourceKey = 'uploadtest/test.txt'; + const sourceKey = 'uploadtest/test.txt'; s3.download(gBackupConfig, sourceKey, function (error, stream) { expect(error).to.be(null); expect(stream).to.be.an('object'); @@ -269,7 +269,7 @@ describe('Storage', function () { }); it('list dir lists contents of source dir', function (done) { - var allFiles = [ ]; + let allFiles = [ ]; s3.listDir(gBackupConfig, '', 1, function (files, iteratorCallback) { allFiles = allFiles.concat(files); iteratorCallback(); @@ -283,11 +283,11 @@ describe('Storage', function () { it('can copy', function (done) { fs.writeFileSync(path.join(gS3Folder, 'uploadtest/C++.gitignore'), 'special', 'utf8'); - var sourceKey = 'uploadtest'; + const sourceKey = 'uploadtest'; - var events = s3.copy(gBackupConfig, sourceKey, 'uploadtest-copy'); + const events = s3.copy(gBackupConfig, sourceKey, 'uploadtest-copy'); events.on('done', function (error) { - var sourceFile = path.join(__dirname, 'storage/data/test.txt'); + const sourceFile = path.join(__dirname, 'storage/data/test.txt'); expect(error).to.be(null); expect(fs.statSync(path.join(gS3Folder, 'uploadtest-copy/test.txt')).size).to.be(fs.statSync(sourceFile).size); @@ -314,7 +314,7 @@ describe('Storage', function () { }); describe('gcs', function () { - var gBackupConfig = { + const gBackupConfig = { provider: 'gcs', key: '', prefix: 'unit.test', @@ -325,14 +325,14 @@ describe('Storage', function () { private_key: '' } }; - var GCSMockBasePath = path.join(os.tmpdir(), 'gcs-backup-test-buckets/'); + const GCSMockBasePath = path.join(os.tmpdir(), 'gcs-backup-test-buckets/'); before(function () { - var mockGCS = function(){ + const mockGCS = function(){ return {bucket: function(){ - var file = function(filename){ + const file = function(filename){ - var ensurePathWritable = function (filename) { + const ensurePathWritable = function (filename) { filename = GCSMockBasePath + filename; fs.mkdirSync(path.dirname(filename), { recursive: true }); return filename; @@ -356,7 +356,7 @@ describe('Storage', function () { fs.unlink(ensurePathWritable(filename), cb); }, copy: function(dst, cb){ - var notFoundHandler = function(e){ + const notFoundHandler = function(e){ if (e && e.code == 'ENOENT') { e.code = 404; return cb(e);} cb(); }; @@ -374,15 +374,15 @@ describe('Storage', function () { return { file: file, getFiles: function(q, cb){ - var target = GCSMockBasePath + q.prefix; + const target = GCSMockBasePath + q.prefix; recursive_readdir(target, function(e, files){ - var pageToken = q.pageToken || 0; + const pageToken = q.pageToken || 0; - var chunkedFiles = chunk(files, q.maxResults); + const chunkedFiles = chunk(files, q.maxResults); if (q.pageToken >= chunkedFiles.length) return cb(null, []); - var gFiles = chunkedFiles[pageToken].map(function(f){ + const gFiles = chunkedFiles[pageToken].map(function(f){ return file(path.relative(GCSMockBasePath, f)); //convert to google }); @@ -403,9 +403,9 @@ describe('Storage', function () { }); it('can backup', function (done) { - var sourceFile = path.join(__dirname, 'storage/data/test.txt'); - var sourceStream = fs.createReadStream(sourceFile); - var destKey = 'uploadtest/test.txt'; + const sourceFile = path.join(__dirname, 'storage/data/test.txt'); + const sourceStream = fs.createReadStream(sourceFile); + const destKey = 'uploadtest/test.txt'; gcs.upload(gBackupConfig, destKey, sourceStream, function (error) { expect(error).to.be(null); @@ -414,7 +414,7 @@ describe('Storage', function () { }); it('can download file', function (done) { - var sourceKey = 'uploadtest/test.txt'; + const sourceKey = 'uploadtest/test.txt'; gcs.download(gBackupConfig, sourceKey, function (error, stream) { expect(error).to.be(null); expect(stream).to.be.an('object'); @@ -423,7 +423,7 @@ describe('Storage', function () { }); it('list dir lists contents of source dir', function (done) { - var allFiles = [ ]; + let allFiles = [ ]; gcs.listDir(gBackupConfig, '', 1, function (files, iteratorCallback) { allFiles = allFiles.concat(files); iteratorCallback(); @@ -437,11 +437,11 @@ describe('Storage', function () { xit('can copy', function (done) { fs.writeFileSync(path.join(GCSMockBasePath, 'uploadtest/C++.gitignore'), 'special', 'utf8'); - var sourceKey = 'uploadtest'; + const sourceKey = 'uploadtest'; - var events = gcs.copy(gBackupConfig, sourceKey, 'uploadtest-copy'); + const events = gcs.copy(gBackupConfig, sourceKey, 'uploadtest-copy'); events.on('done', function (error) { - var sourceFile = path.join(__dirname, 'storage/data/test.txt'); + const sourceFile = path.join(__dirname, 'storage/data/test.txt'); expect(error).to.be(null); expect(fs.statSync(path.join(GCSMockBasePath, 'uploadtest-copy/test.txt')).size).to.be(fs.statSync(sourceFile).size); diff --git a/src/test/syncer-test.js b/src/test/syncer-test.js index 62127fdcd..b43bb13c3 100644 --- a/src/test/syncer-test.js +++ b/src/test/syncer-test.js @@ -4,7 +4,7 @@ 'use strict'; -var createTree = require('./common.js').createTree, +const createTree = require('./common.js').createTree, DataLayout = require('../datalayout.js'), execSync = require('child_process').execSync, expect = require('expect.js'), @@ -15,8 +15,9 @@ var createTree = require('./common.js').createTree, safe = require('safetydance'), syncer = require('../syncer.js'); -var gTasks = [ ], - gTmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'syncer-test')), +let gTasks = [ ]; + +const gTmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'syncer-test')), gCacheFile = path.join(paths.BACKUP_INFO_DIR, path.basename(gTmpDir) + '.sync.cache'); function collectTasks(task, callback) { diff --git a/src/test/translation-test.js b/src/test/translation-test.js index 6105c1532..7e4d1ae8c 100644 --- a/src/test/translation-test.js +++ b/src/test/translation-test.js @@ -1,7 +1,6 @@ /* jslint node:true */ /* global it:false */ /* global describe:false */ -/* global before:false */ 'use strict'; @@ -12,32 +11,32 @@ describe('translation', function () { describe('translate', function () { it('nonexisting token', function () { - var out = translation.translate('Foo {{ bar }}', {}, {}); + const out = translation.translate('Foo {{ bar }}', {}, {}); expect(out).to.contain('{{ bar }}'); }); it('existing token', function () { - var out = translation.translate('Foo {{ bar }}', { bar: 'here' }, {}); + const out = translation.translate('Foo {{ bar }}', { bar: 'here' }, {}); expect(out).to.contain('here'); }); it('existing token as fallback', function () { - var out = translation.translate('Foo {{ bar }}', {}, { bar: 'here' }); + const out = translation.translate('Foo {{ bar }}', {}, { bar: 'here' }); expect(out).to.contain('here'); }); it('existing token deep', function () { - var out = translation.translate('Foo {{ bar.baz.foo }}', { bar: { baz: { foo: 'here' }}}, {}); + const out = translation.translate('Foo {{ bar.baz.foo }}', { bar: { baz: { foo: 'here' }}}, {}); expect(out).to.contain('here'); }); it('existing token deep as fallback', function () { - var out = translation.translate('Foo {{ bar.baz.foo }}', { bar: '' }, { bar: { baz: { foo: 'here' }}}); + const out = translation.translate('Foo {{ bar.baz.foo }}', { bar: '' }, { bar: { baz: { foo: 'here' }}}); expect(out).to.contain('here'); }); it('with whitespace tokens', function () { - var obj = { + const obj = { something: { missing: { there: '1' @@ -48,9 +47,9 @@ describe('translation', function () { foo: '4', bar: '5' }; - var input = 'Hello {{ something.missing.there}} and some more {{here}} and {{ there }} with odd spacing {{foo }} lots of{{ bar }}'; + const input = 'Hello {{ something.missing.there}} and some more {{here}} and {{ there }} with odd spacing {{foo }} lots of{{ bar }}'; - var out = translation.translate(input, obj, {}); + const out = translation.translate(input, obj, {}); expect(out).to.contain('1'); expect(out).to.contain('2'); expect(out).to.contain('3');