verification/tests/e2e/set_verify_file_user_test.go
2024-11-21 10:29:18 +03:00

60 lines
1.3 KiB
Go

package e2e
import (
"bytes"
"fmt"
"github.com/gofiber/fiber/v2"
"github.com/stretchr/testify/assert"
"io"
"mime/multipart"
"os"
"gitea.pena/PenaSide/verification/tests/helpers"
"testing"
)
func Test_PutFile(t *testing.T) {
url := "http://localhost:8080/verification"
client := fiber.AcquireClient()
token, err := helpers.CreateJwt("64e53ed187392e122e5d3d51")
assert.NoError(t, err)
fmt.Println(token)
assert.NoError(t, err)
var requestBody bytes.Buffer
writer := multipart.NewWriter(&requestBody)
files := []struct {
fieldName string
filePath string
}{
{"inn", "files/inn"},
{"rule", "files/rule"},
{"certificate", "files/certificate"},
}
for _, file := range files {
fileWriter, err := writer.CreateFormFile(file.fieldName, file.filePath)
assert.NoError(t, err)
f, err := os.Open(file.filePath)
assert.NoError(t, err)
defer f.Close()
_, err = io.Copy(fileWriter, f)
assert.NoError(t, err)
}
writer.Close()
agent := client.Put(url).Body(requestBody.Bytes()).ContentType(writer.FormDataContentType())
agent.Set("Authorization", fmt.Sprintf("Bearer %s", token))
statusCode, respBody, errs := agent.Bytes()
if len(errs) > 0 {
assert.NoError(t, errs[0])
}
assert.Equal(t, 200, statusCode)
fmt.Println(string(respBody))
}