public interface ArtifactClient
extends org.apache.beam.it.common.ResourceManager
It is the responsibility of implementations to make sure that artifacts are kept separate from
 each other. Using a GCS path, this isolation would create a path like the following: gs://test-class-name/run-id/test-method-name. Each directory means:
 
Separate input/output directories are optional and the responsibility of the test writer to maintain.
| Modifier and Type | Method and Description | 
|---|---|
void | 
cleanupAll()
Deletes all the files located under test-class-name/run-id. 
 | 
Artifact | 
createArtifact(java.lang.String artifactName,
              byte[] contents)
Creates a new artifact in whatever service is being used to store them. 
 | 
Artifact | 
createArtifact(java.lang.String artifactName,
              java.lang.String contents)
Creates a new artifact in whatever service is being used to store them. 
 | 
java.lang.String | 
getPathForArtifact(java.lang.String artifactName)
Returns a path the artifact will be created at. 
 | 
java.util.List<Artifact> | 
listArtifacts(java.lang.String prefix,
             java.util.regex.Pattern regex)
Lists all artifacts under test-class-name/run-id/ 
prefix. | 
java.util.List<Artifact> | 
listArtifacts(TestName testName,
             java.util.regex.Pattern regex)
Lists all artifacts under test-class-name/run-id/ 
prefix. | 
java.lang.String | 
runId()
Returns the id associated with the particular run of the test class. 
 | 
Artifact | 
uploadArtifact(java.lang.String artifactName,
              java.nio.file.Path localPath)
Uploads a local file to the service being used for storing artifacts. 
 | 
Artifact | 
uploadArtifact(java.lang.String artifactName,
              java.lang.String localPath)
Uploads a local file to the service being used for storing artifacts. 
 | 
java.lang.String runId()
java.lang.String getPathForArtifact(java.lang.String artifactName)
artifactName - Artifact nameArtifact createArtifact(java.lang.String artifactName, java.lang.String contents)
artifactName - the name of the artifact. If this is supposed to go under an input/output
     directory, then it should include that (example: input/artifact.txt)contents - the contents of the artifact in String formatArtifact createArtifact(java.lang.String artifactName, byte[] contents)
artifactName - the name of the artifact. If this is supposed to go under an input/output
     directory, then it should include that (example: input/artifact.txt)contents - the contents of the artifact in byte array formatArtifact uploadArtifact(java.lang.String artifactName, java.lang.String localPath) throws java.io.IOException
artifactName - the name of the artifact. If this is supposed to go under an input/output
     directory, then it should include that (example: input/artifact.txt)localPath - the absolute local path to the file to uploadjava.io.IOException - if there is an issue reading the local fileArtifact uploadArtifact(java.lang.String artifactName, java.nio.file.Path localPath) throws java.io.IOException
artifactName - the name of the artifact. If this is supposed to go under an input/output
     directory, then it should include that (example: input/artifact.txt)localPath - the local path to the file to uploadjava.io.IOException - if there is an issue reading the local filejava.util.List<Artifact> listArtifacts(TestName testName, java.util.regex.Pattern regex)
prefix.testName - the test name to use as the prefix on the testing artifacts.regex - a regex to use for filtering out unwanted artifactsjava.util.List<Artifact> listArtifacts(java.lang.String prefix, java.util.regex.Pattern regex)
prefix.prefix - the prefix to use along with the fixed values method above. This must include the
     test-method-name value, but it can include other directories or files under it.regex - a regex to use for filtering out unwanted artifactsvoid cleanupAll()
cleanupAll in interface org.apache.beam.it.common.ResourceManager