Upload via GUI (85 Dateien)
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
const test = require('node:test');
|
||||
const assert = require('node:assert');
|
||||
const { blockedReason, partitionBlocked } = require('../src/features/uploadBlocklist.js');
|
||||
|
||||
test('Sperre: Dateien mit Zugangsdaten werden erkannt', () => {
|
||||
for (const name of ['credentials.json', 'data/credentials.json', 'C:\\proj\\.env', '.env.production', 'id_rsa', 'release.keystore', 'server.pem', 'secrets.json', '.npmrc']) {
|
||||
assert.ok(blockedReason(name, {}), `${name} sollte gesperrt sein`);
|
||||
}
|
||||
});
|
||||
|
||||
test('Sperre: normale Dateien und Vorlagen bleiben erlaubt', () => {
|
||||
for (const name of ['main.js', 'package.json', 'README.md', '.env.example', 'config.sample.json', 'id_rsa.pub', 'credentials.md', 'src/credentials/index.js']) {
|
||||
assert.strictEqual(blockedReason(name, {}), null, `${name} darf hochgeladen werden`);
|
||||
}
|
||||
});
|
||||
|
||||
test('Sperre: Einstellung kann sie abschalten, Standard ist an', () => {
|
||||
assert.ok(blockedReason('credentials.json', undefined));
|
||||
assert.ok(blockedReason('credentials.json', { uploadBlockSecrets: true }));
|
||||
assert.strictEqual(blockedReason('credentials.json', { uploadBlockSecrets: false }), null);
|
||||
});
|
||||
|
||||
test('partitionBlocked: trennt Einträge und behält die Reihenfolge', () => {
|
||||
const items = [
|
||||
{ localFile: 'a/main.js', targetPath: 'a/main.js' },
|
||||
{ localFile: 'a/data/credentials.json', targetPath: 'a/data/credentials.json' },
|
||||
{ localFile: 'a/.env', targetPath: 'a/.env' },
|
||||
{ localFile: 'a/README.md', targetPath: 'a/README.md' }
|
||||
];
|
||||
const { allowed, blocked } = partitionBlocked(items, {});
|
||||
assert.deepStrictEqual(allowed.map(i => i.localFile), ['a/main.js', 'a/README.md']);
|
||||
assert.deepStrictEqual(blocked.map(b => b.path), ['a/data/credentials.json', 'a/.env']);
|
||||
assert.ok(blocked.every(b => b.reason));
|
||||
assert.strictEqual(partitionBlocked(items, { uploadBlockSecrets: false }).blocked.length, 0);
|
||||
});
|
||||
Reference in New Issue
Block a user