mirror of
https://github.com/gotenberg/gotenberg.git
synced 2026-08-17 20:52:14 +01:00
refactoring: now detecting file type using filename from form data. Also, only one accepted content type
This commit is contained in:
@@ -2,6 +2,7 @@ package file
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
@@ -11,56 +12,27 @@ func TestNewFile(t *testing.T) {
|
||||
workingDir := "test"
|
||||
os.Mkdir(workingDir, 0666)
|
||||
|
||||
// case 1: uses an empty reader.
|
||||
if _, err := NewFile(workingDir, new(bytes.Buffer)); err == nil {
|
||||
t.Error("File should not have been instantiated!")
|
||||
}
|
||||
|
||||
// case 2: uses a reader from a wrong file type.
|
||||
path, _ := filepath.Abs("../../../_tests/configurations/gotenberg.yml")
|
||||
r, _ := os.Open(path)
|
||||
defer r.Close()
|
||||
if _, err := NewFile(workingDir, r); err == nil {
|
||||
// case 2: uses a wrong file name.
|
||||
if _, err := NewFile(workingDir, new(bytes.Buffer), "file.yml"); err == nil {
|
||||
t.Error("File should not have been instantiated!")
|
||||
}
|
||||
|
||||
// case 3: uses a reader from a correct file type.
|
||||
path, _ = filepath.Abs("../../../_tests/file.pdf")
|
||||
r, _ = os.Open(path)
|
||||
filePath, _ := filepath.Abs("../../../_tests/file.pdf")
|
||||
r, _ := os.Open(filePath)
|
||||
defer r.Close()
|
||||
if _, err := NewFile(workingDir, r); err != nil {
|
||||
if _, err := NewFile(workingDir, r, "file.pdf"); err != nil {
|
||||
t.Error("File should have been instantiated!")
|
||||
}
|
||||
|
||||
os.RemoveAll(workingDir)
|
||||
}
|
||||
|
||||
func TestReworkFilePath(t *testing.T) {
|
||||
workingDir := "test"
|
||||
os.Mkdir(workingDir, 0666)
|
||||
|
||||
f := &File{
|
||||
Path: MakeFilePath(workingDir),
|
||||
Type: 999,
|
||||
}
|
||||
|
||||
if _, err := reworkFilePath(workingDir, f); err == nil {
|
||||
t.Error("It should not have been able to found the file extension!")
|
||||
}
|
||||
|
||||
os.RemoveAll(workingDir)
|
||||
}
|
||||
|
||||
func TestFileTypeNotFoundError(t *testing.T) {
|
||||
err := &fileTypeNotFoundError{}
|
||||
if err.Error() != fileTypeNotFoundErrorMessage {
|
||||
t.Errorf("Error returned a wrong message: got %s want %s", err.Error(), fileTypeNotFoundErrorMessage)
|
||||
}
|
||||
}
|
||||
fileName := "file.wp"
|
||||
err := &fileTypeNotFoundError{fileName: fileName}
|
||||
expected := fmt.Sprintf("File type was not found for '%s'", fileName)
|
||||
|
||||
func TestFileExtNotFoundError(t *testing.T) {
|
||||
err := &fileExtNotFoundError{}
|
||||
if err.Error() != fileExtNotFoundErrorMessage {
|
||||
t.Errorf("Error returned a wrong message: got %s want %s", err.Error(), fileExtNotFoundErrorMessage)
|
||||
if err.Error() != expected {
|
||||
t.Errorf("Error returned a wrong message: got %s want %s", err.Error(), expected)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user