Skip to content
Snippets Groups Projects
Select Git revision
  • 2d9734c3dad30b45b9db9eec442ac5f89e766f9b
  • main default protected
  • renovate/main-ghcr.io-renovatebot-base-image-11.x
  • chore/maintainers-rarkins
  • refactor/pin-new-value
  • fix/user-agent
  • feat/37517-base64-private-key
  • next
  • feat/gnupg
  • fix/36615b-branch-reuse-no-cache
  • chore/punycode
  • feat/36219--git-x509-signing
  • feat/structured-logger
  • hotfix/39.264.1
  • feat/skip-dangling
  • gh-readonly-queue/next/pr-36034-7a061c4ca1024a19e2c295d773d9642625d1c2be
  • hotfix/39.238.3
  • refactor/gitlab-auto-approve
  • feat/template-strings
  • gh-readonly-queue/next/pr-35654-137d934242c784e0c45d4b957362214f0eade1d7
  • fix/32307-global-extends-merging
  • 41.82.1
  • 41.82.0
  • 41.81.6
  • 41.81.5
  • 41.81.4
  • 41.81.3
  • 41.81.2
  • 41.81.1
  • 41.81.0
  • 41.80.0
  • 41.79.0
  • 41.78.1
  • 41.78.0
  • 41.77.0
  • 41.76.1
  • 41.76.0
  • 41.75.0
  • 41.74.5
  • 41.74.4
  • 41.74.3
41 results

env.spec.ts

Blame
  • env.spec.ts 1.78 KiB
    import { setAdminConfig } from '../../config/admin';
    import { getChildProcessEnv } from './env';
    
    describe('getChildProcess environment when trustlevel set to low', () => {
      const envVars = [
        'HTTP_PROXY',
        'HTTPS_PROXY',
        'NO_PROXY',
        'HOME',
        'PATH',
        'LC_ALL',
        'LANG',
        'DOCKER_HOST',
      ];
      beforeEach(() => {
        envVars.forEach((env) => {
          process.env[env] = env;
        });
      });
      afterEach(() => {
        envVars.forEach((env) => delete process.env[env]);
      });
      it('returns default environment variables', () => {
        expect(getChildProcessEnv()).toMatchInlineSnapshot(`
          Object {
            "DOCKER_HOST": "DOCKER_HOST",
            "HOME": "HOME",
            "HTTPS_PROXY": "HTTPS_PROXY",
            "HTTP_PROXY": "HTTP_PROXY",
            "LANG": "LANG",
            "LC_ALL": "LC_ALL",
            "NO_PROXY": "NO_PROXY",
            "PATH": "PATH",
          }
        `);
      });
      it('returns environment variable only if defined', () => {
        delete process.env.PATH;
        expect(getChildProcessEnv()).not.toHaveProperty('PATH');
      });
      it('returns custom environment variables if passed and defined', () => {
        process.env.FOOBAR = 'FOOBAR';
        expect(getChildProcessEnv(['FOOBAR'])).toMatchInlineSnapshot(`
          Object {
            "DOCKER_HOST": "DOCKER_HOST",
            "FOOBAR": "FOOBAR",
            "HOME": "HOME",
            "HTTPS_PROXY": "HTTPS_PROXY",
            "HTTP_PROXY": "HTTP_PROXY",
            "LANG": "LANG",
            "LC_ALL": "LC_ALL",
            "NO_PROXY": "NO_PROXY",
            "PATH": "PATH",
          }
        `);
        delete process.env.LANG;
      });
    
      describe('getChildProcessEnv when trustlevel set to high', () => {
        it('returns process.env if trustlevel set to high', () => {
          setAdminConfig({ exposeAllEnv: true });
          expect(getChildProcessEnv()).toMatchObject(process.env);
        });
      });
    });