Class UploadLocator

java.lang.Object
com.vaadin.browserless.locator.Locator<Upload,UploadLocator>
com.vaadin.flow.component.upload.UploadLocator
All Implemented Interfaces:
Clickable<Upload>, HasThemeFilter<Upload,UploadLocator>

@Generated("com.vaadin.browserless.locator.processor.LocatorProcessor") public class UploadLocator extends Locator<Upload,UploadLocator> implements Clickable<Upload>, HasThemeFilter<Upload,UploadLocator>
Generated locator for Upload, derived from UploadTester. Filter steps are inherited from Locator; action methods delegate to a fresh tester around the resolved component, so behavioral changes belong on the tester, not here.
  • Constructor Details

    • UploadLocator

      public UploadLocator()
    • UploadLocator

      public UploadLocator(Upload component)
  • Method Details

    • getComponent

      public Upload getComponent()
      Description copied from interface: Clickable
      Gets the component being tested.
      Specified by:
      getComponent in interface Clickable<Upload>
      Returns:
      the component under test
    • ensureComponentIsUsable

      public void ensureComponentIsUsable()
      Description copied from interface: Clickable
      Ensures the component is in a usable state before interaction.
      Specified by:
      ensureComponentIsUsable in interface Clickable<Upload>
    • upload

      public void upload(String fileName, String contentType, InputStream contents)
      Send the file data to the Upload component as if it is uploaded in the browser.

      The file is rejected with a FileRejectedEvent, and never reaches the upload handler, if it violates one of the client-side constraints of the component. With auto upload turned off, an accepted file waits in the file list until startUpload(String) is called. Javadoc copied from UploadTester.upload(java.lang.String,java.lang.String,java.io.InputStream).

      Parameters:
      fileName - name of the file to upload
      contentType - content type of the file to upload
      contents - file contents as an array of bytes
    • upload

      public void upload(String fileName, String contentType, byte[] contents)
      Send the file data to the Upload component as if it is uploaded in the browser.

      The file is rejected with a FileRejectedEvent, and never reaches the upload handler, if it violates one of the client-side constraints of the component. With auto upload turned off, an accepted file waits in the file list until startUpload(String) is called. Javadoc copied from UploadTester.upload(java.lang.String,java.lang.String,byte[]).

      Parameters:
      fileName - name of the file to upload
      contentType - content type of the file to upload
      contents - file contents as an array of bytes
    • upload

      public void upload(File file)
      Send the file data to the Upload component as if it is uploaded in the browser. The content type is detected from file name.

      The file is rejected with a FileRejectedEvent, and never reaches the upload handler, if it violates one of the client-side constraints of the component. With auto upload turned off, an accepted file waits in the file list until startUpload(String) is called. Javadoc copied from UploadTester.upload(java.io.File).

      Parameters:
      file - the file to upload
    • uploadAll

      public void uploadAll(File... files)
      Simulates uploading multiple files at once.

      Files violating one of the client-side constraints of the component are rejected with a FileRejectedEvent and never reach the upload handler; the remaining files are uploaded, or wait in the file list when auto upload is turned off. Javadoc copied from UploadTester.uploadAll(java.io.File[]).

      Parameters:
      files - files to upload
      Throws:
      IllegalStateException - if the component is not usable
    • uploadAll

      public void uploadAll(Collection<File> files)
      Simulates uploading multiple files at once.

      Files violating one of the client-side constraints of the component are rejected with a FileRejectedEvent and never reach the upload handler; the remaining files are uploaded, or wait in the file list when auto upload is turned off. Javadoc copied from UploadTester.uploadAll(java.util.Collection).

      Parameters:
      files - files to upload
      Throws:
      IllegalStateException - if the component is not usable
    • uploadAborted

      public void uploadAborted(String fileName, String contentType)
      Simulates upload interruption by user on browser.

      As in the browser, the interrupted file is dropped from the file list and a FileRemovedEvent is fired, freeing a slot when Upload.setMaxFiles(int) is in use.

      The file is added and its transfer started in one go, whether or not auto upload is turned off. Javadoc copied from UploadTester.uploadAborted(java.lang.String,java.lang.String).

      Parameters:
      fileName - name of uploading file
      contentType - content type of the uploading file
    • uploadAborted

      public void uploadAborted(File file)
      Simulates upload interruption by user on browser.

      As in the browser, the interrupted file is dropped from the file list and a FileRemovedEvent is fired, freeing a slot when Upload.setMaxFiles(int) is in use.

      The file is added and its transfer started in one go, whether or not auto upload is turned off. Javadoc copied from UploadTester.uploadAborted(java.io.File).

      Parameters:
      file - uploading file
    • uploadFailed

      public void uploadFailed(File file)
      Simulates a failure during file upload.

      As in the browser, a file whose upload failed stays in the file list.

      The file is added and its transfer started in one go, whether or not auto upload is turned off. Javadoc copied from UploadTester.uploadFailed(java.io.File).

      Parameters:
      file - uploading file
    • uploadFailed

      public void uploadFailed(String fileName, String contentType)
      Simulates a failure during file upload.

      As in the browser, a file whose upload failed stays in the file list.

      The file is added and its transfer started in one go, whether or not auto upload is turned off. Javadoc copied from UploadTester.uploadFailed(java.lang.String,java.lang.String).

      Parameters:
      fileName - name of uploading file
      contentType - content type of the uploading file
    • removeFile

      public void removeFile(String fileName)
      Simulates the user removing a file from the upload file list, as if clicking the remove button on the file entry.

      A FileRemovedEvent is fired and the file stops counting towards Upload.setMaxFiles(int).

      When several entries have the given name, the most recently added one is removed. Javadoc copied from UploadTester.removeFile(java.lang.String).

      Parameters:
      fileName - name of the file to remove, as given when it was uploaded
      Throws:
      IllegalArgumentException - if the file is not in the upload file list
      IllegalStateException - if the component is not usable
      Since:
      25.3
    • removeFile

      public void removeFile(File file)
      Simulates the user removing a file from the upload file list, as if clicking the remove button on the file entry.

      A FileRemovedEvent is fired and the file stops counting towards Upload.setMaxFiles(int).

      When several entries have the name of the given file, the most recently added one is removed. Javadoc copied from UploadTester.removeFile(java.io.File).

      Parameters:
      file - the file to remove
      Throws:
      IllegalArgumentException - if the file is not in the upload file list
      IllegalStateException - if the component is not usable
      Since:
      25.3
    • removeFile

      public void removeFile(int index)
      Simulates the user removing the file at the given position of the upload file list, as if clicking the remove button on that entry. This reaches one entry when several share a name.

      A FileRemovedEvent is fired and the file stops counting towards Upload.setMaxFiles(int). Javadoc copied from UploadTester.removeFile(int).

      Parameters:
      index - the position of the file in the list, in the order getFiles() returns them: the most recently added file first
      Throws:
      IllegalArgumentException - if there is no file at the position
      IllegalStateException - if the component is not usable
    • startUpload

      public void startUpload(String fileName)
      Simulates the user clicking the start button of a file that waits in the upload file list because auto upload is turned off, uploading it.

      When several waiting entries have the given name, the most recently added one is started. Javadoc copied from UploadTester.startUpload(java.lang.String).

      Parameters:
      fileName - name of the file to start, as given when it was added
    • startUpload

      public void startUpload(File file)
      Simulates the user clicking the start button of a file that waits in the upload file list because auto upload is turned off, uploading it.

      When several waiting entries have the name of the given file, the most recently added one is started. Javadoc copied from UploadTester.startUpload(java.io.File).

      Parameters:
      file - the file to start
    • startUpload

      public void startUpload(int index)
      Simulates the user clicking the start button of the file at the given position of the upload file list, which waits because auto upload is turned off, uploading it. This reaches one entry when several share a name. Javadoc copied from UploadTester.startUpload(int).
      Parameters:
      index - the position of the file in the list, in the order getFiles() returns them: the most recently added file first
    • getFiles

      public List<UploadTester.FileStatus> getFiles()
      Gets the files the upload file list shows, in the order the browser shows them: the most recently added file first.

      A file is

      invalid reference
      UploadStatus#UPLOADED
      once the upload handler or receiver has consumed it,
      invalid reference
      UploadStatus#FAILED
      or
      invalid reference
      UploadStatus#REJECTED
      when its transfer failed or the server refused it, and
      invalid reference
      UploadStatus#PENDING
      while it waits to be started because auto upload is turned off. Files the client-side constraints refused never enter the list. Javadoc copied from UploadTester.getFiles().
      Returns:
      the files in the upload file list
    • getLastUploadStatus

      public List<UploadTester.FileStatus> getLastUploadStatus()
      Returns what happened to each file of the upload last simulated on this component, in the order the files were given, so that a test can check the outcome the same way a user reads the upload file list in the browser.

      Files are reported as

      invalid reference
      UploadStatus#UPLOADED
      once the upload handler or receiver has consumed them, and as
      invalid reference
      UploadStatus#REJECTED
      both when the client-side gate refused them and when Flow's server-side accepted type validation did, in which case neither shows up as a thrown exception. A file waiting for startUpload(String) because auto upload is turned off is
      invalid reference
      UploadStatus#PENDING
      ; once started, the last upload is that file. Javadoc copied from UploadTester.getLastUploadStatus().
      Returns:
      the outcome of the last simulated upload, one entry per file, or an empty list if no upload has been simulated yet
      Since:
      25.3
    • ensureUploaded

      public void ensureUploaded()
      Checks that the upload last simulated on this component delivered every one of its files, and fails otherwise.

      Convenience for the common case where a test only wants to be sure the files went through: an upload the browser or the server refused is silent, so without this check it would be noticed only later, as a missing side effect. Javadoc copied from UploadTester.ensureUploaded().

      Throws:
      IllegalStateException - if no upload has been simulated on the component, or if any file of the last upload was not uploaded
      Since:
      25.3
      See Also:
    • ensureUploadFailed

      public void ensureUploadFailed()
      Checks that at least one file of the upload last simulated on this component failed or was rejected, and fails otherwise.

      Counterpart of ensureUploaded() for a test about the failure case, such as an upload handler that throws or a file the component refuses. Use getLastUploadStatus() to check which file failed and why.

      A file left UploadTester.UploadStatus.PENDING does not count as failed: it was neither delivered nor refused, such as a file following one whose upload threw or a file waiting because auto upload is turned off. Javadoc copied from UploadTester.ensureUploadFailed().

      Throws:
      IllegalStateException - if no upload has been simulated on the component, or if no file of the last upload failed or was rejected
      See Also: