{"_id":"@northscaler/google-pubsub-test-support","_rev":"30-d658395afda18956cef9eeb1fb5d67ad","name":"@northscaler/google-pubsub-test-support","description":"Google PubSub Test Support Library","dist-tags":{"latest":"0.1.0-pre.5","next-0.1":"0.1.0-pre.5"},"versions":{"0.1.0-pre.0":{"name":"@northscaler/google-pubsub-test-support","version":"0.1.0-pre.0","keywords":["google","pubsub","messaging","emulator","test"],"license":"MIT","_id":"@northscaler/google-pubsub-test-support@0.1.0-pre.0","maintainers":[{"name":"npm_scispike","email":"npm@scispike.com"},{"name":"npm_northscaler","email":"npm@northscaler.com"}],"homepage":"https://gitlab.com/northscaler-public/google-pubsub-test-support#readme","bugs":{"url":"https://gitlab.com/northscaler-public/google-pubsub-test-support/issues"},"dist":{"shasum":"505367ddb8f98e56b9bd9d50d340e148c213e986","tarball":"https://registry.npmjs.org/@northscaler/google-pubsub-test-support/-/google-pubsub-test-support-0.1.0-pre.0.tgz","fileCount":28,"integrity":"sha512-a4jYzxaCBip8AWaRakAk0VqrJldVceohcC1S8VfR2ffiVd2PpKamx/i3omN03z9ep5iFuSZRPIkcLtQz2iYMbw==","signatures":[{"sig":"MEYCIQDkyua6vPvS/CavIk5Eqyc7TFMbbFhm7fURf773ZHCMtQIhANTkFOl71xY32Zc6hy0Z0ZpWH0AxTQFMEacy6xlTD/jk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32979,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfa5/9CRA9TVsSAnZWagAAYVIP/0TnnAhgdUmk+60wzxmQ\nY7kqiyBlC5hZjZxTtI/J5Al75DEfnOg4kLpoyJS/Laz2tlR2r7KWuOoNoXB/\nT5HUWwF+90uUvUZ09Y6fmECimRyFi4bvoT9rr3Nc+P/sDHYkOUnItDbqPr7l\n/y/gDny3IoKVVkIkh/g6pJLczzHfMTvlWaQrdGu3L9NVi7OP2aoj24TLFkHx\nXcY1OwhGi4i5OVHf7USkpDSt4jzMOYQC00uGrGKHvABFNygXaGbDttRGt72n\nZRwxDxkr4y04n2qKjilYSeg7a61FrOfE5/qaugJgv8HeW5SnNr77lV3eo7ij\noCEouRMaTaUnt8nKc2sQAyL7KCccG6bdOF5JcyIwxYL9+CMnlSAtiytCVLaI\nJ/BdR2If68vhyC318tPikQ+dRmpxZAr4IRCaNEKZvbKvVfpTsAYCuv9U2EnX\nP8nDFya3kPvk6bk60SXRXQm+r1ookdjtofjOYKnVrvv/zE9FwKcrdierMLGO\nyrX6fHB26V8d6OqMlldvxRz45nZ/fR+NKbSXMUGsn/q9RKyCHpkfPy9oSdJz\nonkNjp/0Rm9pOe4HrYt9TLhqkqZodnQHYq1eMzij7zRCx1SY6FKquTqdTyxj\n699L85B0sHTzTQrUlTfVq46nCbQ1E0IYfZpU2hN0C+zwsw/v9vQCDNZjQOHv\nGKlJ\r\n=sS0N\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","babel":{"plugins":[["@babel/plugin-proposal-optional-chaining",{"loose":false}],["@babel/plugin-proposal-throw-expressions"],["@babel/plugin-proposal-class-properties",{"loose":true}]],"presets":[["@babel/preset-env",{"targets":{"node":true}}]],"sourceMaps":"inline"},"mocha":{"exit":true,"colors":true,"require":"@babel/register"},"engines":{"node":">=10.10.0"},"gitHead":"f768eb98bc67204df5a0e37cc0ce43f3e6ede2a5","scripts":{"i":"mocha 'src/test/integration/**/*.spec.js' | npx bunyan","u":"mocha 'src/test/unit/**/*.spec.js' | npx bunyan","cov":"open coverage/index.html","doc":"jsdoc --verbose -d lib/main/doc -r -c jsdoc.json -R lib/main/README.md lib/main","link":"mkdirp lib/main && cd lib/main && npm link; cd ../..","lint":"standard --verbose 'src/**/*.js'","test":"run-s transpile unit-integration lint","unit":"nyc -x 'lib/test' --exclude-after-remap false mocha 'lib/test/unit/**/*.spec.js'","build":"npm ci && npm test","clean":"rimraf lib/main","format":"standard --fix 'src/**/*.js'","report":"nyc report --reporter=html","unlink":"mkdirp lib/main && cd lib/main && npm unlink; cd ../..","prelink":"run-s make-distribution","copy-src":"mkdirp lib/main/src && cp -r src/main/* lib/main/src","transpile":"run-s transpile-main transpile-test","integration":"nyc --check-coverage -x 'lib/test' --exclude-after-remap false mocha 'lib/test/integration/**/*.spec.js'","transpile-main":"babel --verbose --out-dir lib/main --copy-files lib/main/src","transpile-test":"babel --delete-dir-on-start --verbose --out-dir lib/test --copy-files src/test","postintegration":"run-s report","unit-integration":"nyc -x 'lib/test' --exclude-after-remap false mocha 'lib/test/unit/**/*.spec.js' 'lib/test/integration/**/*.spec.js'","make-distribution":"run-s transpile finalize-distribution doc","pretranspile-main":"run-s clean copy-src","finalize-distribution":"cp package.json package-lock.json README.md lib/main"},"_npmUser":{"name":"npm_northscaler","email":"npm@northscaler.com"},"standard":{"parser":"babel-eslint"},"repository":{"url":"git+https://gitlab.com/northscaler-public/google-pubsub-test-support.git","type":"git"},"_npmVersion":"6.4.1","description":"Google PubSub Test Support Library","directories":{},"_nodeVersion":"10.10.0","dependencies":{"uuid":"8.3.0","bluebird":"3.7.2","@babel/polyfill":"7.11.5","@northscaler/error-support":"3.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","chai":"4.2.0","acorn":"8.0.1","jsdoc":"3.6.6","mocha":"8.1.3","wait-on":"5.2.0","standard":"14.3.4","copyfiles":"2.3.0","@babel/cli":"7.11.6","dirty-chai":"2.0.1","@babel/core":"7.11.6","npm-run-all":"4.1.5","babel-eslint":"10.1.0","@babel/register":"7.11.5","@babel/preset-env":"7.11.5","@google-cloud/pubsub":"2.5.0","@babel/plugin-proposal-decorators":"7.10.5","@babel/plugin-proposal-class-properties":"7.10.4","@babel/plugin-proposal-optional-chaining":"7.11.0","@babel/plugin-proposal-throw-expressions":"7.10.4"},"peerDependencies":{"@google-cloud/pubsub":">=2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/google-pubsub-test-support_0.1.0-pre.0_1600888829085_0.9957846622095137","host":"s3://npm-registry-packages"}},"0.1.0-pre.1":{"name":"@northscaler/google-pubsub-test-support","version":"0.1.0-pre.1","keywords":["google","pubsub","messaging","emulator","test"],"license":"MIT","_id":"@northscaler/google-pubsub-test-support@0.1.0-pre.1","maintainers":[{"name":"npm_scispike","email":"npm@scispike.com"},{"name":"npm_northscaler","email":"npm@northscaler.com"}],"homepage":"https://gitlab.com/northscaler-public/google-pubsub-test-support#readme","bugs":{"url":"https://gitlab.com/northscaler-public/google-pubsub-test-support/issues"},"dist":{"shasum":"34041fdcf1e885a634c98bf3af5d1d69b97e7c29","tarball":"https://registry.npmjs.org/@northscaler/google-pubsub-test-support/-/google-pubsub-test-support-0.1.0-pre.1.tgz","fileCount":16,"integrity":"sha512-3CcmOxAd3n/bae24uzhWIYv1zbglWhfEaiHjt1emX/V1WymLMKi/B9tVIeIuOI95GnbAo9ZDA1tyDVtuAyDeXA==","signatures":[{"sig":"MEUCIQDdxGVYuEOSziSZ8GkJ9PDoTgbtDlfwZWbwsXxgzisJ9AIgOsF1R0pc1oVCbSIijJYisEz8yyI/l3zIuxCVUlGEKsg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16512,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbitcCRA9TVsSAnZWagAAD+AP/jIOuGXs3j6w1HNoi3qs\ndKw8QyvwNjv58zR4kzJmjT3SL6GfPIOnGf8jTR3Vh1rPKh9W41Q5VjUhj4n0\nMWB4msvV7OzM71J3QYdxneGg5phmBdxVkYbSITwVtdnpSqUXb2iKom7JQh+T\n5R3nvdpOfWptl0qzhxgFz1Hwd7RiXqLZdqsBaTl0m6fmSfbjvcRKgXNOxEKD\nWzJKkv72FOTa8rHwUuTqapXdBHE0O3ZC/DpXRqEdQNo+aaJGAECIko4gZ3Ps\nMjDOjeFlit2a/1NPARRSX2kHxb62uLWVOgcDFCIvv4+4cVyF72enMqJpDbfp\nqdvh4V8sKZVcE3rXqS2BxB2sFk+9r1CWWEIwpvenD9/oVDsAxV+z3QyNWH+K\nJni2LGZh8acOCQ0AAuTGQViNdcK1o8ClreptHXvrphMw2N89vU4lPqOs7ySt\nEyeLoJNMZOEvJj7EAoz1ecBG7cg+nd8coZ+imrBKeXY+FRFe8Qz+6pGeUHdZ\nnaxQKhTLZwe32KPPNnBQ0hSqoDUWhhoNB7hdCcJhqDNk7Yn+GxavUR4cWYHD\noWRQFTMvtpucG/fEwB5HaBC2EqikzucK6yuL7Cyxi4YEwaNwXvtSM2LHRRpK\nL/GvXNle6lP3ba91RYrXTa7YEj1F1JxezpO1AOcgW3kcAaKsi2Qho4fav+G9\np+P6\r\n=WCK/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","babel":{"plugins":[["@babel/plugin-proposal-optional-chaining",{"loose":false}],["@babel/plugin-proposal-throw-expressions"],["@babel/plugin-proposal-class-properties",{"loose":true}]],"presets":[["@babel/preset-env",{"targets":{"node":true}}]],"sourceMaps":"inline"},"husky":{"hooks":{"pre-push":"npm run pre-push","pre-commit":"npm run pre-commit"}},"mocha":{"exit":true,"colors":true,"require":"@babel/register"},"engines":{"node":">=10.10.0"},"gitHead":"9a4825718399095ab0040f701220ac66fdfe6fa3","scripts":{"i":"mocha --exit 'src/test/integration/**/*.spec.js'","u":"mocha --exit 'src/test/unit/**/*.spec.js'","doc":"jsdoc --verbose -d docs -r -c jsdoc.json -R README.md src/main","lic":"node lic.js > LICENSE","lint":"find src -name '*.js' | xargs standard --verbose index.js","nuke":"rimraf node_modules","test":"run-s transpile unit-integration lint","unit":"nyc -x 'dist/test' --exclude-after-remap false mocha --exit 'dist/test/unit/**/*.spec.js'","build":"npm ci && npm test","clean":"rimraf dist docs coverage .nyc_output","format":"find src -name '*.js' | xargs standard --fix index.js","report":"nyc report --reporter=html","prenuke":"npm run clean","postunit":"run-s report","pre-push":"run-s test","test-grep":"mocha --exit 'src/test/{unit,integration}/**/*.spec.js' --grep","transpile":"run-s transpile-main transpile-test","pre-commit":"run-s lint-staged","integration":"nyc -x 'dist/test' --exclude-after-remap false mocha --exit 'dist/test/integration/**/*.spec.js'","lint-staged":"git diff --name-only --cached | egrep '^src/.+.js$' | xargs standard --verbose","format-staged":"git diff --name-only --cached | egrep '^src/.+.js$' | xargs standard --fix","transpile-main":"babel --delete-dir-on-start --verbose --out-dir dist/main --copy-files src/main","transpile-test":"babel --delete-dir-on-start --verbose --out-dir dist/test --copy-files src/test","postintegration":"run-s report","unit-integration":"nyc -x 'dist/test' --exclude-after-remap false mocha --exit 'dist/test/unit/**/*.spec.js' 'dist/test/integration/**/*.spec.js'","make-distribution":"run-s transpile doc lic","postunit-integration":"run-s report"},"_npmUser":{"name":"npm_northscaler","email":"npm@northscaler.com"},"standard":{"parser":"babel-eslint"},"repository":{"url":"git+https://gitlab.com/northscaler-public/google-pubsub-test-support.git","type":"git"},"_npmVersion":"6.4.1","description":"Google PubSub Test Support Library","directories":{},"_nodeVersion":"10.10.0","dependencies":{"uuid":"8.3.0","bluebird":"3.7.2","@babel/polyfill":"7.11.5","@northscaler/error-support":"3.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","chai":"4.2.0","acorn":"8.0.1","husky":"4.3.0","jsdoc":"3.6.6","mocha":"8.1.3","wait-on":"5.2.0","standard":"14.3.4","copyfiles":"2.3.0","@babel/cli":"7.11.6","dirty-chai":"2.0.1","@babel/core":"7.11.6","npm-run-all":"4.1.5","babel-eslint":"10.1.0","@babel/register":"7.11.5","lodash.template":"4.5.0","@babel/preset-env":"7.11.5","@google-cloud/pubsub":"2.5.0","@babel/plugin-proposal-decorators":"7.10.5","@babel/plugin-proposal-class-properties":"7.10.4","@babel/plugin-proposal-optional-chaining":"7.11.0","@babel/plugin-proposal-throw-expressions":"7.10.4"},"peerDependencies":{"@google-cloud/pubsub":">=2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/google-pubsub-test-support_0.1.0-pre.1_1601055579869_0.8379894238999128","host":"s3://npm-registry-packages"}},"0.1.0-pre.2":{"name":"@northscaler/google-pubsub-test-support","version":"0.1.0-pre.2","keywords":["google","pubsub","messaging","emulator","test"],"license":"MIT","_id":"@northscaler/google-pubsub-test-support@0.1.0-pre.2","maintainers":[{"name":"npm_scispike","email":"npm@scispike.com"},{"name":"npm_northscaler","email":"npm@northscaler.com"}],"homepage":"https://gitlab.com/northscaler-public/google-pubsub-test-support#readme","bugs":{"url":"https://gitlab.com/northscaler-public/google-pubsub-test-support/issues"},"dist":{"shasum":"05b80ca480e4f2f045b804a0c2a4dfd19b4ac59e","tarball":"https://registry.npmjs.org/@northscaler/google-pubsub-test-support/-/google-pubsub-test-support-0.1.0-pre.2.tgz","fileCount":27,"integrity":"sha512-1X/1lt+/ey7iirFhrjoAzr3aVlo6ivx6tp7hftevaYys51id7aLbmNsA6oMR48nF/62bE5l4xm/mErtOnP4TOQ==","signatures":[{"sig":"MEUCIQDb5MotUsEJnCJ3Ato+60fC2pkilFPGIaAAVt7lHj0TkAIgP18Dg6Vj4n5cnfzLMSi4mit5jTtrGAlLZDEJLxO2eg4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39057,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbi1gCRA9TVsSAnZWagAAhvcP/3EZj5MDUCxqnmImHQcg\nXOG9U0S0S9S8FIYhs45wElh6VuZOPbSwpaEJzGFGNuvqdG1BB5iD5jBhz02H\no6/C1ZH34ab2y5c9ErY4l5RvB5cgeBN3IwaNmtje6HMap8yixieArU0LcEEm\nHTwNkaVs0NvapsFYnlVmAh1mWRnO8iyRJjhOckJeUi/a5dPiBIu0mHG3HxEr\niFhQMfvxR9zSkJv3fqmxTsDG/RKQyGFnGjmwvLHMMPIvuQp0Cr9HFlWcWyFT\ncPQDZt2GkKDAjyJe49s9txTg66K6e5TH15X/wTmFeFx7HbWbOowlC1j7FTWA\nmybR21uYdqSB6o+xQg3iztAI5VM6GjiyeNcIQllvoE9ULVS72cteKPYQPTh3\nZ40zXqe4CwDNMsddG1K8DXkHClc2u0OA3J8wwuAoPQsFcF+H+kKvYWTcn/Gq\n8EEa0rWJkBwYquOXJ9TQ8hGATASsea5+JdPb5BPDNZ9o/6Jbu1r86gQCV4I7\nemHjGUE5WVVHuNbr03y9VrgqhdzAX9NPQ45iLhUY2R87qiHMhqEInlg+CzI7\nqH0EiZQlFU5V7TBb+0FzBA/AmsckgwN7Yyl8zfCjVwmxuH8qXa2oOgkPZ9L9\nPT9qJlXnSXWwbKexqbtG+ByC1f1TjTyB4ayN6F4DPmfi16iy4UxqpaO3NoUi\nBWtK\r\n=6SS3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","babel":{"plugins":[["@babel/plugin-proposal-optional-chaining",{"loose":false}],["@babel/plugin-proposal-throw-expressions"],["@babel/plugin-proposal-class-properties",{"loose":true}]],"presets":[["@babel/preset-env",{"targets":{"node":true}}]],"sourceMaps":"inline"},"husky":{"hooks":{"pre-push":"npm run pre-push","pre-commit":"npm run pre-commit"}},"mocha":{"exit":true,"colors":true,"require":"@babel/register"},"engines":{"node":">=10.10.0"},"gitHead":"b1706f2365232ab3cb5e458bb69929279dd97eee","scripts":{"i":"mocha --exit 'src/test/integration/**/*.spec.js'","u":"mocha --exit 'src/test/unit/**/*.spec.js'","doc":"jsdoc --verbose -d docs -r -c jsdoc.json -R README.md src/main","lic":"node lic.js > LICENSE","lint":"find src -name '*.js' | xargs standard --verbose index.js","nuke":"rimraf node_modules","test":"run-s transpile unit-integration lint","unit":"nyc -x 'dist/test' --exclude-after-remap false mocha --exit 'dist/test/unit/**/*.spec.js'","build":"npm ci && npm test","clean":"rimraf dist docs coverage .nyc_output","format":"find src -name '*.js' | xargs standard --fix index.js","report":"nyc report --reporter=html","prenuke":"npm run clean","postunit":"run-s report","pre-push":"run-s test","test-grep":"mocha --exit 'src/test/{unit,integration}/**/*.spec.js' --grep","transpile":"run-s transpile-main transpile-test","pre-commit":"run-s lint-staged","integration":"nyc -x 'dist/test' --exclude-after-remap false mocha --exit 'dist/test/integration/**/*.spec.js'","lint-staged":"git diff --name-only --cached | egrep '^src/.+.js$' | xargs standard --verbose","format-staged":"git diff --name-only --cached | egrep '^src/.+.js$' | xargs standard --fix","transpile-main":"babel --delete-dir-on-start --verbose --out-dir dist/main --copy-files src/main","transpile-test":"babel --delete-dir-on-start --verbose --out-dir dist/test --copy-files src/test","postintegration":"run-s report","unit-integration":"nyc -x 'dist/test' --exclude-after-remap false mocha --exit 'dist/test/unit/**/*.spec.js' 'dist/test/integration/**/*.spec.js'","make-distribution":"run-s transpile doc lic","postunit-integration":"run-s report"},"_npmUser":{"name":"npm_northscaler","email":"npm@northscaler.com"},"standard":{"parser":"babel-eslint"},"repository":{"url":"git+https://gitlab.com/northscaler-public/google-pubsub-test-support.git","type":"git"},"_npmVersion":"6.4.1","description":"Google PubSub Test Support Library","directories":{},"_nodeVersion":"10.10.0","dependencies":{"uuid":"8.3.0","bluebird":"3.7.2","@babel/polyfill":"7.11.5","@northscaler/error-support":"3.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","chai":"4.2.0","acorn":"8.0.1","husky":"4.3.0","jsdoc":"3.6.6","mocha":"8.1.3","wait-on":"5.2.0","standard":"14.3.4","copyfiles":"2.3.0","@babel/cli":"7.11.6","dirty-chai":"2.0.1","@babel/core":"7.11.6","npm-run-all":"4.1.5","babel-eslint":"10.1.0","@babel/register":"7.11.5","lodash.template":"4.5.0","@babel/preset-env":"7.11.5","@google-cloud/pubsub":"2.5.0","@babel/plugin-proposal-decorators":"7.10.5","@babel/plugin-proposal-class-properties":"7.10.4","@babel/plugin-proposal-optional-chaining":"7.11.0","@babel/plugin-proposal-throw-expressions":"7.10.4"},"peerDependencies":{"@google-cloud/pubsub":">=2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/google-pubsub-test-support_0.1.0-pre.2_1601056095493_0.6837684797286627","host":"s3://npm-registry-packages"}},"0.1.0-pre.3":{"name":"@northscaler/google-pubsub-test-support","version":"0.1.0-pre.3","keywords":["google","pubsub","messaging","emulator","test"],"license":"MIT","_id":"@northscaler/google-pubsub-test-support@0.1.0-pre.3","maintainers":[{"name":"npm_scispike","email":"npm@scispike.com"},{"name":"npm_northscaler","email":"npm@northscaler.com"}],"homepage":"https://gitlab.com/northscaler-public/google-pubsub-test-support#readme","bugs":{"url":"https://gitlab.com/northscaler-public/google-pubsub-test-support/issues"},"dist":{"shasum":"03603882813967320328730654b0175adc7380db","tarball":"https://registry.npmjs.org/@northscaler/google-pubsub-test-support/-/google-pubsub-test-support-0.1.0-pre.3.tgz","fileCount":27,"integrity":"sha512-NORNiiPL9oInScnkELOJ12RMoREcLpI8XmVXw0qTUiAx1yU5iSfmYF/OulgpGu6qOaT72Q3SLN8U+HwqH+GXqQ==","signatures":[{"sig":"MEUCIBN8cMuIEnp5hZuSFFLqkHkgFFj/Kq1NHCTFTes95M7IAiEAhyJYuenqUkQse2Oq7bXW3GhD87tQx0AAew8maLbTgl8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39057,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbi91CRA9TVsSAnZWagAAdUYP/jgNTBrtI6CnT5S+Sqsf\ns7wsai2l2GPYjDYznuaiHhnhLsUqGy4H2ttNIBqnFq9J7ePN2YwDar7eZOqi\nnVxOjMlHjqDbUaw4LID3ep5uojQtMbQ5oirP7aM1YAsnamhkpu6nCaI6eYt9\nLbJedIc5CshQxiWWX/niWKGp9yYqVPBTrvntViufRKySuKdKgKAi0vA/DmfU\nv6V5PbvHt68iGw4muRc1OuU8JqlSbLNyDjVbQWj+g5hMg4IRmK/9z1Z/QxF9\nQ0SwG8qGzNGmAxT06ABcutnMa6pVbLAlECjrMRfiE49eSyT+I/9Oc9x+x9Rk\nh0lIzJ3AHwEFV7KibjSBXfTcVfFLu12hXqip01XZpe0s/ZThxwLRyVsmbN0q\nHzBImuBlyFyxRQwMXlppTd14ndQk0rEUc8SnKsBiD3Io1VMUYTPYrk6FNF5j\nKRYvalJlQ1QR6Kk/Iww9gDokx1VqOn3kUgMV7T9Neh6OLDGE6ViDYoZgmnfd\nUoB/3Vm+gZA1JymNGFWqERkvfsbJLJHmGTbv3tLL6+Hs5RbEBZzpPJAUl/9h\nVqHigaYDZmvt+DInn3FrhmXlRgdtjj9eSRqtmEcNFrddgv9OhDAIG3YwCNxf\nri5dtGsBhZSk+7p7zAey6bfwMTuV3B1oGInBdBHcK186F9irdCNYvJ0WXjye\nsNxg\r\n=qkca\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","babel":{"plugins":[["@babel/plugin-proposal-optional-chaining",{"loose":false}],["@babel/plugin-proposal-throw-expressions"],["@babel/plugin-proposal-class-properties",{"loose":true}]],"presets":[["@babel/preset-env",{"targets":{"node":true}}]],"sourceMaps":"inline"},"husky":{"hooks":{"pre-push":"npm run pre-push","pre-commit":"npm run pre-commit"}},"mocha":{"exit":true,"colors":true,"require":"@babel/register"},"engines":{"node":">=10.10.0"},"gitHead":"8699f6d5511fa642df82f64d83024939f0eaaeab","scripts":{"i":"mocha --exit 'src/test/integration/**/*.spec.js'","u":"mocha --exit 'src/test/unit/**/*.spec.js'","doc":"jsdoc --verbose -d docs -r -c jsdoc.json -R README.md src/main","lic":"node lic.js > LICENSE","lint":"find src -name '*.js' | xargs standard --verbose index.js","nuke":"rimraf node_modules","test":"run-s transpile unit-integration lint","unit":"nyc -x 'dist/test' --exclude-after-remap false mocha --exit 'dist/test/unit/**/*.spec.js'","build":"npm ci && npm test","clean":"rimraf dist docs coverage .nyc_output","format":"find src -name '*.js' | xargs standard --fix index.js","report":"nyc report --reporter=html","prenuke":"npm run clean","postunit":"run-s report","pre-push":"run-s test","test-grep":"mocha --exit 'src/test/{unit,integration}/**/*.spec.js' --grep","transpile":"run-s transpile-main transpile-test","pre-commit":"run-s lint-staged","integration":"nyc -x 'dist/test' --exclude-after-remap false mocha --exit 'dist/test/integration/**/*.spec.js'","lint-staged":"git diff --name-only --cached | egrep '^src/.+.js$' | xargs standard --verbose","format-staged":"git diff --name-only --cached | egrep '^src/.+.js$' | xargs standard --fix","transpile-main":"babel --delete-dir-on-start --verbose --out-dir dist/main --copy-files src/main","transpile-test":"babel --delete-dir-on-start --verbose --out-dir dist/test --copy-files src/test","postintegration":"run-s report","unit-integration":"nyc -x 'dist/test' --exclude-after-remap false mocha --exit 'dist/test/unit/**/*.spec.js' 'dist/test/integration/**/*.spec.js'","make-distribution":"run-s transpile doc lic","postunit-integration":"run-s report"},"_npmUser":{"name":"npm_northscaler","email":"npm@northscaler.com"},"standard":{"parser":"babel-eslint"},"repository":{"url":"git+https://gitlab.com/northscaler-public/google-pubsub-test-support.git","type":"git"},"_npmVersion":"6.4.1","description":"Google PubSub Test Support Library","directories":{},"_nodeVersion":"10.10.0","dependencies":{"uuid":"8.3.0","wait-on":"5.2.0","bluebird":"3.7.2","@babel/polyfill":"7.11.5","@northscaler/error-support":"3.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","chai":"4.2.0","acorn":"8.0.1","husky":"4.3.0","jsdoc":"3.6.6","mocha":"8.1.3","standard":"14.3.4","copyfiles":"2.3.0","@babel/cli":"7.11.6","dirty-chai":"2.0.1","@babel/core":"7.11.6","npm-run-all":"4.1.5","babel-eslint":"10.1.0","@babel/register":"7.11.5","lodash.template":"4.5.0","@babel/preset-env":"7.11.5","@google-cloud/pubsub":"2.5.0","@babel/plugin-proposal-decorators":"7.10.5","@babel/plugin-proposal-class-properties":"7.10.4","@babel/plugin-proposal-optional-chaining":"7.11.0","@babel/plugin-proposal-throw-expressions":"7.10.4"},"peerDependencies":{"@google-cloud/pubsub":">=2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/google-pubsub-test-support_0.1.0-pre.3_1601056629370_0.7485633481067955","host":"s3://npm-registry-packages"}},"0.1.0-pre.4":{"name":"@northscaler/google-pubsub-test-support","version":"0.1.0-pre.4","keywords":["google","pubsub","messaging","emulator","test"],"license":"MIT","_id":"@northscaler/google-pubsub-test-support@0.1.0-pre.4","maintainers":[{"name":"npm_scispike","email":"npm@scispike.com"},{"name":"npm_northscaler","email":"npm@northscaler.com"}],"homepage":"https://gitlab.com/northscaler-public/google-pubsub-test-support#readme","bugs":{"url":"https://gitlab.com/northscaler-public/google-pubsub-test-support/issues"},"dist":{"shasum":"124dcb59304c7213d0329a2ce16d000673722d1a","tarball":"https://registry.npmjs.org/@northscaler/google-pubsub-test-support/-/google-pubsub-test-support-0.1.0-pre.4.tgz","fileCount":27,"integrity":"sha512-E6ugcwXsxrA7t/dULUdBV2Mxskw6j9GF7aK5d0tebxFqmM/SrWRmiiQr+CpVj42YzMI2mMLflRNgKL8WVcIfTg==","signatures":[{"sig":"MEUCIFPVvprgVjEo7QhVi74AGRI5xSYDqmDUMMjJUa9qBBj8AiEA2MZg0f/fn+yfFpDMB4C3tqOwK+UrOXsPiPt9QLN3c9A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39133,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbjseCRA9TVsSAnZWagAAKMAP+wYLrkEL4CAJYzwLM9Up\n/0PgBE8DotJM9PX57RCaI6v02G9CV/BLfme5ZZkQusExjG+MwYmYHbiPtSQI\n06Ew6UNKJlHjEgxHqRDI1p9Wtzfz56U6yC2OR/3euWxb5KbAtb8l+AsXFqBc\nPAWV/Shziu4l4NUwetRZJ3Cgc4iwtJmE8QnLQrfWsD4XAyxvu5REAArHK7/Q\nZxwXGTpvwgDgY0RApIrpTwIlet048HJeMkfC82luFip3Yw4/w/ntUH8T880e\nptYsiHS5FApYjV/1V9SUwCBh29IUHzL6i6HzeCRNSTzmFdKaya8vXg3+lslF\n3AJ5zIaM+TJVOpFJFWm+frlD3zbKLnqXhJy09mOv8F/VSbEGew28Ba5yQX5G\nOyMy01e5hW323N9yiGAic5C/xFRPeAXyYMg084SJ0m9e0+ccXE10DNqIVq2e\nFqGwoPqJ7wAZJJ7v+Nl+65FCtX6GPsb1BSxVrpy9xzmnRfXlFQYQirvjcin7\n8x4QaBg4UAWIjzi1rsWxOP+UBIs7baVe5FXtmggXerYKuqcQon1VBJusKU3V\nBDVwTOGQkyv7IK3VqrP1uy5fI88gs3u2noyIKxORivzwEDoJdBnXBe3ma6GB\nHhw+WpTjfQFHqX//A2DKdMRQEqJxa71TTuUQQgPkpdcvKZIkjLwEc+59mIkF\n/M/0\r\n=7Vdv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","babel":{"plugins":[["@babel/plugin-proposal-optional-chaining",{"loose":false}],["@babel/plugin-proposal-throw-expressions"],["@babel/plugin-proposal-class-properties",{"loose":true}]],"presets":[["@babel/preset-env",{"targets":{"node":true}}]],"sourceMaps":"inline"},"husky":{"hooks":{"pre-push":"npm run pre-push","pre-commit":"npm run pre-commit"}},"mocha":{"exit":true,"colors":true,"require":"@babel/register"},"engines":{"node":">=10.10.0"},"gitHead":"386aed074585ae1beef09f5b0d748f357b7e8823","scripts":{"i":"mocha --exit 'src/test/integration/**/*.spec.js'","u":"mocha --exit 'src/test/unit/**/*.spec.js'","doc":"jsdoc --verbose -d docs -r -c jsdoc.json -R README.md src/main","lic":"node lic.js > LICENSE","lint":"find src -name '*.js' | xargs standard --verbose index.js","nuke":"rimraf node_modules","test":"run-s transpile unit-integration lint","unit":"nyc -x 'dist/test' --exclude-after-remap false mocha --exit 'dist/test/unit/**/*.spec.js'","build":"npm ci && npm test","clean":"rimraf dist docs coverage .nyc_output","format":"find src -name '*.js' | xargs standard --fix index.js","report":"nyc report --reporter=html","prenuke":"npm run clean","postunit":"run-s report","pre-push":"run-s test","test-grep":"mocha --exit 'src/test/{unit,integration}/**/*.spec.js' --grep","transpile":"run-s transpile-main transpile-test","pre-commit":"run-s lint-staged","integration":"nyc -x 'dist/test' --exclude-after-remap false mocha --exit 'dist/test/integration/**/*.spec.js'","lint-staged":"git diff --name-only --cached | egrep '^src/.+.js$' | xargs standard --verbose","format-staged":"git diff --name-only --cached | egrep '^src/.+.js$' | xargs standard --fix","transpile-main":"babel --delete-dir-on-start --verbose --out-dir dist/main --copy-files src/main","transpile-test":"babel --delete-dir-on-start --verbose --out-dir dist/test --copy-files src/test","postintegration":"run-s report","unit-integration":"nyc -x 'dist/test' --exclude-after-remap false mocha --exit 'dist/test/unit/**/*.spec.js' 'dist/test/integration/**/*.spec.js'","make-distribution":"run-s transpile doc lic","postunit-integration":"run-s report"},"_npmUser":{"name":"npm_northscaler","email":"npm@northscaler.com"},"standard":{"parser":"babel-eslint"},"repository":{"url":"git+https://gitlab.com/northscaler-public/google-pubsub-test-support.git","type":"git"},"_npmVersion":"6.4.1","description":"Google PubSub Test Support Library","directories":{},"_nodeVersion":"10.10.0","dependencies":{"uuid":"8.3.0","wait-on":"5.2.0","bluebird":"3.7.2","@babel/polyfill":"7.11.5","@northscaler/error-support":"3.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","chai":"4.2.0","acorn":"8.0.1","husky":"4.3.0","jsdoc":"3.6.6","mocha":"8.1.3","standard":"14.3.4","copyfiles":"2.3.0","@babel/cli":"7.11.6","dirty-chai":"2.0.1","@babel/core":"7.11.6","npm-run-all":"4.1.5","babel-eslint":"10.1.0","@babel/register":"7.11.5","lodash.template":"4.5.0","@babel/preset-env":"7.11.5","@google-cloud/pubsub":"2.5.0","@babel/plugin-proposal-decorators":"7.10.5","@babel/plugin-proposal-class-properties":"7.10.4","@babel/plugin-proposal-optional-chaining":"7.11.0","@babel/plugin-proposal-throw-expressions":"7.10.4"},"peerDependencies":{"@google-cloud/pubsub":">=2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/google-pubsub-test-support_0.1.0-pre.4_1601059614044_0.565198476780618","host":"s3://npm-registry-packages"}},"0.1.0-pre.5":{"name":"@northscaler/google-pubsub-test-support","version":"0.1.0-pre.5","keywords":["google","pubsub","messaging","emulator","test"],"license":"MIT","_id":"@northscaler/google-pubsub-test-support@0.1.0-pre.5","maintainers":[{"name":"matthewadams","email":"matthew@matthewadams.me"},{"name":"victorynap","email":"djannotta@gmail.com"},{"name":"npm_scispike","email":"npm@scispike.com"},{"name":"npm_northscaler","email":"npm@northscaler.com"}],"homepage":"https://gitlab.com/northscaler-public/google-pubsub-test-support#readme","bugs":{"url":"https://gitlab.com/northscaler-public/google-pubsub-test-support/issues"},"dist":{"shasum":"d0bcee51e83ecf29988501fed9662be752a870b0","tarball":"https://registry.npmjs.org/@northscaler/google-pubsub-test-support/-/google-pubsub-test-support-0.1.0-pre.5.tgz","fileCount":27,"integrity":"sha512-wQNfWurtSkwa8S6OWj8jiDuUty1oGe7+oEUOqXVfmjZaxp9uGl9/y6KfJtXqOUtitF8scpuyX0Pi85joKMCHcQ==","signatures":[{"sig":"MEUCIQDQ9WDlcyGTPHBO9NcT3iPFpnmQPgAUXq8eTnoD7w3dIwIgI+H5Zjzo4UqNu19KG4U+64zhnvCmU5Wng8AmcWnDCQg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39131,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfrU08CRA9TVsSAnZWagAAWekP+wS2GvY+7si1cjLwBGlw\nREIRZita9XOt6nXeeC1n6iQR7GHt410+POsOCEarAZfJQOMrN/3Lc2i43TDv\nxYbNAL/6PefR9OEGNh58j+c8rxnMnbHwwuxjHQ3NAWGrtB1Rq6WfKEdbJoQx\ni4L+sl/6cTIl5uILpNsYl5XgJsvi2uRy9EpxzNlGgFXGCvsqCGrrSAwpCPLr\nc5sU195Zdlsys4oysH8jQJq7Aq/iAp9DU/nmimzII4QIPDrnUXanTe1KJjjq\njmetkx3bDBh3rRF0F7HqlBJtUGeIbdSJmUs/1pkq6+qzLDAKMCB8Ith1+kVo\nhTSlxI33j7RB6Rj9KwEpoll9dTNsbhb/6e+zDXozwhyvuIISJgnugDSruKUM\nQnNR3Jqv/xZLiIYcvLSZq87w/NdTVs/c+A1z3UkR+mq+oYy1PZxx8k5G6v97\nloibiQ7I2RTi+3JTQcZF9pPu0uH0e4cWK/gffEn2M1ch81yW6fILNWkpNZOL\ndyDQlrUq5B7AgpLVL0NOwg1pGcE+S+ixuvcTczfVSPPJ00ZlxgSjNXFmLfzl\nb98mAeBArNDob18mIULSnVkjbsdVJ3tNo3SAEHKcQ7iZ36Del4Qcu7mgNxfp\nbVePfTXXtMiMrvetpUkHMS/tWnu8sJvc89JGexDGdKy2aBXhXQl+VZIPq0HW\nZ2mb\r\n=1CJ7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","babel":{"plugins":[["@babel/plugin-proposal-optional-chaining",{"loose":false}],["@babel/plugin-proposal-throw-expressions"],["@babel/plugin-proposal-class-properties",{"loose":true}]],"presets":[["@babel/preset-env",{"targets":{"node":true}}]],"sourceMaps":"both"},"husky":{"hooks":{"pre-push":"npm run pre-push","pre-commit":"npm run pre-commit"}},"mocha":{"exit":true,"colors":true,"require":"@babel/register"},"readme":"# `google-pubsub-test-support`\n\nHandy-dandy Google PubSub integration testing utility that starts a [local Docker container](https://github.com/marcelcorso/gcloud-pubsub-emulator) running the [Google PubSub emulator](https://cloud.google.com/pubsub/docs/emulator) if you're not running in a CI/CD pipeline.\nThis allows you to run integration tests locally in a manner similar to how they'd be run in the CI/CD pipeline.\nThis module does nothing when running in a CI build pipeline, because Google PubSub should be configured as part of the build via something like [`.gitlab-ci.yml`'s `services`](https://docs.gitlab.com/ee/ci/yaml/#services) element.\n\nThis package is intended to be installed in your project in `devDependencies`.\n\nYour application must install its desired version of [Google PubSub](https://www.npmjs.com/package/@google-cloud/pubsub).\n\n> NOTE: requires Docker & a Unix-y shell (`/usr/bin/env sh`) to be available.\n> This is not designed to run on Windows; PRs/MRs welcome.\n\nSee [src/test/integration/google-pubsub/google-pubsub.spec.js] for usage, but it's basically\n```javascript\nconst googlePubSubConnect = require('google-pubsub-test-support')\n\n// one PubSub instance per unique project name will be returned\nconst pubsubs = await googlePubSubConnect({ projects: ['project1', 'project2']})\n\n// now you can use any of the PubSub instances\nconst pubsub1 = pubsubs.project1\nconst pubsub2 = pubsubs.project2\n```\n\n## Configuration\n\nThe default configuration is pretty conventional, with the sole exception of the default port that Google PubSub will listen on for clients.\nInstead of `8661`, which might already be in use on developers' machines when they run integration tests, the default configuration uses `18661`.\nIt is a `TODO` to search for an available port.\n\n>NOTE: This module detects when it's running in a CI/CD pipeline by seeing if the environment variable `CI` is of nonzero length.\n\n### Environment variables\n\nThe following environment variables can be set to configure it:\n* GOOGLE_PUBSUB_TEST_SUPPORT_TAG: The tag of the [Google PubSub Emulator Docker image](https://github.com/marcelcorso/gcloud-pubsub-emulator) or custom image to use, default \"latest\"\n* GOOGLE_PUBSUB_TEST_SUPPORT_PORT: visible client port on `localhost` to map to container port, default is content of `google-pubsub/default-google-pubsub-test-port`\n* GOOGLE_PUBSUB_TEST_SUPPORT_CONTAINER: name of container, default is content of file `google-pubsub/default-google-pubsub-test-container`\n* GOOGLE_PUBSUB_TEST_SUPPORT_CONTAINER_PORT: Google PubSub emulator client port in container, default `8681`\n* GOOGLE_PUBSUB_TEST_SUPPORT_IMAGE: docker image name, default `messagebird/gcloud-pubsub-emulator`\n","engines":{"node":">=10.10.0"},"gitHead":"3f0981e530dc1d39879fcb9a1d6b8fcd15632132","scripts":{"i":"mocha --exit 'src/test/integration/**/*.spec.js'","u":"mocha --exit 'src/test/unit/**/*.spec.js'","doc":"jsdoc --verbose -d docs -r -c jsdoc.json -R README.md src/main","lic":"node lic.js > LICENSE","lint":"find src -name '*.js' | xargs standard --verbose index.js","nuke":"rimraf node_modules","test":"run-s transpile unit-integration lint","unit":"nyc -x 'dist/test' --exclude-after-remap false mocha --exit 'dist/test/unit/**/*.spec.js'","build":"npm ci && npm test","clean":"rimraf dist docs coverage .nyc_output","format":"find src -name '*.js' | xargs standard --fix index.js","report":"nyc report --reporter=html","prenuke":"npm run clean","postunit":"run-s report","pre-push":"run-s test","test-grep":"mocha --exit 'src/test/{unit,integration}/**/*.spec.js' --grep","transpile":"run-s transpile-main transpile-test","pre-commit":"run-s lint-staged","integration":"nyc -x 'dist/test' --exclude-after-remap false mocha --exit 'dist/test/integration/**/*.spec.js'","lint-staged":"git diff --name-only --cached | egrep '^src/.+.js$' | xargs standard --verbose","format-staged":"git diff --name-only --cached | egrep '^src/.+.js$' | xargs standard --fix","transpile-main":"babel --delete-dir-on-start --verbose --out-dir dist/main --copy-files src/main","transpile-test":"babel --delete-dir-on-start --verbose --out-dir dist/test --copy-files src/test","postintegration":"run-s report","unit-integration":"nyc -x 'dist/test' --exclude-after-remap false mocha --exit 'dist/test/unit/**/*.spec.js' 'dist/test/integration/**/*.spec.js'","make-distribution":"run-s transpile doc lic","postunit-integration":"run-s report"},"_npmUser":{"name":"npm_northscaler","email":"npm@northscaler.com"},"standard":{"parser":"babel-eslint"},"repository":{"url":"git+https://gitlab.com/northscaler-public/google-pubsub-test-support.git","type":"git"},"_npmVersion":"6.4.1","description":"Google PubSub Test Support Library","directories":{},"_nodeVersion":"10.10.0","dependencies":{"uuid":"8.3.0","wait-on":"5.2.0","bluebird":"3.7.2","@babel/polyfill":"7.11.5","@northscaler/error-support":"3.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"15.1.0","chai":"4.2.0","acorn":"8.0.1","husky":"4.3.0","jsdoc":"3.6.6","mocha":"8.1.3","standard":"14.3.4","copyfiles":"2.3.0","@babel/cli":"7.11.6","dirty-chai":"2.0.1","@babel/core":"7.11.6","npm-run-all":"4.1.5","babel-eslint":"10.1.0","@babel/register":"7.11.5","lodash.template":"4.5.0","@babel/preset-env":"7.11.5","@google-cloud/pubsub":"2.5.0","@babel/plugin-proposal-decorators":"7.10.5","@babel/plugin-proposal-class-properties":"7.10.4","@babel/plugin-proposal-optional-chaining":"7.11.0","@babel/plugin-proposal-throw-expressions":"7.10.4"},"peerDependencies":{"@google-cloud/pubsub":">=2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/google-pubsub-test-support_0.1.0-pre.5_1605193019798_0.13785484617922505","host":"s3://npm-registry-packages"}}},"time":{"created":"2020-09-23T19:20:28.847Z","modified":"2024-05-29T18:07:44.770Z","0.1.0-pre.0":"2020-09-23T19:20:29.227Z","0.1.0-pre.1":"2020-09-25T17:39:40.025Z","0.1.0-pre.2":"2020-09-25T17:48:15.637Z","0.1.0-pre.3":"2020-09-25T17:57:09.472Z","0.1.0-pre.4":"2020-09-25T18:46:54.247Z","0.1.0-pre.5":"2020-11-12T14:56:59.960Z"},"maintainers":[{"email":"npm@northscaler.com","name":"npm_northscaler"},{"email":"npm@scispike.com","name":"npm_scispike"},{"email":"djannotta@gmail.com","name":"victorynap"}],"repository":{"url":"git+https://gitlab.com/northscaler-public/google-pubsub-test-support.git","type":"git"},"keywords":["google","pubsub","messaging","emulator","test"],"license":"MIT","homepage":"https://gitlab.com/northscaler-public/google-pubsub-test-support#readme","bugs":{"url":"https://gitlab.com/northscaler-public/google-pubsub-test-support/issues"},"readme":"# `google-pubsub-test-support`\n\nHandy-dandy Google PubSub integration testing utility that starts a [local Docker container](https://github.com/marcelcorso/gcloud-pubsub-emulator) running the [Google PubSub emulator](https://cloud.google.com/pubsub/docs/emulator) if you're not running in a CI/CD pipeline.\nThis allows you to run integration tests locally in a manner similar to how they'd be run in the CI/CD pipeline.\nThis module does nothing when running in a CI build pipeline, because Google PubSub should be configured as part of the build via something like [`.gitlab-ci.yml`'s `services`](https://docs.gitlab.com/ee/ci/yaml/#services) element.\n\nThis package is intended to be installed in your project in `devDependencies`.\n\nYour application must install its desired version of [Google PubSub](https://www.npmjs.com/package/@google-cloud/pubsub).\n\n> NOTE: requires Docker & a Unix-y shell (`/usr/bin/env sh`) to be available.\n> This is not designed to run on Windows; PRs/MRs welcome.\n\nSee [src/test/integration/google-pubsub/google-pubsub.spec.js] for usage, but it's basically\n```javascript\nconst googlePubSubConnect = require('google-pubsub-test-support')\n\n// one PubSub instance per unique project name will be returned\nconst pubsubs = await googlePubSubConnect({ projects: ['project1', 'project2']})\n\n// now you can use any of the PubSub instances\nconst pubsub1 = pubsubs.project1\nconst pubsub2 = pubsubs.project2\n```\n\n## Configuration\n\nThe default configuration is pretty conventional, with the sole exception of the default port that Google PubSub will listen on for clients.\nInstead of `8661`, which might already be in use on developers' machines when they run integration tests, the default configuration uses `18661`.\nIt is a `TODO` to search for an available port.\n\n>NOTE: This module detects when it's running in a CI/CD pipeline by seeing if the environment variable `CI` is of nonzero length.\n\n### Environment variables\n\nThe following environment variables can be set to configure it:\n* GOOGLE_PUBSUB_TEST_SUPPORT_TAG: The tag of the [Google PubSub Emulator Docker image](https://github.com/marcelcorso/gcloud-pubsub-emulator) or custom image to use, default \"latest\"\n* GOOGLE_PUBSUB_TEST_SUPPORT_PORT: visible client port on `localhost` to map to container port, default is content of `google-pubsub/default-google-pubsub-test-port`\n* GOOGLE_PUBSUB_TEST_SUPPORT_CONTAINER: name of container, default is content of file `google-pubsub/default-google-pubsub-test-container`\n* GOOGLE_PUBSUB_TEST_SUPPORT_CONTAINER_PORT: Google PubSub emulator client port in container, default `8681`\n* GOOGLE_PUBSUB_TEST_SUPPORT_IMAGE: docker image name, default `messagebird/gcloud-pubsub-emulator`\n","readmeFilename":"README.md"}