package e2e import ( "bytes" "fmt" "github.com/gofiber/fiber/v2" "github.com/stretchr/testify/assert" "io" "mime/multipart" "os" "penahub.gitlab.yandexcloud.net/backend/verification/tests/helpers" "testing" ) func Test_SetVerify(t *testing.T) { url := "http://localhost:8080/verification" client := fiber.AcquireClient() token, err := helpers.CreateJwt("64e53ed187392e122e5d3d50") assert.NoError(t, err) fmt.Println(token) assert.NoError(t, err) var requestBody bytes.Buffer writer := multipart.NewWriter(&requestBody) err = writer.WriteField("status", "nko") assert.NoError(t, err) 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.Post(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)) }