56 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import { tap, expect } from '@push.rocks/tapbundle';
 | |
| import path = require('path');
 | |
| 
 | |
| import { Qenv } from '@push.rocks/qenv';
 | |
| const testQenv = new Qenv('./', './.nogit/');
 | |
| 
 | |
| import * as smartnginx from '../ts/index.js';
 | |
| 
 | |
| let testSmartNginx: smartnginx.SmartNginx;
 | |
| let testNginxZone01: smartnginx.NginxHost;
 | |
| let testNginxZone02: smartnginx.NginxHost;
 | |
| 
 | |
| tap.test('should create a valid instance of SmartNginx', async () => {
 | |
|   testSmartNginx = new smartnginx.SmartNginx({ defaultProxyUrl: 'https://git.zone' });
 | |
|   expect(testSmartNginx).toBeInstanceOf(smartnginx.SmartNginx);
 | |
| });
 | |
| 
 | |
| tap.test(`should produce an instance of NginxConfig`, async () => {
 | |
|   testNginxZone01 = new smartnginx.NginxHost(testSmartNginx, {
 | |
|     hostName: 'test100.bleu.de',
 | |
|     destination: '192.192.192.191',
 | |
|     destinationPort: 3000,
 | |
|     privateKey: 'some private',
 | |
|     publicKey: 'some public',
 | |
|   });
 | |
|   testNginxZone02 = new smartnginx.NginxHost(testSmartNginx, {
 | |
|     hostName: 'test102.bleu.de',
 | |
|     destination: '192.192.192.192',
 | |
|     destinationPort: 3050,
 | |
|     privateKey: 'some private',
 | |
|     publicKey: 'some public',
 | |
|   });
 | |
|   expect(testNginxZone01).toBeInstanceOf(smartnginx.NginxHost);
 | |
| });
 | |
| 
 | |
| tap.test('.addHostCandidate() should add a zone to NginxConfig Object', async () => {
 | |
|   testSmartNginx.addHostCandidate(testNginxZone01);
 | |
|   testSmartNginx.addHostCandidate(testNginxZone02);
 | |
| });
 | |
| 
 | |
| tap.test('.deploy() should deploy a config from an instance', async () => {
 | |
|   await testSmartNginx.deploy();
 | |
| });
 | |
| 
 | |
| tap.test('should not redeploy', async () => {
 | |
|   testSmartNginx.addHostCandidate(testNginxZone01);
 | |
|   testSmartNginx.addHostCandidate(testNginxZone02);
 | |
|   await testSmartNginx.deploy();
 | |
| });
 | |
| 
 | |
| tap.test('.stop() should end the process', async () => {
 | |
|   testSmartNginx.nginxProcess.stop();
 | |
| });
 | |
| 
 | |
| tap.start();
 |