hunk.code_window: import org.junit.jupiter.api.extension.TestWatcher;
   import java.io.FileWriter;
   import java.io.IOException;
   import java.util.ArrayList;
   import java.util.List;
   /**
    * The TestWatcher interface is used to react to the execution of tests.
  
hunk.labels: keep keep keep keep replace replace keep keep keep
hunk.after_edit: import java.util.Collection;
   import java.util.TreeSet;
  
hunk.file_path: app/server/appsmith-server/src/test/java/com/appsmith/server/TestResultLoggerExtension.java
hunk.type: replace
file: {
    "identifier": "UPLOAD_FILE_FROM_BODY",
    "controlType": "SECTION",
    "conditionals": {
      "show": "{{actionConfiguration.formData.command.data === 'UPLOAD_FILE_FROM_BODY'}}"
    },
    "children": [
      {
        "controlType": "SECTION",
        "label": "Select bucket to query",
        "children": [
          {
            "label": "Bucket name",
            "configProperty": "actionConfiguration.formData.bucket.data",
            "controlType": "QUERY_DYNAMIC_INPUT_TEXT",
            "evaluationSubstitutionType": "TEMPLATE",
            "isRequired": true,
            "initialValue": ""
          }
        ]
      },
      {
        "controlType": "SECTION",
        "label": "Query",
        "description": "Optional",
        "children": [
          {
            "label": "File path",
            "configProperty": "actionConfiguration.formData.path.data",
            "controlType": "QUERY_DYNAMIC_INPUT_TEXT",
            "initialValue": ""
          },
          {
            "label": "File data type",
            "configProperty": "actionConfiguration.formData.create.dataType.data",
            "controlType": "DROP_DOWN",
            "initialValue": "YES",
            "options": [
              {
                "label": "Base64",
                "value": "YES"
              },
              {
                "label": "Text",
                "value": "NO"
              }
            ]
          },
          {
            "label": "Expiry duration of signed URL (minutes)",
            "configProperty": "actionConfiguration.formData.create.expiry.data",
            "controlType": "QUERY_DYNAMIC_INPUT_TEXT",
            "initialValue": "5"
          },
          {
            "label": "Content",
            "configProperty": "actionConfiguration.formData.body.data",
            "controlType": "QUERY_DYNAMIC_TEXT",
            "initialValue": "",
            "placeHolderText": "{{ FilePicker1.files[0] }}"
          }
        ]
      }
    ]
  }
  