mirror of
				https://github.com/optim-enterprises-bv/vault.git
				synced 2025-10-31 10:37:56 +00:00 
			
		
		
		
	 49ee9e72a7
			
		
	
	49ee9e72a7
	
	
	
		
			
			* feature(ember-exam): add ember-exam to split ui tests and run them in parallel * update yarn.lock * update package.json scripts * test(oidc): comment out test with race condition in oidc test * chore(test): use 127.0.0.1 in testem config and add uuid to pki mount path * test(kv-workflow): make policy creation unique per-test * chore(test): use --preserve-test-name so flakey test reporting is preserved * yarn test:filter runs ember test instead of exam for easier filtering * fix kv control group tests --------- Co-authored-by: Chelsea Shaw <cshaw@hashicorp.com>
		
			
				
	
	
		
			86 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
	
	
| /**
 | |
|  * Copyright (c) HashiCorp, Inc.
 | |
|  * SPDX-License-Identifier: BUSL-1.1
 | |
|  */
 | |
| 
 | |
| /* eslint-env node */
 | |
| /* eslint-disable no-console */
 | |
| /* eslint-disable no-process-exit */
 | |
| /* eslint-disable n/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 {
 | |
|     const 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 {
 | |
|       // only the test:filter command specifies --server by default
 | |
|       const verb = process.argv[2] === '--server' ? 'test' : 'exam';
 | |
|       await testHelper.run('ember', [verb, ...process.argv.slice(2)]);
 | |
|     } catch (error) {
 | |
|       console.log(error);
 | |
|       process.exit(1);
 | |
|     } finally {
 | |
|       process.exit(0);
 | |
|     }
 | |
|   } catch (error) {
 | |
|     console.log(error);
 | |
|     process.exit(1);
 | |
|   }
 | |
| })();
 |