| 12345678910111213141516171819202122232425262728293031323334 |
- const { Client } = require('@elastic/elasticsearch');
- const { elasticsearchHost, elasticsearchPort } = require('./constants');
- const esClient = new Client({
- node: `${elasticsearchHost}:${elasticsearchPort}`,
- });
- /**
- * When contributing to Vendure, developers who made changes unrelated to
- * this plugin should not be expected to set up an Elasticsearch instance
- * locally just so they can get the pre-push hook to pass. So if no
- * instance is available, we skip the tests.
- */
- async function checkConnection() {
- try {
- await esClient.ping({}, { requestTimeout: 1000 });
- // If the connection is available, we exit with 1 in order to invoke the
- // actual e2e test script (since we are using the `||` operator in the "e2e" script)
- return 1;
- } catch (e) {
- console.log(
- `Could not connect to Elasticsearch instance at "${elasticsearchHost}:${elasticsearchPort}"`,
- );
- console.log(`Skipping e2e tests for ElasticsearchPlugin`);
- process.env.SKIP_ELASTICSEARCH_E2E_TESTS = true;
- // If no elasticsearch available, we exit with 0 so that the npm script
- // exits
- return 0;
- }
- }
- checkConnection().then((result) => {
- process.exit(result);
- });
|