Search in sources :

Example 6 with Violation

use of com.google.rpc.PreconditionFailure.Violation in project bazel-buildfarm by bazelbuild.

the class AbstractServerInstanceTest method outputFilesAsOutputDirectoryAncestorsAreInvalid.

@Test
public void outputFilesAsOutputDirectoryAncestorsAreInvalid() {
    PreconditionFailure.Builder preconditionFailureBuilder = PreconditionFailure.newBuilder();
    AbstractServerInstance.validateOutputs(ImmutableSet.of(), ImmutableSet.of(), ImmutableSet.of("foo"), ImmutableSet.of("foo/bar"), preconditionFailureBuilder);
    PreconditionFailure preconditionFailure = preconditionFailureBuilder.build();
    assertThat(preconditionFailure.getViolationsCount()).isEqualTo(1);
    Violation violation = preconditionFailure.getViolationsList().get(0);
    assertThat(violation.getType()).isEqualTo(VIOLATION_TYPE_INVALID);
    assertThat(violation.getSubject()).isEqualTo("foo");
    assertThat(violation.getDescription()).isEqualTo(OUTPUT_FILE_IS_OUTPUT_ANCESTOR);
}
Also used : Violation(com.google.rpc.PreconditionFailure.Violation) PreconditionFailure(com.google.rpc.PreconditionFailure) Test(org.junit.Test)

Example 7 with Violation

use of com.google.rpc.PreconditionFailure.Violation in project bazel-buildfarm by bazelbuild.

the class AbstractServerInstanceTest method unsortedFileInputIsInvalid.

@Test
public void unsortedFileInputIsInvalid() {
    PreconditionFailure.Builder preconditionFailure = PreconditionFailure.newBuilder();
    AbstractServerInstance.validateActionInputDirectory(ACTION_INPUT_ROOT_DIRECTORY_PATH, Directory.newBuilder().addAllFiles(ImmutableList.of(FileNode.newBuilder().setName("foo").build(), FileNode.newBuilder().setName("bar").build())).build(), /* pathDigests=*/
    new Stack<>(), /* visited=*/
    Sets.newHashSet(), /* directoriesIndex=*/
    Maps.newHashMap(), /* onInputFiles=*/
    file -> {
    }, /* onInputDirectories=*/
    directory -> {
    }, /* onInputDigests=*/
    digest -> {
    }, preconditionFailure);
    assertThat(preconditionFailure.getViolationsCount()).isEqualTo(1);
    Violation violation = preconditionFailure.getViolationsList().get(0);
    assertThat(violation.getType()).isEqualTo(VIOLATION_TYPE_INVALID);
    assertThat(violation.getSubject()).isEqualTo("/: foo > bar");
    assertThat(violation.getDescription()).isEqualTo(DIRECTORY_NOT_SORTED);
}
Also used : Violation(com.google.rpc.PreconditionFailure.Violation) PreconditionFailure(com.google.rpc.PreconditionFailure) Test(org.junit.Test)

Example 8 with Violation

use of com.google.rpc.PreconditionFailure.Violation in project bazel-buildfarm by bazelbuild.

the class AbstractServerInstanceTest method emptyArgumentListIsInvalid.

@Test
public void emptyArgumentListIsInvalid() {
    AbstractServerInstance instance = new DummyServerInstance();
    PreconditionFailure.Builder preconditionFailureBuilder = PreconditionFailure.newBuilder();
    instance.validateCommand(Command.getDefaultInstance(), DIGEST_UTIL.empty(), ImmutableSet.of(), ImmutableSet.of(), ImmutableMap.of(), preconditionFailureBuilder);
    PreconditionFailure preconditionFailure = preconditionFailureBuilder.build();
    assertThat(preconditionFailure.getViolationsCount()).isEqualTo(1);
    Violation violation = preconditionFailure.getViolationsList().get(0);
    assertThat(violation.getType()).isEqualTo(VIOLATION_TYPE_INVALID);
    assertThat(violation.getSubject()).isEqualTo(INVALID_COMMAND);
    assertThat(violation.getDescription()).isEqualTo("argument list is empty");
}
Also used : Violation(com.google.rpc.PreconditionFailure.Violation) PreconditionFailure(com.google.rpc.PreconditionFailure) Test(org.junit.Test)

Example 9 with Violation

use of com.google.rpc.PreconditionFailure.Violation in project bazel-buildfarm by bazelbuild.

the class AbstractServerInstanceTest method absoluteWorkingDirectoryIsInvalid.

@Test
public void absoluteWorkingDirectoryIsInvalid() {
    AbstractServerInstance instance = new DummyServerInstance();
    PreconditionFailure.Builder preconditionFailureBuilder = PreconditionFailure.newBuilder();
    instance.validateCommand(Command.newBuilder().addArguments("foo").setWorkingDirectory("/var/lib/db").build(), DIGEST_UTIL.empty(), ImmutableSet.of(), ImmutableSet.of(), ImmutableMap.of(), preconditionFailureBuilder);
    PreconditionFailure preconditionFailure = preconditionFailureBuilder.build();
    assertThat(preconditionFailure.getViolationsCount()).isEqualTo(1);
    Violation violation = preconditionFailure.getViolationsList().get(0);
    assertThat(violation.getType()).isEqualTo(VIOLATION_TYPE_INVALID);
    assertThat(violation.getSubject()).isEqualTo(INVALID_COMMAND);
    assertThat(violation.getDescription()).isEqualTo("working directory is absolute");
}
Also used : Violation(com.google.rpc.PreconditionFailure.Violation) PreconditionFailure(com.google.rpc.PreconditionFailure) Test(org.junit.Test)

Example 10 with Violation

use of com.google.rpc.PreconditionFailure.Violation in project bazel-buildfarm by bazelbuild.

the class AbstractServerInstanceTest method duplicateDirectoryInputIsInvalid.

@Test
public void duplicateDirectoryInputIsInvalid() {
    Directory emptyDirectory = Directory.getDefaultInstance();
    Digest emptyDirectoryDigest = DIGEST_UTIL.compute(emptyDirectory);
    PreconditionFailure.Builder preconditionFailure = PreconditionFailure.newBuilder();
    AbstractServerInstance.validateActionInputDirectory(ACTION_INPUT_ROOT_DIRECTORY_PATH, Directory.newBuilder().addAllDirectories(ImmutableList.of(DirectoryNode.newBuilder().setName("foo").setDigest(emptyDirectoryDigest).build(), DirectoryNode.newBuilder().setName("foo").setDigest(emptyDirectoryDigest).build())).build(), /* pathDigests=*/
    new Stack<>(), /* visited=*/
    Sets.newHashSet(), /* directoriesIndex=*/
    ImmutableMap.of(emptyDirectoryDigest, emptyDirectory), /* onInputFiles=*/
    file -> {
    }, /* onInputDirectories=*/
    directory -> {
    }, /* onInputDigests=*/
    digest -> {
    }, preconditionFailure);
    assertThat(preconditionFailure.getViolationsCount()).isEqualTo(1);
    assertThat(preconditionFailure.getViolationsCount()).isEqualTo(1);
    Violation violation = preconditionFailure.getViolationsList().get(0);
    assertThat(violation.getType()).isEqualTo(VIOLATION_TYPE_INVALID);
    assertThat(violation.getSubject()).isEqualTo("/: foo");
    assertThat(violation.getDescription()).isEqualTo(DUPLICATE_DIRENT);
}
Also used : Violation(com.google.rpc.PreconditionFailure.Violation) PreconditionFailure(com.google.rpc.PreconditionFailure) Digest(build.bazel.remote.execution.v2.Digest) OutputDirectory(build.bazel.remote.execution.v2.OutputDirectory) Directory(build.bazel.remote.execution.v2.Directory) Test(org.junit.Test)

Aggregations

PreconditionFailure (com.google.rpc.PreconditionFailure)12 Violation (com.google.rpc.PreconditionFailure.Violation)12 Test (org.junit.Test)11 Digest (build.bazel.remote.execution.v2.Digest)4 Directory (build.bazel.remote.execution.v2.Directory)2 OutputDirectory (build.bazel.remote.execution.v2.OutputDirectory)2 ActionCacheGrpc (build.bazel.remote.execution.v2.ActionCacheGrpc)1 ContentAddressableStorageGrpc (build.bazel.remote.execution.v2.ContentAddressableStorageGrpc)1 ExecuteOperationMetadata (build.bazel.remote.execution.v2.ExecuteOperationMetadata)1 ExecuteResponse (build.bazel.remote.execution.v2.ExecuteResponse)1 ExecutionGrpc (build.bazel.remote.execution.v2.ExecutionGrpc)1 Actions.checkPreconditionFailure (build.buildfarm.common.Actions.checkPreconditionFailure)1 OperationQueueGrpc (build.buildfarm.v1test.OperationQueueGrpc)1 ByteStreamGrpc (com.google.bytestream.ByteStreamGrpc)1 Operation (com.google.longrunning.Operation)1 OperationsGrpc (com.google.longrunning.OperationsGrpc)1 Any (com.google.protobuf.Any)1 ByteString (com.google.protobuf.ByteString)1 InvalidProtocolBufferException (com.google.protobuf.InvalidProtocolBufferException)1