svg
svg

Reputation: 57

Multipart file does not take the variable for the file name

I am trying to use the multipart file with the file as a variable, my feature looks like below

Feature: Test feature
  Background:
    * def JavaUtil = Java.type('com.intuit.karate.demo.util.JavaUtil')
    * def file = JavaUtil.createBatchFile("1003");
# Scenario: test one
# * print " this is the first test: "
    * url  appUrl + '/api/partner/v1/bulk/'
    * print 'file :', file
    Given path 'jobs', jobId, 'batches'
    And multipart file newBatchInfo = { read: file}
    When method post
    Then status 200

When the code executes the file has the right value but the multipart file does not accept the file variable which has the absolute path.

Is this the right usage? If there are some docs around this, can someone point me. Thanks.

This is my output enter image description here

Upvotes: 2

Views: 207

Answers (1)

Peter Thomas
Peter Thomas

Reputation: 58058

There is a file: prefix, which you can use in cases like this, where you generate a file. I recommend you generate files into target when using Maven for e.g.

Refer docs: https://github.com/intuit/karate#reading-files

Also note that you should use embedded expressions:

* def file = 'file:' + JavaUtil.createBatchFile("1003")
# ...
* And multipart file newBatchInfo = { read: '#(file)' }

Upvotes: 1

Related Questions