Testing Files Generator
Português (Brasil)

Presets

Validação de upload

Meu formulário de upload aceita o que deve e recusa o resto?

O preset upload-validation monta com um único comando um conjunto inteiro de arquivos de teste reais para esta pergunta, e um manifest.json ao lado dizendo como seu sistema deve reagir a cada arquivo. Tudo abaixo é lido do programa, com os valores padrão desta versão.

O que ele costuma encontrar?

O que há no conjunto?

Com os valores padrão, como o tfg preset show upload-validation informa:

Arquivos71
Targets na sua receita22
Tamanho total120 639 488 B
Formatoshtml, jpg, pdf, png, svg, txt

E o que o manifesto desse conjunto espera do seu sistema:

EsperadoSignificadoArquivos
acceptSeu sistema deve aceitar o arquivo.56
rejectSeu sistema deve recusar o arquivo.10
unspecifiedDepende das regras do seu sistema. Você decide e depois confere se o que acontece é o que você queria.5

O que você pode mudar?

ConfiguraçãoAceitaPadrãoO que faz
--limit um tamanho como 2mb 10mb O limite de tamanho que seu formulário de upload declara. Este conjunto dá um passo para cada lado - para um arquivo em cada distância, rode o preset size-boundaries. Este valor padrão é o nosso provisório, não o valor do seu sistema. Passe o seu.
--allow ids de formato separados por vírgulas jpg,png,pdf Quais tipos seu formulário deve aceitar. Cada um vira um arquivo real desse tipo, e eles são o controle positivo do conjunto todo.
--deny extensões separadas por vírgulas svg,html,exe,sh Quais extensões seu formulário deve recusar. Uma extensão para a qual esta versão não tem formato ainda recebe um arquivo com esse nome, com texto simples.
--far-over 10x, 2x, off 2x O quanto acima do limite vai o único arquivo grande. Desligue onde escrever várias vezes o limite não vale o disco.
--bulk 0 - 10000 arquivos 50 Quantos arquivos o upload em massa contém. Zero deixa esse grupo totalmente fora do conjunto.

Como executar?

Veja quanto o conjunto custaria, monte-o ou pegue a receita dele para editar:

tfg preset show upload-validation
tfg generate --preset upload-validation --limit 10mb --out ./upload-validation
tfg preset eject upload-validation > upload-validation.yaml

Ou construa sobre ele em uma receita sua, ao lado dos seus testes:

version: 1
extends: preset:upload-validation
with:
  limit: 10mb