mirror of
				https://github.com/optim-enterprises-bv/vault.git
				synced 2025-11-03 20:17:59 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			94 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
	
	
/* eslint-env node */
 | 
						|
/* eslint-disable no-console */
 | 
						|
/* eslint-disable no-process-exit */
 | 
						|
/* eslint-disable node/no-extraneous-require */
 | 
						|
 | 
						|
var readline = require('readline');
 | 
						|
const testHelper = require('./test-helper');
 | 
						|
 | 
						|
var output = '';
 | 
						|
var unseal, root, written, initError;
 | 
						|
 | 
						|
async function processLines(input, eachLine = () => {}) {
 | 
						|
  const rl = readline.createInterface({
 | 
						|
    input,
 | 
						|
    terminal: true,
 | 
						|
  });
 | 
						|
  for await (const line of rl) {
 | 
						|
    eachLine(line);
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
(async function () {
 | 
						|
  try {
 | 
						|
    let vault = testHelper.run(
 | 
						|
      'vault',
 | 
						|
      [
 | 
						|
        'server',
 | 
						|
        '-dev',
 | 
						|
        '-dev-ha',
 | 
						|
        '-dev-transactional',
 | 
						|
        '-dev-root-token-id=root',
 | 
						|
        '-dev-listen-address=127.0.0.1:9200',
 | 
						|
      ],
 | 
						|
      false
 | 
						|
    );
 | 
						|
    processLines(vault.stdout, function (line) {
 | 
						|
      if (written) {
 | 
						|
        output = null;
 | 
						|
        return;
 | 
						|
      }
 | 
						|
      output = output + line;
 | 
						|
      var unsealMatch = output.match(/Unseal Key: (.+)$/m);
 | 
						|
      if (unsealMatch && !unseal) {
 | 
						|
        unseal = [unsealMatch[1]];
 | 
						|
      }
 | 
						|
      var rootMatch = output.match(/Root Token: (.+)$/m);
 | 
						|
      if (rootMatch && !root) {
 | 
						|
        root = rootMatch[1];
 | 
						|
      }
 | 
						|
      var errorMatch = output.match(/Error initializing core: (.*)$/m);
 | 
						|
      if (errorMatch) {
 | 
						|
        initError = errorMatch[1];
 | 
						|
      }
 | 
						|
      if (root && unseal && !written) {
 | 
						|
        testHelper.writeKeysFile(unseal, root);
 | 
						|
        written = true;
 | 
						|
        console.log('VAULT SERVER READY');
 | 
						|
      } else if (initError) {
 | 
						|
        console.log('VAULT SERVER START FAILED');
 | 
						|
        console.log(
 | 
						|
          'If this is happening, run `export VAULT_LICENSE_PATH=/Users/username/license.hclic` to your valid local vault license filepath, or use OSS Vault'
 | 
						|
        );
 | 
						|
        process.exit(1);
 | 
						|
      }
 | 
						|
    });
 | 
						|
    try {
 | 
						|
      if (process.argv[2] === '--browserstack') {
 | 
						|
        await testHelper.run('ember', ['browserstack:connect']);
 | 
						|
        try {
 | 
						|
          await testHelper.run('ember', ['test', '-f=secrets/secret/create', '-c', 'testem.browserstack.js']);
 | 
						|
 | 
						|
          console.log('success');
 | 
						|
          process.exit(0);
 | 
						|
        } finally {
 | 
						|
          if (process.env.CI === 'true') {
 | 
						|
            await testHelper.run('ember', ['browserstack:results']);
 | 
						|
          }
 | 
						|
          await testHelper.run('ember', ['browserstack:disconnect']);
 | 
						|
        }
 | 
						|
      } else {
 | 
						|
        await testHelper.run('ember', ['test', ...process.argv.slice(2)]);
 | 
						|
      }
 | 
						|
    } catch (error) {
 | 
						|
      console.log(error);
 | 
						|
      process.exit(1);
 | 
						|
    } finally {
 | 
						|
      process.exit(0);
 | 
						|
    }
 | 
						|
  } catch (error) {
 | 
						|
    console.log(error);
 | 
						|
    process.exit(1);
 | 
						|
  }
 | 
						|
})();
 |