/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ /* eslint-env node */ /* eslint-disable no-console */ const testHelper = require('./test-helper'); (async function () { try { let unsealKeys = process.env.VAULT_UNSEAL_KEYS; if (!unsealKeys) { console.error( 'Cannot run ember tests without unseal keys, please make sure to export the keys, in an env ' + 'var named: VAULT_UNSEAL_KEYS' ); process.exit(1); } else { unsealKeys = JSON.parse(unsealKeys); } const rootToken = process.env.VAULT_TOKEN; if (!rootToken) { console.error( 'Cannot run ember tests without root token, please make sure to export the root token, in an env ' + 'var named: VAULT_TOKEN' ); process.exit(1); } testHelper.writeKeysFile(unsealKeys, rootToken); } catch (error) { console.log(error); process.exit(1); } const vaultAddr = process.env.VAULT_ADDR; if (!vaultAddr) { console.error( 'Cannot run ember tests without the Vault Address, please make sure to export the vault address, in an env ' + 'var named: VAULT_ADDR' ); process.exit(1); } console.log('VAULT_ADDR=' + vaultAddr); try { const testArgs = ['test', '-c', 'testem.enos.js']; if (process.env.TEST_FILTER && process.env.TEST_FILTER.length > 0) { testArgs.push('-f=' + process.env.TEST_FILTER); } await testHelper.run('ember', [...testArgs, ...process.argv.slice(2)], false); } catch (error) { console.log(error); process.exit(1); } finally { process.exit(0); } })();