Class MockManifest

  • All Implemented Interfaces:
    FileManifest

    public final class MockManifest
    extends java.lang.Object
    implements FileManifest
    A FileManifest that doesn't actually store files on disk.

    This manifest is useful for testing SmithyBuildPlugin implementations.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  MockManifest.StoreMode
      The way in which files are stored.
    • Constructor Summary

      Constructors 
      Constructor Description
      MockManifest()
      Creates a mock manifest that stores files in memory and uses a base directory of "/".
      MockManifest​(java.nio.file.Path baseDir)
      Creates a mock manifest that stores files in memory.
      MockManifest​(java.nio.file.Path baseDir, MockManifest.StoreMode storeMode)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.nio.file.Path addFile​(java.nio.file.Path path)
      Adds a path to the manifest.
      byte[] expectFileBytes​(java.lang.String file)
      Expects that the given file was stored and returns the bytes.
      byte[] expectFileBytes​(java.nio.file.Path file)
      Expects that the given file was stored and returns the bytes.
      java.lang.String expectFileString​(java.lang.String file)
      Expects that the given file was stored and returns a UTF-8 string.
      java.lang.String expectFileString​(java.nio.file.Path file)
      Expects that the given file was stored and returns a UTF-8 string.
      java.nio.file.Path getBaseDir()
      Gets the base directory of the manifest.
      java.util.Optional<byte[]> getFileBytes​(java.lang.String file)
      Gets the bytes of a stored file.
      java.util.Optional<byte[]> getFileBytes​(java.nio.file.Path file)
      Gets the bytes of a stored file.
      java.util.Set<java.nio.file.Path> getFiles()
      Gets all of the files in the result.
      java.util.Optional<java.lang.String> getFileString​(java.lang.String file)
      Gets the contents of a stored file as a String.
      java.util.Optional<java.lang.String> getFileString​(java.nio.file.Path file)
      Gets the contents of a stored file as a String.
      java.nio.file.Path writeFile​(java.nio.file.Path path, java.io.InputStream fileContentsInputStream)
      Adds a file to the result using the contents of an InputStream.
      java.nio.file.Path writeFile​(java.nio.file.Path path, java.io.Reader fileContentsReader)
      Adds a file to the result using the contents of a Reader.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • MockManifest

        public MockManifest​(java.nio.file.Path baseDir,
                            MockManifest.StoreMode storeMode)
        Parameters:
        baseDir - Base directory of the manifest.
        storeMode - How files are stored in the mock.
      • MockManifest

        public MockManifest​(java.nio.file.Path baseDir)
        Creates a mock manifest that stores files in memory.
        Parameters:
        baseDir - Base directory of the manifest.
      • MockManifest

        public MockManifest()
        Creates a mock manifest that stores files in memory and uses a base directory of "/".
    • Method Detail

      • getBaseDir

        public java.nio.file.Path getBaseDir()
        Description copied from interface: FileManifest
        Gets the base directory of the manifest.
        Specified by:
        getBaseDir in interface FileManifest
        Returns:
        Returns the base directory.
      • getFiles

        public java.util.Set<java.nio.file.Path> getFiles()
        Description copied from interface: FileManifest
        Gets all of the files in the result.

        The order of files returned should be stable across calls.

        Specified by:
        getFiles in interface FileManifest
        Returns:
        Returns the files in the manifest.
      • addFile

        public java.nio.file.Path addFile​(java.nio.file.Path path)
        Description copied from interface: FileManifest
        Adds a path to the manifest.

        The given path must be relative or within the base directory.

        Specified by:
        addFile in interface FileManifest
        Parameters:
        path - Path to add.
        Returns:
        Returns the path resolved against any base URL.
      • writeFile

        public java.nio.file.Path writeFile​(java.nio.file.Path path,
                                            java.io.Reader fileContentsReader)
        Description copied from interface: FileManifest
        Adds a file to the result using the contents of a Reader.

        This method will write the contents of a Reader to a file.

        Specified by:
        writeFile in interface FileManifest
        Parameters:
        path - Relative path to the file to create.
        fileContentsReader - Reader to consume and write to the file.
        Returns:
        Returns the resolved path.
      • writeFile

        public java.nio.file.Path writeFile​(java.nio.file.Path path,
                                            java.io.InputStream fileContentsInputStream)
        Description copied from interface: FileManifest
        Adds a file to the result using the contents of an InputStream.

        This method will write the contents of an input stream to a file.

        Specified by:
        writeFile in interface FileManifest
        Parameters:
        path - Relative path to the file to create.
        fileContentsInputStream - InputStream to consume and write to the file.
        Returns:
        Returns the resolved path.
      • getFileString

        public java.util.Optional<java.lang.String> getFileString​(java.nio.file.Path file)
        Gets the contents of a stored file as a String.
        Parameters:
        file - Relative or absolute path to the file to retrieve.
        Returns:
        Returns the optionally found file string.
        Throws:
        SmithyBuildException - if the file cannot be read as UTF-8.
      • getFileString

        public java.util.Optional<java.lang.String> getFileString​(java.lang.String file)
        Gets the contents of a stored file as a String.
        Parameters:
        file - Relative or absolute path to the file to retrieve.
        Returns:
        Returns the optionally found file string.
        Throws:
        SmithyBuildException - if the file cannot be read as UTF-8.
      • expectFileString

        public java.lang.String expectFileString​(java.nio.file.Path file)
        Expects that the given file was stored and returns a UTF-8 string.
        Parameters:
        file - File to retrieve.
        Returns:
        Returns the bytes of the file if found.
        Throws:
        java.nio.file.InvalidPathException - if the file cannot be found.
      • expectFileString

        public java.lang.String expectFileString​(java.lang.String file)
        Expects that the given file was stored and returns a UTF-8 string.
        Parameters:
        file - File to retrieve.
        Returns:
        Returns the bytes of the file if found.
        Throws:
        java.nio.file.InvalidPathException - if the file cannot be found.
      • getFileBytes

        public java.util.Optional<byte[]> getFileBytes​(java.nio.file.Path file)
        Gets the bytes of a stored file.
        Parameters:
        file - Relative or absolute path to the file to retrieve.
        Returns:
        Returns the optionally found file by.es,
      • getFileBytes

        public java.util.Optional<byte[]> getFileBytes​(java.lang.String file)
        Gets the bytes of a stored file.
        Parameters:
        file - Relative or absolute path to the file to retrieve.
        Returns:
        Returns the optionally found file by.es,
      • expectFileBytes

        public byte[] expectFileBytes​(java.nio.file.Path file)
        Expects that the given file was stored and returns the bytes.
        Parameters:
        file - File to retrieve.
        Returns:
        Returns the bytes of the file if found.
        Throws:
        java.nio.file.InvalidPathException - if the file cannot be found.
      • expectFileBytes

        public byte[] expectFileBytes​(java.lang.String file)
        Expects that the given file was stored and returns the bytes.
        Parameters:
        file - File to retrieve.
        Returns:
        Returns the bytes of the file if found.
        Throws:
        java.nio.file.InvalidPathException - if the file cannot be found.