%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/vacivi36/vittasync.vacivitta.com.br/vittasync/node/test/parallel/
Upload File :
Create Path :
Current File : /home/vacivi36/vittasync.vacivitta.com.br/vittasync/node/test/parallel/test-policy-manifest.js

'use strict';

const common = require('../common');

if (!common.hasCrypto)
  common.skip('missing crypto');

common.requireNoPackageJSONAbove();

const assert = require('assert');
const { spawnSync } = require('child_process');
const { cpSync, rmSync } = require('fs');
const fixtures = require('../common/fixtures.js');
const tmpdir = require('../common/tmpdir.js');

{
  const policyFilepath = fixtures.path('policy-manifest', 'invalid.json');
  const result = spawnSync(process.execPath, [
    '--experimental-policy',
    policyFilepath,
    './fhqwhgads.js',
  ]);

  assert.notStrictEqual(result.status, 0);
  const stderr = result.stderr.toString();
  assert.match(stderr, /ERR_MANIFEST_INVALID_SPECIFIER/);
  assert.match(stderr, /pattern needs to have a single trailing "\*"/);
}

{
  tmpdir.refresh();
  const policyFilepath = tmpdir.resolve('file with % in its name.json');
  cpSync(fixtures.path('policy-manifest', 'invalid.json'), policyFilepath);
  const result = spawnSync(process.execPath, [
    '--experimental-policy',
    policyFilepath,
    './fhqwhgads.js',
  ]);

  assert.notStrictEqual(result.status, 0);
  const stderr = result.stderr.toString();
  assert.match(stderr, /ERR_MANIFEST_INVALID_SPECIFIER/);
  assert.match(stderr, /pattern needs to have a single trailing "\*"/);
  rmSync(policyFilepath);
}

{
  const policyFilepath = fixtures.path('policy-manifest', 'onerror-exit.json');
  const result = spawnSync(process.execPath, [
    '--experimental-policy',
    policyFilepath,
    '-e',
    'require("os").cpus()',
  ]);

  assert.notStrictEqual(result.status, 0);
  const stderr = result.stderr.toString();
  assert.match(stderr, /ERR_MANIFEST_DEPENDENCY_MISSING/);
  assert.match(stderr, /does not list module as a dependency specifier for conditions: require, node, node-addons/);
}

{
  const policyFilepath = fixtures.path('policy-manifest', 'onerror-exit.json');
  const mainModuleBypass = fixtures.path('policy-manifest', 'main-module-bypass.js');
  const result = spawnSync(process.execPath, [
    '--experimental-policy',
    policyFilepath,
    mainModuleBypass,
  ]);

  assert.notStrictEqual(result.status, 0);
  const stderr = result.stderr.toString();
  assert.match(stderr, /ERR_MANIFEST_DEPENDENCY_MISSING/);
  assert.match(stderr, /does not list os as a dependency specifier for conditions: require, node, node-addons/);
}

{
  const policyFilepath = fixtures.path('policy-manifest', 'onerror-resource-exit.json');
  const objectDefinePropertyBypass = fixtures.path('policy-manifest', 'object-define-property-bypass.js');
  const result = spawnSync(process.execPath, [
    '--experimental-policy',
    policyFilepath,
    objectDefinePropertyBypass,
  ]);

  assert.strictEqual(result.status, 0);
}

{
  const policyFilepath = fixtures.path('policy-manifest', 'onerror-exit.json');
  const mainModuleBypass = fixtures.path('policy-manifest', 'main-module-proto-bypass.js');
  const result = spawnSync(process.execPath, [
    '--experimental-policy',
    policyFilepath,
    mainModuleBypass,
  ]);

  assert.notStrictEqual(result.status, 0);
  const stderr = result.stderr.toString();
  assert.match(stderr, /ERR_MANIFEST_DEPENDENCY_MISSING/);
  assert.match(stderr, /does not list os as a dependency specifier for conditions: require, node, node-addons/);
}

{
  const policyFilepath = fixtures.path('policy-manifest', 'onerror-exit.json');
  const mainModuleBypass = fixtures.path('policy-manifest', 'module-constructor-bypass.js');
  const result = spawnSync(process.execPath, [
    '--experimental-policy',
    policyFilepath,
    mainModuleBypass,
  ]);
  assert.notStrictEqual(result.status, 0);
  const stderr = result.stderr.toString();
  assert.match(stderr, /TypeError/);
}

{
  const policyFilepath = fixtures.path('policy-manifest', 'manifest-impersonate.json');
  const createRequireBypass = fixtures.path('policy-manifest', 'createRequire-bypass.js');
  const result = spawnSync(process.execPath, [
    '--experimental-policy',
    policyFilepath,
    createRequireBypass,
  ]);

  assert.notStrictEqual(result.status, 0);
  const stderr = result.stderr.toString();
  assert.match(stderr, /TypeError/);
}

{
  const policyFilepath = fixtures.path('policy-manifest', 'onerror-exit.json');
  const mainModuleBypass = fixtures.path('policy-manifest', 'main-constructor-bypass.js');
  const result = spawnSync(process.execPath, [
    '--experimental-policy',
    policyFilepath,
    mainModuleBypass,
  ]);

  assert.notStrictEqual(result.status, 0);
  const stderr = result.stderr.toString();
  assert.match(stderr, /TypeError/);
}

{
  const policyFilepath = fixtures.path('policy-manifest', 'onerror-exit.json');
  const mainModuleBypass = fixtures.path('policy-manifest', 'main-constructor-extensions-bypass.js');
  const result = spawnSync(process.execPath, [
    '--experimental-policy',
    policyFilepath,
    mainModuleBypass,
  ]);

  assert.notStrictEqual(result.status, 0);
  const stderr = result.stderr.toString();
  assert.match(stderr, /TypeError/);
}

Zerion Mini Shell 1.0