[INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building Bitrepository Client 1.10-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-clean-plugin:3.1.0:clean (default-clean) @ bitrepository-client --- [INFO] Deleting /home/cibuild01/workspace/Bitrepository-reference-test/bitrepository-client/target [INFO] [INFO] --- maven-enforcer-plugin:3.0.0-M3:enforce (enforce-maven) @ bitrepository-client --- [INFO] [INFO] --- jacoco-maven-plugin:0.8.5:prepare-agent (default) @ bitrepository-client --- [INFO] argLine set to -javaagent:/home/cibuild01/.m2/repository/org/jacoco/org.jacoco.agent/0.8.5/org.jacoco.agent-0.8.5-runtime.jar=destfile=/home/cibuild01/workspace/Bitrepository-reference-test/bitrepository-client/target/jacoco.exec [INFO] [INFO] --- maven-resources-plugin:3.1.0:resources (default-resources) @ bitrepository-client --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 4 resources [INFO] [INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ bitrepository-client --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 130 source files to /home/cibuild01/workspace/Bitrepository-reference-test/bitrepository-client/target/classes [WARNING] /home/cibuild01/workspace/Bitrepository-reference-test/bitrepository-client/src/main/java/org/bitrepository/commandline/utils/CommandLineArgumentsHandler.java:[130,29] redundant cast to java.util.Collection [INFO] [INFO] --- forbiddenapis:2.7:check (default) @ bitrepository-client --- [INFO] Scanning for classes to check... [INFO] Reading bundled API signatures: jdk-unsafe-1.8 [INFO] Reading bundled API signatures: jdk-deprecated-1.8 [INFO] Reading bundled API signatures: jdk-non-portable [INFO] Reading bundled API signatures: jdk-reflection [INFO] Loading classes to check... [INFO] Scanning classes for violations... [INFO] Scanned 137 class file(s) for forbidden API invocations (in 0.22s), 0 error(s). [INFO] [INFO] --- forbiddenapis:2.7:testCheck (default) @ bitrepository-client --- [INFO] Scanning for classes to check... [WARNING] Classes directory does not exist, forbiddenapis check skipped: /home/cibuild01/workspace/Bitrepository-reference-test/bitrepository-client/target/test-classes [INFO] [INFO] --- maven-resources-plugin:3.1.0:testResources (default-testResources) @ bitrepository-client --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] skip non existing resourceDirectory /home/cibuild01/workspace/Bitrepository-reference-test/bitrepository-client/src/test/resources [INFO] [INFO] --- maven-compiler-plugin:3.8.1:testCompile (default-testCompile) @ bitrepository-client --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 41 source files to /home/cibuild01/workspace/Bitrepository-reference-test/bitrepository-client/target/test-classes [INFO] [INFO] --- maven-surefire-plugin:3.0.0-M4:test (default-test) @ bitrepository-client --- [INFO] [INFO] ------------------------------------------------------- [INFO] T E S T S [INFO] ------------------------------------------------------- [INFO] Running TestSuite Starting test project Core module test Suite: Surefire suite Starting testcase ChecksumExtractionUtilsTest Test starting: testDefaultChecksumSpec Description: Test that the default checksum is retrieved when no arguments are given. Test success: testDefaultChecksumSpec Test starting: testDefaultChecksumSpecWithSaltArgument Description: Test that the HMAC version of default checksum is retrieved when the salt arguments are given. Test success: testDefaultChecksumSpecWithSaltArgument Test starting: testNonSaltChecksumSpecWithSaltArgument Description: Test that a salt checksum type is retrieved even though a non-salt checksum algorithm it is given as argument, but a salt argument also is given. Test success: testNonSaltChecksumSpecWithSaltArgument Test starting: testNonSaltChecksumSpecWithoutSaltArgument Description: Test that a non-salt checksum type is retrieved when it is given as argument, and no salt arguments are given. Test success: testNonSaltChecksumSpecWithoutSaltArgument Test starting: testSaltChecksumSpecWithSaltArgument Description: Test that a salt checksum type is retrieved when the salt checksum algorithm it is given as argument, and a salt argument also is given. Test success: testSaltChecksumSpecWithSaltArgument Test starting: testSaltChecksumSpecWithoutSaltArgument Description: Test that a non-salt checksum type is retrieved even though a salt checksum algorithm it is given as argument, but no salt argument also is given. Test success: testSaltChecksumSpecWithoutSaltArgument Starting testcase GetChecksumsClientComponentTest Test starting: collectionIDIncludedInEventsTest Description: Tests the the client provides collectionID in events. Step: Set a 0.5 second operation timeout. Step: Start the operation Stimuli: Calling getChecksums(null, null, null, null, org.bitrepository.client.TestEventHandler@7df0bb1, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetChecksumsRequest@4d992634[correlationID=db402eb0-891e-4710-add3-3e13a0092aff, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetChecksumsClientComponentTest-cibuild01, from=collectionIDIncludedInEventsTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@4ad0465c[fileID=(default), allFileIDs=true], checksumRequestForExistingFile=(default)] Result: Received event: db402eb0: GET_CHECKSUMS: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetChecksums Step: Send positive responses from the pillar1 and a negative response from pillar2 Result: Received event: db402eb0: GET_CHECKSUMS: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: db402eb0: GET_CHECKSUMS: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: IDENTIFICATION_NEGATIVE Result: Received event: db402eb0: GET_CHECKSUMS: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: db402eb0: GET_CHECKSUMS: REQUEST_SENT: ContributorID [Pillar1], Sending GetChecksumsRequest's Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetChecksumsRequest@3796ca50[correlationID=db402eb0-891e-4710-add3-3e13a0092aff, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetChecksumsClientComponentTest-cibuild01, from=collectionIDIncludedInEventsTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar1, fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@55154761[fileID=(default), allFileIDs=true], minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), checksumRequestForExistingFile=(default), resultAddress=(default)] Step: Wait for 1 second Result: Received event: db402eb0: GET_CHECKSUMS: FAILED: , Failed to receive responses from all contributors before timeout(500ms). Missing contributors [Pillar1] Test success: collectionIDIncludedInEventsTest Starting testcase GetFileIDsClientComponentTest 14:32:15.300 ERROR o.b.a.g.c.GettingChecksums - Failing conversation 'GetChecksumsConversationContext{collectionID='TwoPillarCollection', conversationID='db402eb0-891e-4710-add3-3e13a0092aff', clientID='collectionIDIncludedInEventsTest', fileID='null', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='db402eb0', operationType=GET_CHECKSUMS, fileID='null', eventHandler=org.bitrepository.client.TestEventHandler@7df0bb1, contributorCompleteEvents=[], contributorFailedEvents=[db402eb0: GET_CHECKSUMS: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: IDENTIFICATION_NEGATIVE], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@7901fd53, checksumPillars=[]}' with exception org.bitrepository.common.exceptions.UnableToFinishException: Failed to receive responses from all contributors before timeout(500ms). Missing contributors [Pillar1] at org.bitrepository.client.conversation.PerformingOperationState.logStateTimeout(PerformingOperationState.java:82) at org.bitrepository.client.conversation.GeneralConversationState$TimeoutHandler.run(GeneralConversationState.java:133) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Test starting: collectionIDIncludedInEventsTest Description: Tests the the client provides collectionID in events. Step: Set a 0.5 second operation timeout. Step: Start the operation Stimuli: Calling getFileIDs(null, null, null, org.bitrepository.client.TestEventHandler@467f97e) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileIDsRequest@18f37d6e[correlationID=0de79ef1-2c46-4062-9b77-07e6ce52649a, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileIDsClientComponentTest-cibuild01, from=collectionIDIncludedInEventsTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@3d1b91d1[fileID=(default), allFileIDs=true]] Result: Received event: 0de79ef1: GET_FILE_IDS: IDENTIFY_REQUEST_SENT: , Identifying contributers for get fileIDs Step: Send positive responses from the pillar1 and a negative response from pillar2 Result: Received event: 0de79ef1: GET_FILE_IDS: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: 0de79ef1: GET_FILE_IDS: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: IDENTIFICATION_NEGATIVE Result: Received event: 0de79ef1: GET_FILE_IDS: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: 0de79ef1: GET_FILE_IDS: REQUEST_SENT: ContributorID [Pillar1], Sending request for get fileIDs Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileIDsRequest@19cb3f[correlationID=0de79ef1-2c46-4062-9b77-07e6ce52649a, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetFileIDsClientComponentTest-cibuild01, from=collectionIDIncludedInEventsTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar1, fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@738a1324[fileID=(default), allFileIDs=true], minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), resultAddress=(default)] Step: Wait for 1 second Result: Received event: 0de79ef1: GET_FILE_IDS: FAILED: , Failed to receive responses from all contributors before timeout(500ms). Missing contributors [Pillar1] 14:32:16.060 ERROR o.b.a.g.conversation.GettingFileIDs - Failing conversation 'GetFileIDsConversationContext{collectionID='TwoPillarCollection', conversationID='0de79ef1-2c46-4062-9b77-07e6ce52649a', clientID='collectionIDIncludedInEventsTest', fileID='null', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='0de79ef1', operationType=GET_FILE_IDS, fileID='null', eventHandler=org.bitrepository.client.TestEventHandler@467f97e, contributorCompleteEvents=[], contributorFailedEvents=[0de79ef1: GET_FILE_IDS: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: IDENTIFICATION_NEGATIVE], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@6e8eee58, checksumPillars=[]}' with exception org.bitrepository.common.exceptions.UnableToFinishException: Failed to receive responses from all contributors before timeout(500ms). Missing contributors [Pillar1] at org.bitrepository.client.conversation.PerformingOperationState.logStateTimeout(PerformingOperationState.java:82) at org.bitrepository.client.conversation.GeneralConversationState$TimeoutHandler.run(GeneralConversationState.java:133) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Test success: collectionIDIncludedInEventsTest Test starting: conversationTimeoutTest Description: Tests the the client handles lack of IdentifyPillarResponses gracefully Step: Set a 100 ms ConversationTimeout. Step: Start the operation Stimuli: Calling getChecksums(null, null, null, null, org.bitrepository.client.TestEventHandler@7df0bb1, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetChecksumsRequest@21f41593[correlationID=56886a4e-4719-44f0-915f-02cfbafb7ed0, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetChecksumsClientComponentTest-cibuild01, from=conversationTimeoutTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@5ceeab0c[fileID=(default), allFileIDs=true], checksumRequestForExistingFile=(default)] Result: Received event: 56886a4e: GET_CHECKSUMS: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetChecksums 14:32:17.333 WARN o.b.c.c.m.CollectionBasedConversationMediator - Failing timed out conversation 56886a4e-4719-44f0-915f-02cfbafb7ed0 (Age 1000ms) Result: Received event: 56886a4e: GET_CHECKSUMS: FAILED: , Failing timed out conversation 56886a4e-4719-44f0-915f-02cfbafb7ed0 Test success: conversationTimeoutTest Test starting: conversationTimeoutTest Description: Tests the the client handles lack of IdentifyPillarResponses gracefully Step: Set a 100 ms ConversationTimeout. Step: Start the operation Stimuli: Calling getFileIDs(null, null, null, org.bitrepository.client.TestEventHandler@467f97e) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileIDsRequest@1b557402[correlationID=d684f281-a94d-4c27-9227-6dc1e4aa22e0, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileIDsClientComponentTest-cibuild01, from=conversationTimeoutTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@71a2a9a0[fileID=(default), allFileIDs=true]] Result: Received event: d684f281: GET_FILE_IDS: IDENTIFY_REQUEST_SENT: , Identifying contributers for get fileIDs 14:32:18.583 WARN o.b.c.c.m.CollectionBasedConversationMediator - Failing timed out conversation d684f281-a94d-4c27-9227-6dc1e4aa22e0 (Age 998ms) Result: Received event: d684f281: GET_FILE_IDS: FAILED: , Failing timed out conversation d684f281-a94d-4c27-9227-6dc1e4aa22e0 Test success: conversationTimeoutTest Test starting: identificationFailureTest Description: Verify that the client works correctly when a contributor sends a failure response. Step: Start the operation. Stimuli: Calling getChecksums(null, null, null, null, org.bitrepository.client.TestEventHandler@7df0bb1, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetChecksumsRequest@30b5225b[correlationID=8b1a879c-1a4e-4964-ae31-ed4f397e6542, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetChecksumsClientComponentTest-cibuild01, from=identificationFailureTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@3b035d0c[fileID=(default), allFileIDs=true], checksumRequestForExistingFile=(default)] Result: Received event: 8b1a879c: GET_CHECKSUMS: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetChecksums Step: Send a identification response from contributor1 with a FAILURE response code. Result: Received event: 8b1a879c: GET_CHECKSUMS: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE Step: Send a identification response from contributor2 with a IDENTIFICATION_POSITIVE response code . Result: Received event: 8b1a879c: GET_CHECKSUMS: COMPONENT_IDENTIFIED: ContributorID Pillar2 Result: Received event: 8b1a879c: GET_CHECKSUMS: IDENTIFICATION_COMPLETE: Contributors: [Pillar2] Result: Received event: 8b1a879c: GET_CHECKSUMS: REQUEST_SENT: ContributorID [Pillar2], Sending GetChecksumsRequest's Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetChecksumsRequest@35b97c69[correlationID=8b1a879c-1a4e-4964-ae31-ed4f397e6542, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-GetChecksumsClientComponentTest-cibuild01, from=identificationFailureTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar2, fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@2c07277f[fileID=(default), allFileIDs=true], minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), checksumRequestForExistingFile=(default), resultAddress=(default)] Step: Verify that the client continues to the performing phase. Step: Send a final response message from contributor2 Result: Received event: 8b1a879c: GET_CHECKSUMS: COMPONENT_COMPLETE: ContributorID Pillar2, PartialResult=false Result: Received event: 8b1a879c: GET_CHECKSUMS: FAILED: , Failed operation. Cause(s): [8b1a879c: GET_CHECKSUMS: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE] Test success: identificationFailureTest Test starting: identificationFailureTest Description: Verify that the client works correctly when a contributor sends a failure response. Step: Start the operation. Stimuli: Calling getFileIDs(null, null, null, org.bitrepository.client.TestEventHandler@467f97e) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileIDsRequest@22aaa811[correlationID=36168753-b1a9-43ba-94f2-46a85b94f6f3, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileIDsClientComponentTest-cibuild01, from=identificationFailureTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@1df6f57d[fileID=(default), allFileIDs=true]] Result: Received event: 36168753: GET_FILE_IDS: IDENTIFY_REQUEST_SENT: , Identifying contributers for get fileIDs Step: Send a identification response from contributor1 with a FAILURE response code. Result: Received event: 36168753: GET_FILE_IDS: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE Step: Send a identification response from contributor2 with a IDENTIFICATION_POSITIVE response code . Result: Received event: 36168753: GET_FILE_IDS: COMPONENT_IDENTIFIED: ContributorID Pillar2 Result: Received event: 36168753: GET_FILE_IDS: IDENTIFICATION_COMPLETE: Contributors: [Pillar2] Result: Received event: 36168753: GET_FILE_IDS: REQUEST_SENT: ContributorID [Pillar2], Sending request for get fileIDs Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileIDsRequest@36cc6055[correlationID=36168753-b1a9-43ba-94f2-46a85b94f6f3, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-GetFileIDsClientComponentTest-cibuild01, from=identificationFailureTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar2, fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@41d1bcbd[fileID=(default), allFileIDs=true], minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), resultAddress=(default)] Step: Verify that the client continues to the performing phase. Step: Send a final response message from contributor2 Result: Received event: 36168753: GET_FILE_IDS: COMPONENT_COMPLETE: ContributorID Pillar2, PartialResult=false Result: Received event: 36168753: GET_FILE_IDS: FAILED: , Failed operation. Cause(s): [36168753: GET_FILE_IDS: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE] Test success: identificationFailureTest Test starting: identificationNegativeTest Description: Verify that the client works correctly when a contributor sends a negative response. Step: Start the operation. Stimuli: Calling getChecksums(null, null, null, null, org.bitrepository.client.TestEventHandler@7df0bb1, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetChecksumsRequest@49696c41[correlationID=28776573-4283-4006-8b19-c97a3ee80c2e, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetChecksumsClientComponentTest-cibuild01, from=identificationNegativeTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@595713f3[fileID=(default), allFileIDs=true], checksumRequestForExistingFile=(default)] Result: Received event: 28776573: GET_CHECKSUMS: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetChecksums Step: Send a identification response from contributor1 with a IDENTIFICATION_NEGATIVE response code . Result: Received event: 28776573: GET_CHECKSUMS: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: IDENTIFICATION_NEGATIVE Step: Send a identification response from contributor2 with a IDENTIFICATION_POSITIVE response code . Result: Received event: 28776573: GET_CHECKSUMS: COMPONENT_IDENTIFIED: ContributorID Pillar2 Result: Received event: 28776573: GET_CHECKSUMS: IDENTIFICATION_COMPLETE: Contributors: [Pillar2] Result: Received event: 28776573: GET_CHECKSUMS: REQUEST_SENT: ContributorID [Pillar2], Sending GetChecksumsRequest's Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetChecksumsRequest@7c9a39cb[correlationID=28776573-4283-4006-8b19-c97a3ee80c2e, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-GetChecksumsClientComponentTest-cibuild01, from=identificationNegativeTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar2, fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@7e93497d[fileID=(default), allFileIDs=true], minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), checksumRequestForExistingFile=(default), resultAddress=(default)] Step: Verify that the client continues to the performing phase. Step: Send a final response message from contributor2 Result: Received event: 28776573: GET_CHECKSUMS: COMPONENT_COMPLETE: ContributorID Pillar2, PartialResult=false Result: Received event: 28776573: GET_CHECKSUMS: FAILED: , Failed operation. Cause(s): [28776573: GET_CHECKSUMS: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: IDENTIFICATION_NEGATIVE] Test success: identificationNegativeTest Test starting: identificationNegativeTest Description: Verify that the client works correctly when a contributor sends a negative response. Step: Start the operation. Stimuli: Calling getFileIDs(null, null, null, org.bitrepository.client.TestEventHandler@467f97e) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileIDsRequest@28261231[correlationID=1b2f908d-640c-4860-a12f-873c85cccfcf, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileIDsClientComponentTest-cibuild01, from=identificationNegativeTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@5f709e71[fileID=(default), allFileIDs=true]] Result: Received event: 1b2f908d: GET_FILE_IDS: IDENTIFY_REQUEST_SENT: , Identifying contributers for get fileIDs Step: Send a identification response from contributor1 with a IDENTIFICATION_NEGATIVE response code . Result: Received event: 1b2f908d: GET_FILE_IDS: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: IDENTIFICATION_NEGATIVE Step: Send a identification response from contributor2 with a IDENTIFICATION_POSITIVE response code . Result: Received event: 1b2f908d: GET_FILE_IDS: COMPONENT_IDENTIFIED: ContributorID Pillar2 Result: Received event: 1b2f908d: GET_FILE_IDS: IDENTIFICATION_COMPLETE: Contributors: [Pillar2] Result: Received event: 1b2f908d: GET_FILE_IDS: REQUEST_SENT: ContributorID [Pillar2], Sending request for get fileIDs Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileIDsRequest@302ab67e[correlationID=1b2f908d-640c-4860-a12f-873c85cccfcf, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-GetFileIDsClientComponentTest-cibuild01, from=identificationNegativeTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar2, fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@28058dd0[fileID=(default), allFileIDs=true], minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), resultAddress=(default)] Step: Verify that the client continues to the performing phase. Step: Send a final response message from contributor2 Result: Received event: 1b2f908d: GET_FILE_IDS: COMPONENT_COMPLETE: ContributorID Pillar2, PartialResult=false Result: Received event: 1b2f908d: GET_FILE_IDS: FAILED: , Failed operation. Cause(s): [1b2f908d: GET_FILE_IDS: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: IDENTIFICATION_NEGATIVE] Test success: identificationNegativeTest Test starting: noContributorsRespondingTest Description: Tests the the client handles lack of a IdentifyResponse gracefully. More concrete this means that the occurrence of a identification timeout should be handled correctly Step: Set a 100 ms timeout for identifying contributors. Step: Start the operation. Stimuli: Calling getChecksums(null, null, null, null, org.bitrepository.client.TestEventHandler@7df0bb1, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetChecksumsRequest@1928dc66[correlationID=4ff376bd-21d2-47e8-a908-bfdd22987b69, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetChecksumsClientComponentTest-cibuild01, from=noContributorsRespondingTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@3dad8926[fileID=(default), allFileIDs=true], checksumRequestForExistingFile=(default)] Result: Received event: 4ff376bd: GET_CHECKSUMS: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetChecksums Step: Wait for 1 second Result: Received event: 4ff376bd: GET_CHECKSUMS: IDENTIFY_TIMEOUT: , Time has run out for looking up contributors The following contributors didn't respond: [Pillar1, Pillar2] Result: Received event: 4ff376bd: GET_CHECKSUMS: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor Result: Received event: 4ff376bd: GET_CHECKSUMS: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor Result: Received event: 4ff376bd: GET_CHECKSUMS: FAILED: , Unable to continue operation, contributors unavailable. 14:32:23.904 ERROR o.b.a.g.c.IdentifyPillarsForGetChecksums - Failing conversation 'GetChecksumsConversationContext{collectionID='TwoPillarCollection', conversationID='4ff376bd-21d2-47e8-a908-bfdd22987b69', clientID='noContributorsRespondingTest', fileID='null', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='4ff376bd', operationType=GET_CHECKSUMS, fileID='null', eventHandler=org.bitrepository.client.TestEventHandler@7df0bb1, contributorCompleteEvents=[], contributorFailedEvents=[4ff376bd: GET_CHECKSUMS: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor, 4ff376bd: GET_CHECKSUMS: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@18936dbf, checksumPillars=[]}' with exception org.bitrepository.common.exceptions.UnableToFinishException: Unable to continue operation, contributors unavailable. at org.bitrepository.client.conversation.IdentifyingState.completeState(IdentifyingState.java:76) at org.bitrepository.client.conversation.GeneralConversationState.changeState(GeneralConversationState.java:147) at org.bitrepository.client.conversation.GeneralConversationState.access$100(GeneralConversationState.java:48) at org.bitrepository.client.conversation.GeneralConversationState$TimeoutHandler.run(GeneralConversationState.java:134) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Test success: noContributorsRespondingTest Result: The following messages haven't been handled by the testcase: org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetChecksumsRequest@1928dc66[correlationID=4ff376bd-21d2-47e8-a908-bfdd22987b69, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetChecksumsClientComponentTest-cibuild01, from=noContributorsRespondingTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@3dad8926[fileID=(default), allFileIDs=true], checksumRequestForExistingFile=(default)] 14:32:23.909 WARN o.b.protocol.bus.MessageReceiver - The following messages haven't been handled by the testcase: org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetChecksumsRequest@1928dc66[correlationID=4ff376bd-21d2-47e8-a908-bfdd22987b69, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetChecksumsClientComponentTest-cibuild01, from=noContributorsRespondingTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@3dad8926[fileID=(default), allFileIDs=true], checksumRequestForExistingFile=(default)] Test starting: noContributorsRespondingTest Description: Tests the the client handles lack of a IdentifyResponse gracefully. More concrete this means that the occurrence of a identification timeout should be handled correctly Step: Set a 100 ms timeout for identifying contributors. Step: Start the operation. Stimuli: Calling getFileIDs(null, null, null, org.bitrepository.client.TestEventHandler@467f97e) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileIDsRequest@689f60ea[correlationID=70400cf3-00bc-4084-99c0-9bc58c5b6da1, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileIDsClientComponentTest-cibuild01, from=noContributorsRespondingTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@6267b25a[fileID=(default), allFileIDs=true]] Result: Received event: 70400cf3: GET_FILE_IDS: IDENTIFY_REQUEST_SENT: , Identifying contributers for get fileIDs Step: Wait for 1 second Result: Received event: 70400cf3: GET_FILE_IDS: IDENTIFY_TIMEOUT: , Time has run out for looking up contributors The following contributors didn't respond: [Pillar1, Pillar2] Result: Received event: 70400cf3: GET_FILE_IDS: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor Result: Received event: 70400cf3: GET_FILE_IDS: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor Result: Received event: 70400cf3: GET_FILE_IDS: FAILED: , Unable to continue operation, contributors unavailable. 14:32:24.240 ERROR o.b.a.g.c.IdentifyPillarsForGetFileIDs - Failing conversation 'GetFileIDsConversationContext{collectionID='TwoPillarCollection', conversationID='70400cf3-00bc-4084-99c0-9bc58c5b6da1', clientID='noContributorsRespondingTest', fileID='null', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='70400cf3', operationType=GET_FILE_IDS, fileID='null', eventHandler=org.bitrepository.client.TestEventHandler@467f97e, contributorCompleteEvents=[], contributorFailedEvents=[70400cf3: GET_FILE_IDS: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor, 70400cf3: GET_FILE_IDS: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@7c51ee92, checksumPillars=[]}' with exception org.bitrepository.common.exceptions.UnableToFinishException: Unable to continue operation, contributors unavailable. at org.bitrepository.client.conversation.IdentifyingState.completeState(IdentifyingState.java:76) at org.bitrepository.client.conversation.GeneralConversationState.changeState(GeneralConversationState.java:147) at org.bitrepository.client.conversation.GeneralConversationState.access$100(GeneralConversationState.java:48) at org.bitrepository.client.conversation.GeneralConversationState$TimeoutHandler.run(GeneralConversationState.java:134) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Test success: noContributorsRespondingTest Result: The following messages haven't been handled by the testcase: org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileIDsRequest@689f60ea[correlationID=70400cf3-00bc-4084-99c0-9bc58c5b6da1, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileIDsClientComponentTest-cibuild01, from=noContributorsRespondingTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@6267b25a[fileID=(default), allFileIDs=true]] 14:32:24.243 WARN o.b.protocol.bus.MessageReceiver - The following messages haven't been handled by the testcase: org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileIDsRequest@689f60ea[correlationID=70400cf3-00bc-4084-99c0-9bc58c5b6da1, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileIDsClientComponentTest-cibuild01, from=noContributorsRespondingTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@6267b25a[fileID=(default), allFileIDs=true]] Test starting: oneContributorNotRespondingTest Description: Verify that the client works correct without receiving identification responses from all contributors. Added fixture: Set the a identification timeout to 100 ms. Step: Start the operation. Stimuli: Calling getChecksums(null, null, null, null, org.bitrepository.client.TestEventHandler@7df0bb1, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetChecksumsRequest@62c4ad40[correlationID=67492511-99b8-435f-96d7-23c44843710b, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetChecksumsClientComponentTest-cibuild01, from=oneContributorNotRespondingTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@19bd1f98[fileID=(default), allFileIDs=true], checksumRequestForExistingFile=(default)] Result: Received event: 67492511: GET_CHECKSUMS: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetChecksums Step: Send a identification response from contributor1. Result: Received event: 67492511: GET_CHECKSUMS: COMPONENT_IDENTIFIED: ContributorID Pillar1 Step: Wait 1 second. Result: Received event: 67492511: GET_CHECKSUMS: IDENTIFY_TIMEOUT: , Time has run out for looking up contributors The following contributors didn't respond: [Pillar2] Result: Received event: 67492511: GET_CHECKSUMS: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor Result: Received event: 67492511: GET_CHECKSUMS: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: 67492511: GET_CHECKSUMS: REQUEST_SENT: ContributorID [Pillar1], Sending GetChecksumsRequest's Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetChecksumsRequest@58a0f896[correlationID=67492511-99b8-435f-96d7-23c44843710b, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetChecksumsClientComponentTest-cibuild01, from=oneContributorNotRespondingTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar1, fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@414531f4[fileID=(default), allFileIDs=true], minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), checksumRequestForExistingFile=(default), resultAddress=(default)] Step: Verify that the client continues to the performing phase. Step: Send a final response upload message Result: Received event: 67492511: GET_CHECKSUMS: COMPONENT_COMPLETE: ContributorID Pillar1, PartialResult=false Result: Received event: 67492511: GET_CHECKSUMS: FAILED: , Failed operation. Cause(s): [67492511: GET_CHECKSUMS: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor] Test success: oneContributorNotRespondingTest Test starting: oneContributorNotRespondingTest Description: Verify that the client works correct without receiving identification responses from all contributors. Added fixture: Set the a identification timeout to 100 ms. Step: Start the operation. Stimuli: Calling getFileIDs(null, null, null, org.bitrepository.client.TestEventHandler@467f97e) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileIDsRequest@7d33e32b[correlationID=335fd266-8ad7-420e-9c32-2c41144bdf1e, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileIDsClientComponentTest-cibuild01, from=oneContributorNotRespondingTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@47ce44ab[fileID=(default), allFileIDs=true]] Result: Received event: 335fd266: GET_FILE_IDS: IDENTIFY_REQUEST_SENT: , Identifying contributers for get fileIDs Step: Send a identification response from contributor1. Result: Received event: 335fd266: GET_FILE_IDS: COMPONENT_IDENTIFIED: ContributorID Pillar1 Step: Wait 1 second. Result: Received event: 335fd266: GET_FILE_IDS: IDENTIFY_TIMEOUT: , Time has run out for looking up contributors The following contributors didn't respond: [Pillar2] Result: Received event: 335fd266: GET_FILE_IDS: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor Result: Received event: 335fd266: GET_FILE_IDS: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: 335fd266: GET_FILE_IDS: REQUEST_SENT: ContributorID [Pillar1], Sending request for get fileIDs Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileIDsRequest@42b842f6[correlationID=335fd266-8ad7-420e-9c32-2c41144bdf1e, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetFileIDsClientComponentTest-cibuild01, from=oneContributorNotRespondingTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar1, fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@316e014d[fileID=(default), allFileIDs=true], minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), resultAddress=(default)] Step: Verify that the client continues to the performing phase. Step: Send a final response upload message Result: Received event: 335fd266: GET_FILE_IDS: COMPONENT_COMPLETE: ContributorID Pillar1, PartialResult=false Result: Received event: 335fd266: GET_FILE_IDS: FAILED: , Failed operation. Cause(s): [335fd266: GET_FILE_IDS: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor] Test success: oneContributorNotRespondingTest Test starting: operationTimeoutTest Description: Tests the the client handles lack of final responses gracefully. Step: Set a 100 ms operation timeout. Step: Start the operation Stimuli: Calling getChecksums(null, null, null, null, org.bitrepository.client.TestEventHandler@7df0bb1, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetChecksumsRequest@4d687300[correlationID=281085a4-7f9e-4e1b-b74e-6623a5901ab1, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetChecksumsClientComponentTest-cibuild01, from=operationTimeoutTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@6b951ee5[fileID=(default), allFileIDs=true], checksumRequestForExistingFile=(default)] Result: Received event: 281085a4: GET_CHECKSUMS: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetChecksums Step: Send positive responses from the pillar1 and a negative response from pillar2 Result: Received event: 281085a4: GET_CHECKSUMS: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: 281085a4: GET_CHECKSUMS: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: IDENTIFICATION_NEGATIVE Result: Received event: 281085a4: GET_CHECKSUMS: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: 281085a4: GET_CHECKSUMS: REQUEST_SENT: ContributorID [Pillar1], Sending GetChecksumsRequest's Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetChecksumsRequest@23938bf7[correlationID=281085a4-7f9e-4e1b-b74e-6623a5901ab1, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetChecksumsClientComponentTest-cibuild01, from=operationTimeoutTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar1, fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@2d6d0cf6[fileID=(default), allFileIDs=true], minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), checksumRequestForExistingFile=(default), resultAddress=(default)] Step: Wait for 1 second Result: Received event: 281085a4: GET_CHECKSUMS: FAILED: , Failed to receive responses from all contributors before timeout(100ms). Missing contributors [Pillar1] 14:32:25.225 ERROR o.b.a.g.c.GettingChecksums - Failing conversation 'GetChecksumsConversationContext{collectionID='TwoPillarCollection', conversationID='281085a4-7f9e-4e1b-b74e-6623a5901ab1', clientID='operationTimeoutTest', fileID='null', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='281085a4', operationType=GET_CHECKSUMS, fileID='null', eventHandler=org.bitrepository.client.TestEventHandler@7df0bb1, contributorCompleteEvents=[], contributorFailedEvents=[281085a4: GET_CHECKSUMS: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: IDENTIFICATION_NEGATIVE], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@6ed52bbe, checksumPillars=[]}' with exception org.bitrepository.common.exceptions.UnableToFinishException: Failed to receive responses from all contributors before timeout(100ms). Missing contributors [Pillar1] at org.bitrepository.client.conversation.PerformingOperationState.logStateTimeout(PerformingOperationState.java:82) at org.bitrepository.client.conversation.GeneralConversationState$TimeoutHandler.run(GeneralConversationState.java:133) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Test success: operationTimeoutTest Test starting: operationTimeoutTest Description: Tests the the client handles lack of final responses gracefully. Step: Set a 100 ms operation timeout. Step: Start the operation Stimuli: Calling getFileIDs(null, null, null, org.bitrepository.client.TestEventHandler@467f97e) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileIDsRequest@5c5e301f[correlationID=e3f1bb9f-865a-4b4d-aa21-b75430b3f179, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileIDsClientComponentTest-cibuild01, from=operationTimeoutTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@2a384b46[fileID=(default), allFileIDs=true]] Result: Received event: e3f1bb9f: GET_FILE_IDS: IDENTIFY_REQUEST_SENT: , Identifying contributers for get fileIDs Step: Send positive responses from the pillar1 and a negative response from pillar2 Result: Received event: e3f1bb9f: GET_FILE_IDS: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: e3f1bb9f: GET_FILE_IDS: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: IDENTIFICATION_NEGATIVE Result: Received event: e3f1bb9f: GET_FILE_IDS: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: e3f1bb9f: GET_FILE_IDS: REQUEST_SENT: ContributorID [Pillar1], Sending request for get fileIDs Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileIDsRequest@1c0697c9[correlationID=e3f1bb9f-865a-4b4d-aa21-b75430b3f179, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetFileIDsClientComponentTest-cibuild01, from=operationTimeoutTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar1, fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@31f5829e[fileID=(default), allFileIDs=true], minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), resultAddress=(default)] Step: Wait for 1 second Result: Received event: e3f1bb9f: GET_FILE_IDS: FAILED: , Failed to receive responses from all contributors before timeout(100ms). Missing contributors [Pillar1] 14:32:25.549 ERROR o.b.a.g.conversation.GettingFileIDs - Failing conversation 'GetFileIDsConversationContext{collectionID='TwoPillarCollection', conversationID='e3f1bb9f-865a-4b4d-aa21-b75430b3f179', clientID='operationTimeoutTest', fileID='null', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='e3f1bb9f', operationType=GET_FILE_IDS, fileID='null', eventHandler=org.bitrepository.client.TestEventHandler@467f97e, contributorCompleteEvents=[], contributorFailedEvents=[e3f1bb9f: GET_FILE_IDS: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: IDENTIFICATION_NEGATIVE], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@6f76d01, checksumPillars=[]}' with exception org.bitrepository.common.exceptions.UnableToFinishException: Failed to receive responses from all contributors before timeout(100ms). Missing contributors [Pillar1] at org.bitrepository.client.conversation.PerformingOperationState.logStateTimeout(PerformingOperationState.java:82) at org.bitrepository.client.conversation.GeneralConversationState$TimeoutHandler.run(GeneralConversationState.java:133) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Test success: operationTimeoutTest Starting testcase DeleteFileCmdTest Test starting: checksumArgumentNonSaltAlgorithmWitoutSaltTest Description: Test MD5 checksum without salt -> no failure Test success: checksumArgumentNonSaltAlgorithmWitoutSaltTest Test starting: checksumArgumentSaltAlgorithmWithSaltTest Description: Test HMAC_SHA256 checksum with salt -> No failure Test success: checksumArgumentSaltAlgorithmWithSaltTest Test starting: defaultSuccessScenarioTest Description: Tests simplest arguments for running the CmdLineClient Test success: defaultSuccessScenarioTest Test starting: missingCollectionArgumentTest Description: Tests the scenario, where the collection arguments is missing. Takes the following arguments: -s The path to the directory with the settings files for the client -k The path to the file containing the private key. -v Makes the client more verbose -c The id for the collection to perform the operation on. -i The id for the file to perform the operation on. -p [OPTIONAL] The id of the pillar where the operation should be performed. If undefined the operation is performed on all pillars. -C [OPTIONAL] The checksum of the file to be deleted. -R [OPTIONAL] The algorithm of checksum to request in the response from the pillars. -S [OPTIONAL] The salt of checksum to request in the response. Requires the ChecksumType argument. Missing argument: Missing required option: c Test success: missingCollectionArgumentTest Test starting: missingFileIDArgumentTest Description: Tests the scenario, where no arguments for file id argument is given. Takes the following arguments: -s The path to the directory with the settings files for the client -k The path to the file containing the private key. -v Makes the client more verbose -c The id for the collection to perform the operation on. -i The id for the file to perform the operation on. -p [OPTIONAL] The id of the pillar where the operation should be performed. If undefined the operation is performed on all pillars. -C [OPTIONAL] The checksum of the file to be deleted. -R [OPTIONAL] The algorithm of checksum to request in the response from the pillars. -S [OPTIONAL] The salt of checksum to request in the response. Requires the ChecksumType argument. Missing argument: Missing required option: i Test success: missingFileIDArgumentTest Test starting: missingPillarArgumentTest Description: Tests the different scenarios, with the pillar argument. Invalid argument: The pillar argument -p must defined for the delete operation, only single pillar deletes are allowed Test success: missingPillarArgumentTest Test starting: unknownPillarArgumentTest Step: Testing against a non-existing pillar id Invalid argument: Random1599827548253pillar is not a valid pillar for collection TwoPillarCollection The collection contains the following pillars: [Pillar1, Pillar2] Test success: unknownPillarArgumentTest Test starting: getChecksumsDeliveredAtUrl Description: Tests the delivery of checksums from all pillars at a given URL. Step: Ensure the delivery file isn't already present on the http server Step: Request the delivery of the checksum of a file from all pillars. Stimuli: Calling getChecksums(null, default-test-file.txt, null, file:../bitrepository-core/src/test/resources/test-files//TEST-CHECKSUM-DELIVERY.xml, org.bitrepository.client.TestEventHandler@8c2bb88, TEST-AUDIT) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetChecksumsRequest@4fe256c0[correlationID=cf1063ba-0d41-4120-aa34-fed289c5a16b, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetChecksumsClientComponentTest-cibuild01, from=getChecksumsDeliveredAtUrl, to=(default), version=31, minVersion=24, auditTrailInformation=TEST-AUDIT, fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@683ba3c1[fileID=default-test-file.txt, allFileIDs=(default)], checksumRequestForExistingFile=(default)] Result: Received event: cf1063ba: GET_CHECKSUMS for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetChecksums Step: The pillar sends a response to the identify message. Result: Received event: cf1063ba: GET_CHECKSUMS for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: cf1063ba: GET_CHECKSUMS for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2 Result: Received event: cf1063ba: GET_CHECKSUMS for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1, Pillar2] Result: Received event: cf1063ba: GET_CHECKSUMS for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1, Pillar2], Sending GetChecksumsRequest's Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetChecksumsRequest@24ad3cd0[correlationID=cf1063ba-0d41-4120-aa34-fed289c5a16b, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetChecksumsClientComponentTest-cibuild01, from=getChecksumsDeliveredAtUrl, to=(default), version=31, minVersion=24, auditTrailInformation=TEST-AUDIT, pillarID=Pillar1, fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@11bdb62f[fileID=default-test-file.txt, allFileIDs=(default)], minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), checksumRequestForExistingFile=(default), resultAddress=file:../bitrepository-core/src/test/resources/test-files//TEST-CHECKSUM-DELIVERY.xml-Pillar1] Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetChecksumsRequest@4b04b77d[correlationID=cf1063ba-0d41-4120-aa34-fed289c5a16b, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-GetChecksumsClientComponentTest-cibuild01, from=getChecksumsDeliveredAtUrl, to=(default), version=31, minVersion=24, auditTrailInformation=TEST-AUDIT, pillarID=Pillar2, fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@13f3a04e[fileID=default-test-file.txt, allFileIDs=(default)], minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), checksumRequestForExistingFile=(default), resultAddress=file:../bitrepository-core/src/test/resources/test-files//TEST-CHECKSUM-DELIVERY.xml-Pillar2] Step: Sends a final response from each pillar Result: Received event: cf1063ba: GET_CHECKSUMS for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, NumberOfChecksums=0, PartialResult=false Result: Received event: cf1063ba: GET_CHECKSUMS for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar2, NumberOfChecksums=0, PartialResult=false Result: Received event: cf1063ba: GET_CHECKSUMS for file default-test-file.txt: COMPLETE: Test success: getChecksumsDeliveredAtUrl Result: The following messages haven't been handled by the testcase: org.bitrepository.bitrepositorymessages.GetChecksumsRequest@4b04b77d[correlationID=cf1063ba-0d41-4120-aa34-fed289c5a16b, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-GetChecksumsClientComponentTest-cibuild01, from=getChecksumsDeliveredAtUrl, to=(default), version=31, minVersion=24, auditTrailInformation=TEST-AUDIT, pillarID=Pillar2, fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@13f3a04e[fileID=default-test-file.txt, allFileIDs=(default)], minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), checksumRequestForExistingFile=(default), resultAddress=file:../bitrepository-core/src/test/resources/test-files//TEST-CHECKSUM-DELIVERY.xml-Pillar2] 14:32:28.593 WARN o.b.protocol.bus.MessageReceiver - The following messages haven't been handled by the testcase: org.bitrepository.bitrepositorymessages.GetChecksumsRequest@4b04b77d[correlationID=cf1063ba-0d41-4120-aa34-fed289c5a16b, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-GetChecksumsClientComponentTest-cibuild01, from=getChecksumsDeliveredAtUrl, to=(default), version=31, minVersion=24, auditTrailInformation=TEST-AUDIT, pillarID=Pillar2, fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@13f3a04e[fileID=default-test-file.txt, allFileIDs=(default)], minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), checksumRequestForExistingFile=(default), resultAddress=file:../bitrepository-core/src/test/resources/test-files//TEST-CHECKSUM-DELIVERY.xml-Pillar2] Test starting: getChecksumsFromOtherCollection Description: Tests the getChecksums client will correctly try to get from a second collection if required Added fixture: Configure collection1 to contain both pillars and collection 2 to only contain pillar2 Step: Request the putting of a file through the PutClient for collection2 Stimuli: Calling getChecksums(null, null, null, null, org.bitrepository.client.TestEventHandler@2273255e, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetChecksumsRequest@34260b5e[correlationID=a7f07e61-cf21-457c-a8a4-9a6d65a95d4c, collectionID=SinglePillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetChecksumsClientComponentTest-cibuild01, from=getChecksumsFromOtherCollection, to=Pillar2, version=31, minVersion=24, auditTrailInformation=(default), fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@467c77b2[fileID=(default), allFileIDs=true], checksumRequestForExistingFile=(default)] Result: Received event: a7f07e61: GET_CHECKSUMS: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetChecksums Step: Send an identification response from pillar2. Result: Received event: a7f07e61: GET_CHECKSUMS: COMPONENT_IDENTIFIED: ContributorID Pillar2 Result: Received event: a7f07e61: GET_CHECKSUMS: IDENTIFICATION_COMPLETE: Contributors: [Pillar2] Result: Received event: a7f07e61: GET_CHECKSUMS: REQUEST_SENT: ContributorID [Pillar2], Sending GetChecksumsRequest's Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetChecksumsRequest@50099588[correlationID=a7f07e61-cf21-457c-a8a4-9a6d65a95d4c, collectionID=SinglePillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-GetChecksumsClientComponentTest-cibuild01, from=getChecksumsFromOtherCollection, to=Pillar2, version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar2, fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@5471182c[fileID=(default), allFileIDs=true], minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), checksumRequestForExistingFile=(default), resultAddress=(default)] Step: Send a complete event from the pillar Result: Received event: a7f07e61: GET_CHECKSUMS: COMPONENT_COMPLETE: ContributorID Pillar2, PartialResult=false Result: Received event: a7f07e61: GET_CHECKSUMS: COMPLETE: Test success: getChecksumsFromOtherCollection Test starting: getChecksumsFromSinglePillar Description: Tests that the client can retrieve checksums from a single pillar. Step: Request the delivery of the checksum of a file from pillar1. Stimuli: Calling getChecksums([ContributorQuery{componentID='Pillar1, minTimestamp=null, maxTimestamp=null, maxNumberOfResults=null}], default-test-file.txt, org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@4d031311[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], null, org.bitrepository.client.TestEventHandler@22b4ceb9, TEST-AUDIT) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetChecksumsRequest@18b9b269[correlationID=12213456-3431-4f97-8850-0f0c92b906a9, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetChecksumsClientComponentTest-cibuild01, from=getChecksumsFromSinglePillar, to=Pillar1, version=31, minVersion=24, auditTrailInformation=TEST-AUDIT, fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@2bda778a[fileID=default-test-file.txt, allFileIDs=(default)], checksumRequestForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@4d031311[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)]] Result: Received event: 12213456: GET_CHECKSUMS for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetChecksums Step: Sends a response from pillar2. Step: Sends a response from pillar1. Result: Received event: 12213456: GET_CHECKSUMS for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: 12213456: GET_CHECKSUMS for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: 12213456: GET_CHECKSUMS for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending GetChecksumsRequest's Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetChecksumsRequest@3aba9252[correlationID=12213456-3431-4f97-8850-0f0c92b906a9, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetChecksumsClientComponentTest-cibuild01, from=getChecksumsFromSinglePillar, to=Pillar1, version=31, minVersion=24, auditTrailInformation=TEST-AUDIT, pillarID=Pillar1, fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@10b51115[fileID=default-test-file.txt, allFileIDs=(default)], minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), checksumRequestForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@4d031311[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], resultAddress=(default)] Step: Send a GetChecksumsFinalResponse to the client from pillar1 Result: Received event: 12213456: GET_CHECKSUMS for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, NumberOfChecksums=0, PartialResult=false Result: Received event: 12213456: GET_CHECKSUMS for file default-test-file.txt: COMPLETE: Test success: getChecksumsFromSinglePillar Test starting: testNoSuchFile Description: Testing how a request for a non-existing file is handled. Step: Setting up variables and such. Step: Request the delivery of the checksum of a file from the pillar(s). A callback listener should be supplied. Stimuli: Calling getChecksums(null, default-test-file.txt, null, null, org.bitrepository.client.TestEventHandler@5a524a19, TEST-AUDIT) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetChecksumsRequest@60e9bda0[correlationID=1550602f-2ded-4058-bf7c-380901b47ff1, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetChecksumsClientComponentTest-cibuild01, from=testNoSuchFile, to=Pillar1, version=31, minVersion=24, auditTrailInformation=TEST-AUDIT, fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@13a4e21[fileID=default-test-file.txt, allFileIDs=(default)], checksumRequestForExistingFile=(default)] Result: Received event: 1550602f: GET_CHECKSUMS for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetChecksums Step: The pillar sends a response to the identify message. Result: Received event: 1550602f: GET_CHECKSUMS for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: 1550602f: GET_CHECKSUMS for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: 1550602f: GET_CHECKSUMS for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending GetChecksumsRequest's Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetChecksumsRequest@79b417ed[correlationID=1550602f-2ded-4058-bf7c-380901b47ff1, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetChecksumsClientComponentTest-cibuild01, from=testNoSuchFile, to=Pillar1, version=31, minVersion=24, auditTrailInformation=TEST-AUDIT, pillarID=Pillar1, fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@549db1c6[fileID=default-test-file.txt, allFileIDs=(default)], minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), checksumRequestForExistingFile=(default), resultAddress=(default)] Step: Send a error that the file cannot be found. Result: Received event: 1550602f: GET_CHECKSUMS for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FILE_NOT_FOUND_FAILURE, No such file. Result: Received event: 1550602f: GET_CHECKSUMS for file default-test-file.txt: FAILED: , Failed operation. Cause(s): [1550602f: GET_CHECKSUMS for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FILE_NOT_FOUND_FAILURE, No such file.] Test success: testNoSuchFile Test starting: testPaging Description: Tests the GetChecksums client correctly handles functionality for limiting results, either by timestamp or result count. Step: Request checksums from with MinTimestamp, MaxTimestamp, MaxNumberOfResults set for both pillars . Stimuli: Calling getChecksums([ContributorQuery{componentID='Pillar1, minTimestamp=Fri Sep 11 14:32:29 CEST 2020, maxTimestamp=Fri Sep 11 14:32:30 CEST 2020, maxNumberOfResults=1}, ContributorQuery{componentID='Pillar2, minTimestamp=Fri Sep 11 14:32:30 CEST 2020, maxTimestamp=Fri Sep 11 14:32:30 CEST 2020, maxNumberOfResults=2}], null, null, null, org.bitrepository.client.TestEventHandler@7df0bb1, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetChecksumsRequest@68dc7f43[correlationID=b7e1e315-ba2b-4a29-9da2-0f1c6def36e2, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetChecksumsClientComponentTest-cibuild01, from=testPaging, to=(default), version=31, minVersion=24, auditTrailInformation=(default), fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@137efccc[fileID=(default), allFileIDs=true], checksumRequestForExistingFile=(default)] Result: Received event: b7e1e315: GET_CHECKSUMS: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetChecksums Step: Send a IdentifyPillarsForGetChecksumsResponse from both pillars. Result: Received event: b7e1e315: GET_CHECKSUMS: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: b7e1e315: GET_CHECKSUMS: COMPONENT_IDENTIFIED: ContributorID Pillar2 Result: Received event: b7e1e315: GET_CHECKSUMS: IDENTIFICATION_COMPLETE: Contributors: [Pillar2, Pillar1] Result: Received event: b7e1e315: GET_CHECKSUMS: REQUEST_SENT: ContributorID [Pillar1, Pillar2], Sending GetChecksumsRequest's Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetChecksumsRequest@13312ba2[correlationID=b7e1e315-ba2b-4a29-9da2-0f1c6def36e2, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetChecksumsClientComponentTest-cibuild01, from=testPaging, to=(default), version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar1, fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@38ede85d[fileID=(default), allFileIDs=true], minTimestamp=2020-09-11T14:32:29.423+02:00, maxTimestamp=2020-09-11T14:32:30.323+02:00, maxNumberOfResults=1, checksumRequestForExistingFile=(default), resultAddress=(default)] Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetChecksumsRequest@1ac74499[correlationID=b7e1e315-ba2b-4a29-9da2-0f1c6def36e2, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-GetChecksumsClientComponentTest-cibuild01, from=testPaging, to=(default), version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar2, fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@6fff29f4[fileID=(default), allFileIDs=true], minTimestamp=2020-09-11T14:32:30.323+02:00, maxTimestamp=2020-09-11T14:32:30.423+02:00, maxNumberOfResults=2, checksumRequestForExistingFile=(default), resultAddress=(default)] Test success: testPaging Test starting: verifyGetChecksumsClientFromFactory Test success: verifyGetChecksumsClientFromFactory Starting testcase GetFileCmdTest Test starting: defaultSuccessScenarioTest Description: Tests simplest arguments for running the CmdLineClient Test success: defaultSuccessScenarioTest Test starting: missingCollectionArgumentTest Description: Tests the scenario, where the collection arguments is missing. Takes the following arguments: -s The path to the directory with the settings files for the client -k The path to the file containing the private key. -v Makes the client more verbose -c The id for the collection to perform the operation on. -i The id for the file to perform the operation on. -p [OPTIONAL] The id of the pillar where the operation should be performed. If undefined the operation is performed on all pillars. -l [OPTIONAL] The location where the file should be placed (either total path or directory). If no argument, then the file is placed in the directory where the script is located. Missing argument: Missing required option: c Test success: missingCollectionArgumentTest Test starting: missingFileIDArgumentTest Description: Tests the scenario, where no arguments for file id argument is given. Takes the following arguments: -s The path to the directory with the settings files for the client -k The path to the file containing the private key. -v Makes the client more verbose -c The id for the collection to perform the operation on. -i The id for the file to perform the operation on. -p [OPTIONAL] The id of the pillar where the operation should be performed. If undefined the operation is performed on all pillars. -l [OPTIONAL] The location where the file should be placed (either total path or directory). If no argument, then the file is placed in the directory where the script is located. Missing argument: Missing required option: i Test success: missingFileIDArgumentTest Test starting: specificPillarArgumentTest Description: Test argument for a specific pillar Test success: specificPillarArgumentTest Test starting: unknownPillarArgumentTest Description: Testing against a non-existing pillar id -> Should fail Invalid argument: Random1599827551771pillar is not a valid pillar for collection TwoPillarCollection The collection contains the following pillars: [Pillar1, Pillar2] Test success: unknownPillarArgumentTest Test starting: getFileIDsDeliveredAtUrl Description: Tests the delivery of fileIDs from a pillar at a given URL. Step: Initialise the variables for this test. Step: Request the delivery of the file ids of a file from the pillar(s). A callback listener should be supplied. Stimuli: Calling getFileIDs(null, default-test-file.txt, file:../bitrepository-core/src/test/resources/test-files//TEST-FILE-IDS-DELIVERY.xml, org.bitrepository.client.TestEventHandler@467f97e) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileIDsRequest@7e325a4[correlationID=9da2065e-7292-4521-801f-cc3270267858, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileIDsClientComponentTest-cibuild01, from=getFileIDsDeliveredAtUrl, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@7acff702[fileID=default-test-file.txt, allFileIDs=(default)]] Result: Received event: 9da2065e: GET_FILE_IDS for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying contributers for get fileIDs Step: The pillar sends a response to the identify message. Result: Received event: 9da2065e: GET_FILE_IDS for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: 9da2065e: GET_FILE_IDS for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: 9da2065e: GET_FILE_IDS for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for get fileIDs Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileIDsRequest@668b9072[correlationID=9da2065e-7292-4521-801f-cc3270267858, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetFileIDsClientComponentTest-cibuild01, from=getFileIDsDeliveredAtUrl, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar1, fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@78db5702[fileID=default-test-file.txt, allFileIDs=(default)], minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), resultAddress=file:../bitrepository-core/src/test/resources/test-files//TEST-FILE-IDS-DELIVERY.xml-Pillar1] Step: The pillar sends a getFileIDsProgressResponse to the GetFileIDsClient. Result: Received event: 9da2065e: GET_FILE_IDS for file default-test-file.txt: PROGRESS: ContributorID Pillar1, First test progress response message Step: The resulting file is uploaded to the indicated url and the pillar sends a final response upload message Result: Received event: 9da2065e: GET_FILE_IDS for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, PartialResult=false Result: Received event: 9da2065e: GET_FILE_IDS for file default-test-file.txt: COMPLETE: Step: Receive and validate event results for the pillar. Test success: getFileIDsDeliveredAtUrl Test starting: getFileIDsDeliveredThroughMessage Description: Tests the delivery of fileIDs from a pillar at a given URL. Step: Initialise the variables for this test. Step: Ensure the delivery file isn't already present on the http server Step: Request the delivery of the file ids of a file from the pillar(s). A callback listener should be supplied. Stimuli: Calling getFileIDs(null, default-test-file.txt, null, org.bitrepository.client.TestEventHandler@467f97e) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileIDsRequest@2898a250[correlationID=7f0271cf-aca1-4010-9c73-d4f715c42e06, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileIDsClientComponentTest-cibuild01, from=getFileIDsDeliveredThroughMessage, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@3ec06e6d[fileID=default-test-file.txt, allFileIDs=(default)]] Result: Received event: 7f0271cf: GET_FILE_IDS for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying contributers for get fileIDs Step: The pillar sends a response to the identify message. Result: Received event: 7f0271cf: GET_FILE_IDS for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: 7f0271cf: GET_FILE_IDS for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: 7f0271cf: GET_FILE_IDS for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for get fileIDs Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileIDsRequest@5eae58b0[correlationID=7f0271cf-aca1-4010-9c73-d4f715c42e06, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetFileIDsClientComponentTest-cibuild01, from=getFileIDsDeliveredThroughMessage, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar1, fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@33c9eb17[fileID=default-test-file.txt, allFileIDs=(default)], minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), resultAddress=(default)] Step: The pillar sends a getFileIDsProgressResponse to the GetFileIDsClient. Result: Received event: 7f0271cf: GET_FILE_IDS for file default-test-file.txt: PROGRESS: ContributorID Pillar1, First test progress response message Step: The resulting file is uploaded to the indicated url and the pillar sends a final response upload message Result: Received event: 7f0271cf: GET_FILE_IDS for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, NumberOfFileIDs=1, PartialResult=false Result: Received event: 7f0271cf: GET_FILE_IDS for file default-test-file.txt: COMPLETE: Step: Receive and validate event results for the pillar. Test success: getFileIDsDeliveredThroughMessage Test starting: getFileIDsFromOtherCollection Description: Tests the getFileIDs client will correctly try to get from a second collection if required Added fixture: Configure collection1 to contain both pillars and collection 2 to only contain pillar2 Step: Request the putting of a file through the PutClient for collection2 Stimuli: Calling getFileIDs(null, default-test-file.txt, null, org.bitrepository.client.TestEventHandler@48821e3c) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileIDsRequest@8d16b81[correlationID=513c4130-699b-495f-be4f-8a9f1eaec597, collectionID=SinglePillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileIDsClientComponentTest-cibuild01, from=getFileIDsFromOtherCollection, to=Pillar2, version=31, minVersion=24, auditTrailInformation=(default), fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@3d8e2b96[fileID=default-test-file.txt, allFileIDs=(default)]] Result: Received event: 513c4130: GET_FILE_IDS for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying contributers for get fileIDs Step: Send an identification response from pillar2. Result: Received event: 513c4130: GET_FILE_IDS for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2 Result: Received event: 513c4130: GET_FILE_IDS for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar2] Result: Received event: 513c4130: GET_FILE_IDS for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar2], Sending request for get fileIDs Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileIDsRequest@262d9803[correlationID=513c4130-699b-495f-be4f-8a9f1eaec597, collectionID=SinglePillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-GetFileIDsClientComponentTest-cibuild01, from=getFileIDsFromOtherCollection, to=Pillar2, version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar2, fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@25237224[fileID=default-test-file.txt, allFileIDs=(default)], minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), resultAddress=(default)] Step: Send a complete event from the pillar Result: Received event: 513c4130: GET_FILE_IDS for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar2, PartialResult=false Result: Received event: 513c4130: GET_FILE_IDS for file default-test-file.txt: COMPLETE: Test success: getFileIDsFromOtherCollection Test starting: testNoSuchFile Description: Testing how a request for a non-existing file is handled. Step: Setting up variables and such. Step: Request the delivery of the file id of a file from the pillar(s). A callback listener should be supplied. Stimuli: Calling getFileIDs(null, default-test-file.txt, file:../bitrepository-core/src/test/resources/test-files//TEST-FILE-IDS-DELIVERY.xml, org.bitrepository.client.TestEventHandler@467f97e) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileIDsRequest@7541dbee[correlationID=6cc42326-8476-4f94-b433-72cb040b3c40, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileIDsClientComponentTest-cibuild01, from=testNoSuchFile, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@487d4cbb[fileID=default-test-file.txt, allFileIDs=(default)]] Result: Received event: 6cc42326: GET_FILE_IDS for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying contributers for get fileIDs Step: The pillar sends a response to the identify message. Result: Received event: 6cc42326: GET_FILE_IDS for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: 6cc42326: GET_FILE_IDS for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: 6cc42326: GET_FILE_IDS for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for get fileIDs Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileIDsRequest@639cff0e[correlationID=6cc42326-8476-4f94-b433-72cb040b3c40, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetFileIDsClientComponentTest-cibuild01, from=testNoSuchFile, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar1, fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@18f9d638[fileID=default-test-file.txt, allFileIDs=(default)], minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), resultAddress=file:../bitrepository-core/src/test/resources/test-files//TEST-FILE-IDS-DELIVERY.xml-Pillar1] Step: Send a error that the file cannot be found. Result: Received event: 6cc42326: GET_FILE_IDS for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FILE_NOT_FOUND_FAILURE, No such file. Result: Received event: 6cc42326: GET_FILE_IDS for file default-test-file.txt: FAILED: , Failed operation. Cause(s): [6cc42326: GET_FILE_IDS for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FILE_NOT_FOUND_FAILURE, No such file.] Test success: testNoSuchFile Test starting: testPaging Description: Tests the GetFileIDs client correctly handles functionality for limiting results, either by timestamp or result count. Step: Request fileIDs from with MinTimestamp, MaxTimestamp, MaxNumberOfResults set for both pillars . Stimuli: Calling getFileIDs([ContributorQuery{componentID='Pillar1, minTimestamp=Fri Sep 11 14:32:31 CEST 2020, maxTimestamp=Fri Sep 11 14:32:32 CEST 2020, maxNumberOfResults=1}, ContributorQuery{componentID='Pillar2, minTimestamp=Fri Sep 11 14:32:32 CEST 2020, maxTimestamp=Fri Sep 11 14:32:32 CEST 2020, maxNumberOfResults=2}], null, null, org.bitrepository.client.TestEventHandler@467f97e) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileIDsRequest@5f5a5143[correlationID=1c635682-5dca-4806-85ca-e8a877d774b5, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileIDsClientComponentTest-cibuild01, from=testPaging, to=(default), version=31, minVersion=24, auditTrailInformation=(default), fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@13d32361[fileID=(default), allFileIDs=true]] Result: Received event: 1c635682: GET_FILE_IDS: IDENTIFY_REQUEST_SENT: , Identifying contributers for get fileIDs Step: Send a IdentifyPillarsForGetFileIDsResponse from both pillars. Result: Received event: 1c635682: GET_FILE_IDS: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: 1c635682: GET_FILE_IDS: COMPONENT_IDENTIFIED: ContributorID Pillar2 Result: Received event: 1c635682: GET_FILE_IDS: IDENTIFICATION_COMPLETE: Contributors: [Pillar2, Pillar1] Result: Received event: 1c635682: GET_FILE_IDS: REQUEST_SENT: ContributorID [Pillar1, Pillar2], Sending request for get fileIDs Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileIDsRequest@25a656f6[correlationID=1c635682-5dca-4806-85ca-e8a877d774b5, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetFileIDsClientComponentTest-cibuild01, from=testPaging, to=(default), version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar1, fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@2fe4a108[fileID=(default), allFileIDs=true], minTimestamp=2020-09-11T14:32:31.903+02:00, maxTimestamp=2020-09-11T14:32:32.803+02:00, maxNumberOfResults=1, resultAddress=(default)] Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileIDsRequest@7c671bcb[correlationID=1c635682-5dca-4806-85ca-e8a877d774b5, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-GetFileIDsClientComponentTest-cibuild01, from=testPaging, to=(default), version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar2, fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@abdeaf6[fileID=(default), allFileIDs=true], minTimestamp=2020-09-11T14:32:32.803+02:00, maxTimestamp=2020-09-11T14:32:32.903+02:00, maxNumberOfResults=2, resultAddress=(default)] Test success: testPaging Test starting: verifyGetFileIDsClientFromFactory Test success: verifyGetFileIDsClientFromFactory Starting testcase PutFileCmdTest Test starting: checksumArgumentNonSaltAlgorithmWitoutSaltTest Description: Test MD5 checksum without salt -> no failure Test success: checksumArgumentNonSaltAlgorithmWitoutSaltTest Test starting: checksumArgumentSaltAlgorithmWithSaltTest Description: Test HMAC_SHA256 checksum with salt -> No failure Test success: checksumArgumentSaltAlgorithmWithSaltTest Test starting: defaultSuccessScenarioTest Description: Tests simplest arguments for running the CmdLineClient Test success: defaultSuccessScenarioTest Test starting: missingChecksumWhenFileArgumentTest Description: Tests the scenario, where no checksum argument is given, but a file is given. Test success: missingChecksumWhenFileArgumentTest Test starting: missingChecksumWhenURLArgumentTest Description: Tests the scenario, where no checksum argument is given, but a URL is given. Invalid argument: The URL argument requires also the checksum argument (-c). Test success: missingChecksumWhenURLArgumentTest Test starting: missingCollectionArgumentTest Description: Tests the scenario, where the collection arguments is missing. Takes the following arguments: -s The path to the directory with the settings files for the client -k The path to the file containing the private key. -v Makes the client more verbose -c The id for the collection to perform the operation on. -i The id for the file to perform the operation on. -p [OPTIONAL] The id of the pillar where the operation should be performed. If undefined the operation is performed on all pillars. -f The path to the file, which needs to be uploaded. Is required, unless a URL is given. -u The URL for the file to be put. Is required, unless the actual file is given. -C The checksum for the file to be retrieved. Required if using an URL. -R [OPTIONAL] The algorithm of checksum to request in the response from the pillars. -S [OPTIONAL] The salt of checksum to request in the response. Requires the ChecksumType argument. -d If this argument is present, then the file will be removed from the server, when the operation is complete. Missing argument: Missing required option: c Test success: missingCollectionArgumentTest Test starting: missingFileIDWhenFileArgumentTest Description: Tests the scenario, where no checksum argument is given, but a URL is given. Test success: missingFileIDWhenFileArgumentTest Test starting: missingFileIDWhenURLArgumentTest Description: Tests the scenario, where no checksum argument is given, but a URL is given. Invalid argument: The URL argument requires also the argument for the ID of the file (-i). Test success: missingFileIDWhenURLArgumentTest Test starting: missingFileOrURLArgumentTest Description: Tests the scenario, where no arguments for file or url is given. Invalid argument: Requires either the file argument (-f) or the URL argument (-u). Test success: missingFileOrURLArgumentTest Test starting: specificPillarArgumentTest Description: Test argument for a specific pillar Test success: specificPillarArgumentTest Test starting: unknownPillarArgumentTest Description: Testing against a non-existing pillar id -> Should fail Invalid argument: Random1599827555749pillar is not a valid pillar for collection TwoPillarCollection The collection contains the following pillars: [Pillar1, Pillar2] Test success: unknownPillarArgumentTest Test starting: urlSuccessScenarioTest Description: Tests arguments for putting a file on a given URL Test success: urlSuccessScenarioTest Starting testcase ReplaceFileClientComponentTest Test starting: replaceClientIdentificationTimeout Description: Tests the handling of a failed identification for the ReplaceClient Step: Initialise the number of pillars and the DeleteClient. Sets the identification timeout to 100 ms. Step: Request a file to be replaced on the default pillar. Stimuli: replaceFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@57c37acb[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@61ba7ec2[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@4d6c4bd5[checksumType=SHA1, checksumSalt=(default), otherChecksumType=(default)], file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, 10, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@e0e9e5e[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@61ba7ec2[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@4d6c4bd5[checksumType=SHA1, checksumSalt=(default), otherChecksumType=(default)], org.bitrepository.client.TestEventHandler@4257b876, null Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForReplaceFileRequest@3eeded88[correlationID=5121e8df-ec7e-4c2b-98f9-faddbb258027, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-ReplaceFileClientComponentTest-cibuild01, from=replaceClientIdentificationTimeout, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), fileID=default-test-file.txt, fileSize=(default)] Result: Received event: 5121e8df: REPLACE_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for replace file Step: Do not respond. Just await the timeout. Result: Received event: 5121e8df: REPLACE_FILE for file default-test-file.txt: IDENTIFY_TIMEOUT: , Time has run out for looking up contributors The following contributors didn't respond: [Pillar1] Result: Received event: 5121e8df: REPLACE_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor Result: Received event: 5121e8df: REPLACE_FILE for file default-test-file.txt: FAILED: , Unable to continue operation, contributors unavailable. 14:32:36.250 ERROR o.b.m.r.c.IdentifyPillarsForReplaceFile - Failing conversation 'ReplaceFileConversationContext{collectionID='TwoPillarCollection', conversationID='5121e8df-ec7e-4c2b-98f9-faddbb258027', clientID='replaceClientIdentificationTimeout', fileID='default-test-file.txt', contributors=[Pillar1], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='5121e8df', operationType=REPLACE_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@4257b876, contributorCompleteEvents=[], contributorFailedEvents=[5121e8df: REPLACE_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@65830db, checksumPillars=[]}' with exception org.bitrepository.common.exceptions.UnableToFinishException: Unable to continue operation, contributors unavailable. at org.bitrepository.client.conversation.IdentifyingState.completeState(IdentifyingState.java:76) at org.bitrepository.client.conversation.GeneralConversationState.changeState(GeneralConversationState.java:147) at org.bitrepository.client.conversation.GeneralConversationState.access$100(GeneralConversationState.java:48) at org.bitrepository.client.conversation.GeneralConversationState$TimeoutHandler.run(GeneralConversationState.java:134) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Test success: replaceClientIdentificationTimeout Test starting: replaceClientOperationTimeout Description: Tests the handling of a failed operation for the ReplaceClient Step: Initialise the number of pillars and the DeleteClient. Sets the operation timeout to 100 ms. Step: Request a file to be replaced on the default pillar. Stimuli: replaceFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@15999360[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@3f1bfe98[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@413721f[checksumType=SHA1, checksumSalt=(default), otherChecksumType=(default)], file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, 10, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@172a93b2[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@3f1bfe98[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@413721f[checksumType=SHA1, checksumSalt=(default), otherChecksumType=(default)], org.bitrepository.client.TestEventHandler@4e7100a4, null Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForReplaceFileRequest@2efed8cc[correlationID=11ba88e8-e9ea-4cdc-a539-33e3e847dce1, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-ReplaceFileClientComponentTest-cibuild01, from=replaceClientOperationTimeout, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), fileID=default-test-file.txt, fileSize=(default)] Result: Received event: 11ba88e8: REPLACE_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for replace file Step: Make response for the pillar. Result: Received event: 11ba88e8: REPLACE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: 11ba88e8: REPLACE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: 11ba88e8: REPLACE_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for replace file Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.ReplaceFileRequest@34243ccd[correlationID=11ba88e8-e9ea-4cdc-a539-33e3e847dce1, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-ReplaceFileClientComponentTest-cibuild01, from=replaceClientOperationTimeout, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar1, fileID=default-test-file.txt, checksumDataForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@15999360[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@3f1bfe98[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], checksumRequestForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@413721f[checksumType=SHA1, checksumSalt=(default), otherChecksumType=(default)], fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=10, checksumDataForNewFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@172a93b2[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@3f1bfe98[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], checksumRequestForNewFile=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@413721f[checksumType=SHA1, checksumSalt=(default), otherChecksumType=(default)]] Step: Validate the steps of the ReplaceClient by going through the events. Step: Do not respond. Just await the timeout. Result: Received event: 11ba88e8: REPLACE_FILE for file default-test-file.txt: FAILED: , Failed to receive responses from all contributors before timeout(100ms). Missing contributors [Pillar1] 14:32:36.527 ERROR o.b.m.r.conversation.ReplacingFile - Failing conversation 'ReplaceFileConversationContext{collectionID='TwoPillarCollection', conversationID='11ba88e8-e9ea-4cdc-a539-33e3e847dce1', clientID='replaceClientOperationTimeout', fileID='default-test-file.txt', contributors=[Pillar1], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='11ba88e8', operationType=REPLACE_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@4e7100a4, contributorCompleteEvents=[], contributorFailedEvents=[], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@477d3d34, checksumPillars=[]}' with exception org.bitrepository.common.exceptions.UnableToFinishException: Failed to receive responses from all contributors before timeout(100ms). Missing contributors [Pillar1] at org.bitrepository.client.conversation.PerformingOperationState.logStateTimeout(PerformingOperationState.java:82) at org.bitrepository.client.conversation.GeneralConversationState$TimeoutHandler.run(GeneralConversationState.java:133) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Test success: replaceClientOperationTimeout Test starting: replaceClientPillarFailed Description: Tests the handling of a operation failure for the ReplaceClient. Step: Initialise the number of pillars to one Step: Request a file to be replaced on the default pillar. Stimuli: replaceFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@6aa2a1a9[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@304900e[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@4eae9569[checksumType=SHA1, checksumSalt=(default), otherChecksumType=(default)], file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, 0, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@5dc77210[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@304900e[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@4eae9569[checksumType=SHA1, checksumSalt=(default), otherChecksumType=(default)], org.bitrepository.client.TestEventHandler@22173fe8, null Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForReplaceFileRequest@5b45f44[correlationID=aa0ddf0f-e4ab-4259-af1f-309b3b6887a1, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-ReplaceFileClientComponentTest-cibuild01, from=replaceClientPillarFailed, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), fileID=default-test-file.txt, fileSize=(default)] Result: Received event: aa0ddf0f: REPLACE_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for replace file Step: Make response for the pillar. Result: Received event: aa0ddf0f: REPLACE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: aa0ddf0f: REPLACE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: aa0ddf0f: REPLACE_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for replace file Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.ReplaceFileRequest@59ba2555[correlationID=aa0ddf0f-e4ab-4259-af1f-309b3b6887a1, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-ReplaceFileClientComponentTest-cibuild01, from=replaceClientPillarFailed, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar1, fileID=default-test-file.txt, checksumDataForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@6aa2a1a9[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@304900e[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], checksumRequestForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@4eae9569[checksumType=SHA1, checksumSalt=(default), otherChecksumType=(default)], fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@5dc77210[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@304900e[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], checksumRequestForNewFile=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@4eae9569[checksumType=SHA1, checksumSalt=(default), otherChecksumType=(default)]] Step: Validate the steps of the ReplaceClient by going through the events. Step: Send a failed response message to the ReplaceClient. Result: Received event: aa0ddf0f: REPLACE_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE, Verifying that a failure can be understood! Result: Received event: aa0ddf0f: REPLACE_FILE for file default-test-file.txt: FAILED: , Failed operation. Cause(s): [aa0ddf0f: REPLACE_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE, Verifying that a failure can be understood!] Test success: replaceClientPillarFailed Test starting: replaceClientTester Description: Tests the ReplaceFileClient. Makes a whole conversation for the replace client for a 'good' scenario. Step: Initialise the number of pillars to one Step: Request a file to be replaced on all pillars (which means only the default pillar). Stimuli: replaceFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@62cd7303[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@1eb4bd92[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@13434a33[checksumType=SHA1, checksumSalt=(default), otherChecksumType=(default)], file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, 10, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@768eafb7[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@1eb4bd92[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@13434a33[checksumType=SHA1, checksumSalt=(default), otherChecksumType=(default)], org.bitrepository.client.TestEventHandler@7fd28f0e, null Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForReplaceFileRequest@4431e54b[correlationID=1594f0e2-270e-4a66-83c4-70322441b354, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-ReplaceFileClientComponentTest-cibuild01, from=replaceClientTester, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), fileID=default-test-file.txt, fileSize=(default)] Result: Received event: 1594f0e2: REPLACE_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for replace file Step: Make response for the pillar. Result: Received event: 1594f0e2: REPLACE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: 1594f0e2: REPLACE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: 1594f0e2: REPLACE_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for replace file Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.ReplaceFileRequest@4e5ac029[correlationID=1594f0e2-270e-4a66-83c4-70322441b354, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-ReplaceFileClientComponentTest-cibuild01, from=replaceClientTester, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar1, fileID=default-test-file.txt, checksumDataForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@62cd7303[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@1eb4bd92[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], checksumRequestForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@13434a33[checksumType=SHA1, checksumSalt=(default), otherChecksumType=(default)], fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=10, checksumDataForNewFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@768eafb7[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@1eb4bd92[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], checksumRequestForNewFile=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@13434a33[checksumType=SHA1, checksumSalt=(default), otherChecksumType=(default)]] Step: Validate the steps of the ReplaceClient by going through the events. Step: The pillar sends a progress response to the ReplaceClient. Result: Received event: 1594f0e2: REPLACE_FILE for file default-test-file.txt: PROGRESS: ContributorID Pillar1, First test progress response message Step: Send a final response message to the ReplaceClient. Result: Received event: 1594f0e2: REPLACE_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, checksum for new file: 'org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@768eafb7[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@1eb4bd92[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00]',checksum for replaced file: 'null' Result: Received event: 1594f0e2: REPLACE_FILE for file default-test-file.txt: COMPLETE: Test success: replaceClientTester Test starting: saltedReturnChecksumsForNewFileWithChecksumPillar Description: Tests that the ReplaceClient handles the presence of a ChecksumPillar correctly, when a salted return checksum (which a checksum pillar can't provide) is requested for the new file. Step: Call replaceFile while requesting a salted checksum to be returned. Stimuli: replaceFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@1ee17264[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@1ec72ab7[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], null, file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, 0, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@2488fd50[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@1ec72ab7[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@1ce5c5e7[checksumType=MD5, checksumSalt={-86}, otherChecksumType=(default)], org.bitrepository.client.TestEventHandler@982f64d, null Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForReplaceFileRequest@2e37e758[correlationID=13a3afa3-895c-498a-9fd8-f344052dda0c, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-ReplaceFileClientComponentTest-cibuild01, from=saltedReturnChecksumsForNewFileWithChecksumPillar, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), fileID=default-test-file.txt, fileSize=(default)] Result: Received event: 13a3afa3: REPLACE_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for replace file Step: Send an identification response with a PillarChecksumSpec element set, indicating that this is a checksum pillar. Result: Received event: 13a3afa3: REPLACE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: 13a3afa3: REPLACE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: 13a3afa3: REPLACE_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for replace file Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.ReplaceFileRequest@7fced31f[correlationID=13a3afa3-895c-498a-9fd8-f344052dda0c, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-ReplaceFileClientComponentTest-cibuild01, from=saltedReturnChecksumsForNewFileWithChecksumPillar, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar1, fileID=default-test-file.txt, checksumDataForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@1ee17264[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@1ec72ab7[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], checksumRequestForExistingFile=(default), fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@2488fd50[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@1ec72ab7[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], checksumRequestForNewFile=(default)] Test success: saltedReturnChecksumsForNewFileWithChecksumPillar Test starting: verifyReplaceFileClientFromFactory Description: Testing the initialization through the ModifyComponentFactory. Step: Use the ModifyComponentFactory to instantiate a ReplaceFileClient. Test success: verifyReplaceFileClientFromFactory Starting testcase UnexpectedResponseExceptionTest Test starting: testUnexpectedResponse Description: Test the instantiation of the exception Step: Setup Step: Try to throw such an exception Step: Throw the exception with an embedded exception Test success: testUnexpectedResponse Starting testcase AuditTrailClientComponentTest Test starting: getAllAuditTrailsTest Description: Tests the simplest case of getting all audit trail event for all contributers. Step: Create a AuditTrailClient. Step: Retrieve all audit trails from the collection by calling with a null componentQueries array Stimuli: Calling getAuditTrails(null, default-test-file.txt, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyContributorsForGetAuditTrailsRequest@63c15d8b[correlationID=c24c804e-380c-496f-89f9-ae0e5b9691bf, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=getAllAuditTrailsTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default)] Result: Received event: c24c804e: GET_AUDIT_TRAILS for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying contributers for audit trails Step: Send a identifyResponse from each pillar Result: Received event: c24c804e: GET_AUDIT_TRAILS for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: c24c804e: GET_AUDIT_TRAILS for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2 Result: Received event: c24c804e: GET_AUDIT_TRAILS for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1, Pillar2] Result: Received event: c24c804e: GET_AUDIT_TRAILS for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1, Pillar2], Sending request for audit trails Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@31f0c4e5[correlationID=c24c804e-380c-496f-89f9-ae0e5b9691bf, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=getAllAuditTrailsTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), contributor=Pillar1, fileID=default-test-file.txt, minSequenceNumber=(default), maxSequenceNumber=(default), minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), resultAddress=(default)] Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@5ab85072[correlationID=c24c804e-380c-496f-89f9-ae0e5b9691bf, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=getAllAuditTrailsTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), contributor=Pillar2, fileID=default-test-file.txt, minSequenceNumber=(default), maxSequenceNumber=(default), minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), resultAddress=(default)] Step: Send a final response from pillar 1 Result: Received event: c24c804e: GET_AUDIT_TRAILS for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, NumberOfAuditTrailEvents=2, PartialResult=false Step: Send a final response from pillar 2 Result: Received event: c24c804e: GET_AUDIT_TRAILS for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar2, NumberOfAuditTrailEvents=2, PartialResult=false Result: Received event: c24c804e: GET_AUDIT_TRAILS for file default-test-file.txt: COMPLETE: Test success: getAllAuditTrailsTest Test starting: getSomeAuditTrailsTest Description: Tests the client maps a AuditTrail query correctly to a GetAuditTrail request. Step: Request audit trails from pillar 1 with both min and max sequence number set. Stimuli: Calling getAuditTrails([AuditTrailQuery{componentID='Pillar1, minTimestamp=null, maxTimestamp=null, maxNumberOfResults=10000}minSequenceNumber=1, maxSequenceNumber=3}], null, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyContributorsForGetAuditTrailsRequest@6823bbb7[correlationID=3cf0781c-71f5-48b4-b308-fe92929e32ac, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=getSomeAuditTrailsTest, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default)] Result: Received event: 3cf0781c: GET_AUDIT_TRAILS: IDENTIFY_REQUEST_SENT: , Identifying contributers for audit trails Step: Send a identifyResponse from pillar1 Result: Received event: 3cf0781c: GET_AUDIT_TRAILS: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: 3cf0781c: GET_AUDIT_TRAILS: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: 3cf0781c: GET_AUDIT_TRAILS: REQUEST_SENT: ContributorID [Pillar1], Sending request for audit trails Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@76ac1cf0[correlationID=3cf0781c-71f5-48b4-b308-fe92929e32ac, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=getSomeAuditTrailsTest, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), contributor=Pillar1, fileID=(default), minSequenceNumber=1, maxSequenceNumber=3, minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=10000, resultAddress=(default)] Step: Verify no request is sent to pillar2 Step: Send a final response from pillar 1 Result: Received event: 3cf0781c: GET_AUDIT_TRAILS: COMPONENT_COMPLETE: ContributorID Pillar1, NumberOfAuditTrailEvents=2, PartialResult=false Result: Received event: 3cf0781c: GET_AUDIT_TRAILS: COMPLETE: Test success: getSomeAuditTrailsTest Test starting: incompleteSetOfFinalResponsesTest Description: Verify that the GetAuditTrail client works correct without receiving responses from all contributers. Step: Configure 500 ms second timeout for the operation itself. The default 2 contributers collection is used Stimuli: Calling getAuditTrails(null, null, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyContributorsForGetAuditTrailsRequest@3afb0c42[correlationID=e2ad63f6-262e-4d9c-9ebb-ee8106efd728, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=incompleteSetOfFinalResponsesTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default)] Result: Received event: e2ad63f6: GET_AUDIT_TRAILS: IDENTIFY_REQUEST_SENT: , Identifying contributers for audit trails Step: Send a identifyResponse from each of the two pillars Result: Received event: e2ad63f6: GET_AUDIT_TRAILS: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: e2ad63f6: GET_AUDIT_TRAILS: COMPONENT_IDENTIFIED: ContributorID Pillar2 Result: Received event: e2ad63f6: GET_AUDIT_TRAILS: IDENTIFICATION_COMPLETE: Contributors: [Pillar1, Pillar2] Result: Received event: e2ad63f6: GET_AUDIT_TRAILS: REQUEST_SENT: ContributorID [Pillar1, Pillar2], Sending request for audit trails Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@2ac665a[correlationID=e2ad63f6-262e-4d9c-9ebb-ee8106efd728, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=incompleteSetOfFinalResponsesTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), contributor=Pillar1, fileID=(default), minSequenceNumber=(default), maxSequenceNumber=(default), minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), resultAddress=(default)] Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@60d7f351[correlationID=e2ad63f6-262e-4d9c-9ebb-ee8106efd728, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=incompleteSetOfFinalResponsesTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), contributor=Pillar2, fileID=(default), minSequenceNumber=(default), maxSequenceNumber=(default), minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), resultAddress=(default)] Test success: incompleteSetOfFinalResponsesTest Result: The following messages haven't been handled by the testcase: org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@60d7f351[correlationID=e2ad63f6-262e-4d9c-9ebb-ee8106efd728, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=incompleteSetOfFinalResponsesTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), contributor=Pillar2, fileID=(default), minSequenceNumber=(default), maxSequenceNumber=(default), minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), resultAddress=(default)] 14:32:38.465 WARN o.b.protocol.bus.MessageReceiver - The following messages haven't been handled by the testcase: org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@60d7f351[correlationID=e2ad63f6-262e-4d9c-9ebb-ee8106efd728, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=incompleteSetOfFinalResponsesTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), contributor=Pillar2, fileID=(default), minSequenceNumber=(default), maxSequenceNumber=(default), minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), resultAddress=(default)] Test starting: negativeGetAuditTrailsResponseTest Description: Verify that the GetAuditTrail client works correct when receiving a negative GetAuditTrails response from one contributers. Step: Create a AuditTrailClient. Step: Retrieve all audit trails from the collection by calling with a null componentQueries array Stimuli: Calling getAuditTrails(null, null, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyContributorsForGetAuditTrailsRequest@7e29471f[correlationID=2b31d599-0259-4219-9eab-39b6597e75bd, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=negativeGetAuditTrailsResponseTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default)] Result: Received event: 2b31d599: GET_AUDIT_TRAILS: IDENTIFY_REQUEST_SENT: , Identifying contributers for audit trails Step: Send a identifyResponse from each of the two pillars Result: Received event: 2b31d599: GET_AUDIT_TRAILS: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: 2b31d599: GET_AUDIT_TRAILS: COMPONENT_IDENTIFIED: ContributorID Pillar2 Result: Received event: 2b31d599: GET_AUDIT_TRAILS: IDENTIFICATION_COMPLETE: Contributors: [Pillar1, Pillar2] Result: Received event: 2b31d599: GET_AUDIT_TRAILS: REQUEST_SENT: ContributorID [Pillar1, Pillar2], Sending request for audit trails Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@52c3818d[correlationID=2b31d599-0259-4219-9eab-39b6597e75bd, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=negativeGetAuditTrailsResponseTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), contributor=Pillar1, fileID=(default), minSequenceNumber=(default), maxSequenceNumber=(default), minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), resultAddress=(default)] Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@66e63575[correlationID=2b31d599-0259-4219-9eab-39b6597e75bd, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=negativeGetAuditTrailsResponseTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), contributor=Pillar2, fileID=(default), minSequenceNumber=(default), maxSequenceNumber=(default), minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), resultAddress=(default)] Step: Send a failed response from pillar 1 Result: Received event: 2b31d599: GET_AUDIT_TRAILS: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE, GetAuditTrails failed Step: Send a final response from pillar 2 Result: Received event: 2b31d599: GET_AUDIT_TRAILS: COMPONENT_COMPLETE: ContributorID Pillar2, NumberOfAuditTrailEvents=2, PartialResult=false Result: Received event: 2b31d599: GET_AUDIT_TRAILS: FAILED: , Failed operation. Cause(s): [2b31d599: GET_AUDIT_TRAILS: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE, GetAuditTrails failed] Test success: negativeGetAuditTrailsResponseTest Test starting: noFinalResponsesTest Description: Tests the the AuditTrailClient handles lack of Final Responses gracefully Step: Set a 100 ms timeout for the operation. Step: Make the client ask for all audit trails. Stimuli: Calling getAuditTrails(null, null, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyContributorsForGetAuditTrailsRequest@15e2a1d9[correlationID=5086269b-6e6e-41cf-a07b-e745ed93bf07, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=noFinalResponsesTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default)] Result: Received event: 5086269b: GET_AUDIT_TRAILS: IDENTIFY_REQUEST_SENT: , Identifying contributers for audit trails Step: Send a identifyResponse from each of the two pillars Result: Received event: 5086269b: GET_AUDIT_TRAILS: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: 5086269b: GET_AUDIT_TRAILS: COMPONENT_IDENTIFIED: ContributorID Pillar2 Result: Received event: 5086269b: GET_AUDIT_TRAILS: IDENTIFICATION_COMPLETE: Contributors: [Pillar2, Pillar1] Result: Received event: 5086269b: GET_AUDIT_TRAILS: REQUEST_SENT: ContributorID [Pillar1, Pillar2], Sending request for audit trails Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@12c82e19[correlationID=5086269b-6e6e-41cf-a07b-e745ed93bf07, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=noFinalResponsesTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), contributor=Pillar1, fileID=(default), minSequenceNumber=(default), maxSequenceNumber=(default), minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), resultAddress=(default)] Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@1224a9f0[correlationID=5086269b-6e6e-41cf-a07b-e745ed93bf07, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=noFinalResponsesTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), contributor=Pillar2, fileID=(default), minSequenceNumber=(default), maxSequenceNumber=(default), minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), resultAddress=(default)] Step: Wait for 1 second Result: Received event: 5086269b: GET_AUDIT_TRAILS: FAILED: , Failed to receive responses from all contributors before timeout(100ms). Missing contributors [Pillar1, Pillar2] 14:32:38.793 ERROR o.b.a.g.client.GettingAuditTrails - Failing conversation 'AuditTrailConversationContext{collectionID='TwoPillarCollection', conversationID='5086269b-6e6e-41cf-a07b-e745ed93bf07', clientID='noFinalResponsesTest', fileID='null', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='5086269b', operationType=GET_AUDIT_TRAILS, fileID='null', eventHandler=org.bitrepository.client.TestEventHandler@b266be, contributorCompleteEvents=[], contributorFailedEvents=[], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@3d909ccc, checksumPillars=[]}' with exception org.bitrepository.common.exceptions.UnableToFinishException: Failed to receive responses from all contributors before timeout(100ms). Missing contributors [Pillar1, Pillar2] at org.bitrepository.client.conversation.PerformingOperationState.logStateTimeout(PerformingOperationState.java:82) at org.bitrepository.client.conversation.GeneralConversationState$TimeoutHandler.run(GeneralConversationState.java:133) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Test success: noFinalResponsesTest Result: The following messages haven't been handled by the testcase: org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@12c82e19[correlationID=5086269b-6e6e-41cf-a07b-e745ed93bf07, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=noFinalResponsesTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), contributor=Pillar1, fileID=(default), minSequenceNumber=(default), maxSequenceNumber=(default), minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), resultAddress=(default)] 14:32:38.797 WARN o.b.protocol.bus.MessageReceiver - The following messages haven't been handled by the testcase: org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@12c82e19[correlationID=5086269b-6e6e-41cf-a07b-e745ed93bf07, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=noFinalResponsesTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), contributor=Pillar1, fileID=(default), minSequenceNumber=(default), maxSequenceNumber=(default), minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), resultAddress=(default)] Result: The following messages haven't been handled by the testcase: org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@1224a9f0[correlationID=5086269b-6e6e-41cf-a07b-e745ed93bf07, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=noFinalResponsesTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), contributor=Pillar2, fileID=(default), minSequenceNumber=(default), maxSequenceNumber=(default), minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), resultAddress=(default)] 14:32:38.798 WARN o.b.protocol.bus.MessageReceiver - The following messages haven't been handled by the testcase: org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@1224a9f0[correlationID=5086269b-6e6e-41cf-a07b-e745ed93bf07, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=noFinalResponsesTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), contributor=Pillar2, fileID=(default), minSequenceNumber=(default), maxSequenceNumber=(default), minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), resultAddress=(default)] Test starting: progressEventsTest Description: Tests that progress events are handled correctly. Step: Create a AuditTrailClient. Step: Retrieve all audit trails from the collection by calling with a null componentQueries array Stimuli: Calling getAuditTrails(null, null, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyContributorsForGetAuditTrailsRequest@67e43f51[correlationID=a8e22797-ec0a-4f19-8a63-58b9cd2d2f3b, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=progressEventsTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default)] Result: Received event: a8e22797: GET_AUDIT_TRAILS: IDENTIFY_REQUEST_SENT: , Identifying contributers for audit trails Step: Send a identifyResponse from each of the two pillars Result: Received event: a8e22797: GET_AUDIT_TRAILS: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: a8e22797: GET_AUDIT_TRAILS: COMPONENT_IDENTIFIED: ContributorID Pillar2 Result: Received event: a8e22797: GET_AUDIT_TRAILS: IDENTIFICATION_COMPLETE: Contributors: [Pillar2, Pillar1] Result: Received event: a8e22797: GET_AUDIT_TRAILS: REQUEST_SENT: ContributorID [Pillar1, Pillar2], Sending request for audit trails Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@1f208930[correlationID=a8e22797-ec0a-4f19-8a63-58b9cd2d2f3b, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=progressEventsTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), contributor=Pillar1, fileID=(default), minSequenceNumber=(default), maxSequenceNumber=(default), minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), resultAddress=(default)] Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@59783332[correlationID=a8e22797-ec0a-4f19-8a63-58b9cd2d2f3b, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=progressEventsTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), contributor=Pillar2, fileID=(default), minSequenceNumber=(default), maxSequenceNumber=(default), minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), resultAddress=(default)] Step: Send a progress accepted response from pillar 1 Result: Received event: a8e22797: GET_AUDIT_TRAILS: PROGRESS: ContributorID Pillar1, GetAuditTrails request accepted Step: Send a general progress response from pillar 2 Result: Received event: a8e22797: GET_AUDIT_TRAILS: PROGRESS: ContributorID Pillar2, Still progressing Test success: progressEventsTest Result: Received event: e2ad63f6: GET_AUDIT_TRAILS: FAILED: , Failed to receive responses from all contributors before timeout(500ms). Missing contributors [Pillar1, Pillar2] 14:32:38.961 ERROR o.b.a.g.client.GettingAuditTrails - Failing conversation 'AuditTrailConversationContext{collectionID='TwoPillarCollection', conversationID='e2ad63f6-262e-4d9c-9ebb-ee8106efd728', clientID='incompleteSetOfFinalResponsesTest', fileID='null', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='e2ad63f6', operationType=GET_AUDIT_TRAILS, fileID='null', eventHandler=org.bitrepository.client.TestEventHandler@7a89bd4d, contributorCompleteEvents=[], contributorFailedEvents=[], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@54b3bbb5, checksumPillars=[]}' with exception org.bitrepository.common.exceptions.UnableToFinishException: Failed to receive responses from all contributors before timeout(500ms). Missing contributors [Pillar1, Pillar2] at org.bitrepository.client.conversation.PerformingOperationState.logStateTimeout(PerformingOperationState.java:82) at org.bitrepository.client.conversation.GeneralConversationState$TimeoutHandler.run(GeneralConversationState.java:133) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Test starting: verifyAuditTrailClientFromFactory Test success: verifyAuditTrailClientFromFactory Test starting: collectionIDIncludedInEventsTest Description: Tests the the client provides collectionID in events. Step: Set a 0.5 second operation timeout. Step: Start the operation Stimuli: Calling getAuditTrails(null, null, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyContributorsForGetAuditTrailsRequest@4b186c95[correlationID=8d16f3cf-4f7a-4385-895a-c4494164f6cb, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=collectionIDIncludedInEventsTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default)] Result: Received event: 8d16f3cf: GET_AUDIT_TRAILS: IDENTIFY_REQUEST_SENT: , Identifying contributers for audit trails Step: Send positive responses from the pillar1 and a negative response from pillar2 Result: Received event: 8d16f3cf: GET_AUDIT_TRAILS: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: 8d16f3cf: GET_AUDIT_TRAILS: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: IDENTIFICATION_NEGATIVE Result: Received event: 8d16f3cf: GET_AUDIT_TRAILS: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: 8d16f3cf: GET_AUDIT_TRAILS: REQUEST_SENT: ContributorID [Pillar1], Sending request for audit trails Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@11f26db1[correlationID=8d16f3cf-4f7a-4385-895a-c4494164f6cb, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=collectionIDIncludedInEventsTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), contributor=Pillar1, fileID=(default), minSequenceNumber=(default), maxSequenceNumber=(default), minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), resultAddress=(default)] Step: Wait for 1 second Result: Received event: 8d16f3cf: GET_AUDIT_TRAILS: FAILED: , Failed to receive responses from all contributors before timeout(500ms). Missing contributors [Pillar1] 14:32:39.636 ERROR o.b.a.g.client.GettingAuditTrails - Failing conversation 'AuditTrailConversationContext{collectionID='TwoPillarCollection', conversationID='8d16f3cf-4f7a-4385-895a-c4494164f6cb', clientID='collectionIDIncludedInEventsTest', fileID='null', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='8d16f3cf', operationType=GET_AUDIT_TRAILS, fileID='null', eventHandler=org.bitrepository.client.TestEventHandler@47a7b00b, contributorCompleteEvents=[], contributorFailedEvents=[8d16f3cf: GET_AUDIT_TRAILS: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: IDENTIFICATION_NEGATIVE], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@7ee832cf, checksumPillars=[]}' with exception org.bitrepository.common.exceptions.UnableToFinishException: Failed to receive responses from all contributors before timeout(500ms). Missing contributors [Pillar1] at org.bitrepository.client.conversation.PerformingOperationState.logStateTimeout(PerformingOperationState.java:82) at org.bitrepository.client.conversation.GeneralConversationState$TimeoutHandler.run(GeneralConversationState.java:133) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Test success: collectionIDIncludedInEventsTest Test starting: conversationTimeoutTest Description: Tests the the client handles lack of IdentifyPillarResponses gracefully Step: Set a 100 ms ConversationTimeout. Step: Start the operation Stimuli: Calling getAuditTrails(null, null, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyContributorsForGetAuditTrailsRequest@67676e5b[correlationID=aa6b2bb9-83c6-45ba-b455-45e0f4442543, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=conversationTimeoutTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default)] Result: Received event: aa6b2bb9: GET_AUDIT_TRAILS: IDENTIFY_REQUEST_SENT: , Identifying contributers for audit trails 14:32:40.765 WARN o.b.c.c.m.CollectionBasedConversationMediator - Failing timed out conversation aa6b2bb9-83c6-45ba-b455-45e0f4442543 (Age 999ms) Result: Received event: aa6b2bb9: GET_AUDIT_TRAILS: FAILED: , Failing timed out conversation aa6b2bb9-83c6-45ba-b455-45e0f4442543 Test success: conversationTimeoutTest Test starting: identificationFailureTest Description: Verify that the client works correctly when a contributor sends a failure response. Step: Start the operation. Stimuli: Calling getAuditTrails(null, null, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyContributorsForGetAuditTrailsRequest@19dd4e94[correlationID=ff031223-109d-432c-82de-fb927768d960, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=identificationFailureTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default)] Result: Received event: ff031223: GET_AUDIT_TRAILS: IDENTIFY_REQUEST_SENT: , Identifying contributers for audit trails Step: Send a identification response from contributor1 with a FAILURE response code. Result: Received event: ff031223: GET_AUDIT_TRAILS: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE Step: Send a identification response from contributor2 with a IDENTIFICATION_POSITIVE response code . Result: Received event: ff031223: GET_AUDIT_TRAILS: COMPONENT_IDENTIFIED: ContributorID Pillar2 Result: Received event: ff031223: GET_AUDIT_TRAILS: IDENTIFICATION_COMPLETE: Contributors: [Pillar2] Result: Received event: ff031223: GET_AUDIT_TRAILS: REQUEST_SENT: ContributorID [Pillar2], Sending request for audit trails Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@6a7cd14c[correlationID=ff031223-109d-432c-82de-fb927768d960, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=identificationFailureTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), contributor=Pillar2, fileID=(default), minSequenceNumber=(default), maxSequenceNumber=(default), minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), resultAddress=(default)] Step: Verify that the client continues to the performing phase. Step: Send a final response message from contributor2 Result: Received event: ff031223: GET_AUDIT_TRAILS: COMPONENT_COMPLETE: ContributorID Pillar2, PartialResult=false Result: Received event: ff031223: GET_AUDIT_TRAILS: FAILED: , Failed operation. Cause(s): [ff031223: GET_AUDIT_TRAILS: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE] Test success: identificationFailureTest Test starting: identificationNegativeTest Description: Verify that the client works correctly when a contributor sends a negative response. Step: Start the operation. Stimuli: Calling getAuditTrails(null, null, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyContributorsForGetAuditTrailsRequest@2ac59630[correlationID=57a9304d-b58f-435d-b4d8-e6b1131ca994, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=identificationNegativeTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default)] Result: Received event: 57a9304d: GET_AUDIT_TRAILS: IDENTIFY_REQUEST_SENT: , Identifying contributers for audit trails Step: Send a identification response from contributor1 with a IDENTIFICATION_NEGATIVE response code . Result: Received event: 57a9304d: GET_AUDIT_TRAILS: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: IDENTIFICATION_NEGATIVE Step: Send a identification response from contributor2 with a IDENTIFICATION_POSITIVE response code . Result: Received event: 57a9304d: GET_AUDIT_TRAILS: COMPONENT_IDENTIFIED: ContributorID Pillar2 Result: Received event: 57a9304d: GET_AUDIT_TRAILS: IDENTIFICATION_COMPLETE: Contributors: [Pillar2] Result: Received event: 57a9304d: GET_AUDIT_TRAILS: REQUEST_SENT: ContributorID [Pillar2], Sending request for audit trails Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@72cb82a9[correlationID=57a9304d-b58f-435d-b4d8-e6b1131ca994, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=identificationNegativeTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), contributor=Pillar2, fileID=(default), minSequenceNumber=(default), maxSequenceNumber=(default), minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), resultAddress=(default)] Step: Verify that the client continues to the performing phase. Step: Send a final response message from contributor2 Result: Received event: 57a9304d: GET_AUDIT_TRAILS: COMPONENT_COMPLETE: ContributorID Pillar2, PartialResult=false Result: Received event: 57a9304d: GET_AUDIT_TRAILS: FAILED: , Failed operation. Cause(s): [57a9304d: GET_AUDIT_TRAILS: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: IDENTIFICATION_NEGATIVE] Test success: identificationNegativeTest Test starting: noContributorsRespondingTest Description: Tests the the client handles lack of a IdentifyResponse gracefully. More concrete this means that the occurrence of a identification timeout should be handled correctly Step: Set a 100 ms timeout for identifying contributors. Step: Start the operation. Stimuli: Calling getAuditTrails(null, null, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyContributorsForGetAuditTrailsRequest@596efec0[correlationID=3ac3b851-98b6-4e3a-9dae-51825eafb880, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=noContributorsRespondingTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default)] Result: Received event: 3ac3b851: GET_AUDIT_TRAILS: IDENTIFY_REQUEST_SENT: , Identifying contributers for audit trails Step: Wait for 1 second Result: Received event: 3ac3b851: GET_AUDIT_TRAILS: IDENTIFY_TIMEOUT: , Time has run out for looking up contributors The following contributors didn't respond: [Pillar1, Pillar2] Result: Received event: 3ac3b851: GET_AUDIT_TRAILS: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor Result: Received event: 3ac3b851: GET_AUDIT_TRAILS: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor Result: Received event: 3ac3b851: GET_AUDIT_TRAILS: FAILED: , Unable to continue operation, contributors unavailable. 14:32:43.158 ERROR o.b.a.g.c.IdentifyingAuditTrailContributors - Failing conversation 'AuditTrailConversationContext{collectionID='TwoPillarCollection', conversationID='3ac3b851-98b6-4e3a-9dae-51825eafb880', clientID='noContributorsRespondingTest', fileID='null', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='3ac3b851', operationType=GET_AUDIT_TRAILS, fileID='null', eventHandler=org.bitrepository.client.TestEventHandler@47a7b00b, contributorCompleteEvents=[], contributorFailedEvents=[3ac3b851: GET_AUDIT_TRAILS: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor, 3ac3b851: GET_AUDIT_TRAILS: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@49bc8b8a, checksumPillars=[]}' with exception org.bitrepository.common.exceptions.UnableToFinishException: Unable to continue operation, contributors unavailable. at org.bitrepository.client.conversation.IdentifyingState.completeState(IdentifyingState.java:76) at org.bitrepository.client.conversation.GeneralConversationState.changeState(GeneralConversationState.java:147) at org.bitrepository.client.conversation.GeneralConversationState.access$100(GeneralConversationState.java:48) at org.bitrepository.client.conversation.GeneralConversationState$TimeoutHandler.run(GeneralConversationState.java:134) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Test success: noContributorsRespondingTest Result: The following messages haven't been handled by the testcase: org.bitrepository.bitrepositorymessages.IdentifyContributorsForGetAuditTrailsRequest@596efec0[correlationID=3ac3b851-98b6-4e3a-9dae-51825eafb880, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=noContributorsRespondingTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default)] 14:32:43.161 WARN o.b.protocol.bus.MessageReceiver - The following messages haven't been handled by the testcase: org.bitrepository.bitrepositorymessages.IdentifyContributorsForGetAuditTrailsRequest@596efec0[correlationID=3ac3b851-98b6-4e3a-9dae-51825eafb880, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=noContributorsRespondingTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default)] Test starting: oneContributorNotRespondingTest Description: Verify that the client works correct without receiving identification responses from all contributors. Added fixture: Set the a identification timeout to 100 ms. Step: Start the operation. Stimuli: Calling getAuditTrails(null, null, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyContributorsForGetAuditTrailsRequest@218412a6[correlationID=4a7c4732-bf27-4fa4-8122-d00cd5cea22c, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=oneContributorNotRespondingTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default)] Result: Received event: 4a7c4732: GET_AUDIT_TRAILS: IDENTIFY_REQUEST_SENT: , Identifying contributers for audit trails Step: Send a identification response from contributor1. Result: Received event: 4a7c4732: GET_AUDIT_TRAILS: COMPONENT_IDENTIFIED: ContributorID Pillar1 Step: Wait 1 second. Result: Received event: 4a7c4732: GET_AUDIT_TRAILS: IDENTIFY_TIMEOUT: , Time has run out for looking up contributors The following contributors didn't respond: [Pillar2] Result: Received event: 4a7c4732: GET_AUDIT_TRAILS: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor Result: Received event: 4a7c4732: GET_AUDIT_TRAILS: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: 4a7c4732: GET_AUDIT_TRAILS: REQUEST_SENT: ContributorID [Pillar1], Sending request for audit trails Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@9bff1b[correlationID=4a7c4732-bf27-4fa4-8122-d00cd5cea22c, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=oneContributorNotRespondingTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), contributor=Pillar1, fileID=(default), minSequenceNumber=(default), maxSequenceNumber=(default), minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), resultAddress=(default)] Step: Verify that the client continues to the performing phase. Step: Send a final response upload message Result: Received event: 4a7c4732: GET_AUDIT_TRAILS: COMPONENT_COMPLETE: ContributorID Pillar1, PartialResult=false Result: Received event: 4a7c4732: GET_AUDIT_TRAILS: FAILED: , Failed operation. Cause(s): [4a7c4732: GET_AUDIT_TRAILS: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor] Test success: oneContributorNotRespondingTest Test starting: operationTimeoutTest Description: Tests the the client handles lack of final responses gracefully. Step: Set a 100 ms operation timeout. Step: Start the operation Stimuli: Calling getAuditTrails(null, null, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyContributorsForGetAuditTrailsRequest@17a12b32[correlationID=b96ede32-7439-4745-8b81-249d291616e1, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=operationTimeoutTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default)] Result: Received event: b96ede32: GET_AUDIT_TRAILS: IDENTIFY_REQUEST_SENT: , Identifying contributers for audit trails Step: Send positive responses from the pillar1 and a negative response from pillar2 Result: Received event: b96ede32: GET_AUDIT_TRAILS: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: b96ede32: GET_AUDIT_TRAILS: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: IDENTIFICATION_NEGATIVE Result: Received event: b96ede32: GET_AUDIT_TRAILS: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: b96ede32: GET_AUDIT_TRAILS: REQUEST_SENT: ContributorID [Pillar1], Sending request for audit trails Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@3031bd04[correlationID=b96ede32-7439-4745-8b81-249d291616e1, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=operationTimeoutTest, to=(default), version=31, minVersion=24, auditTrailInformation=(default), contributor=Pillar1, fileID=(default), minSequenceNumber=(default), maxSequenceNumber=(default), minTimestamp=(default), maxTimestamp=(default), maxNumberOfResults=(default), resultAddress=(default)] Step: Wait for 1 second Result: Received event: b96ede32: GET_AUDIT_TRAILS: FAILED: , Failed to receive responses from all contributors before timeout(100ms). Missing contributors [Pillar1] 14:32:43.613 ERROR o.b.a.g.client.GettingAuditTrails - Failing conversation 'AuditTrailConversationContext{collectionID='TwoPillarCollection', conversationID='b96ede32-7439-4745-8b81-249d291616e1', clientID='operationTimeoutTest', fileID='null', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='b96ede32', operationType=GET_AUDIT_TRAILS, fileID='null', eventHandler=org.bitrepository.client.TestEventHandler@47a7b00b, contributorCompleteEvents=[], contributorFailedEvents=[b96ede32: GET_AUDIT_TRAILS: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: IDENTIFICATION_NEGATIVE], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@7ac630eb, checksumPillars=[]}' with exception org.bitrepository.common.exceptions.UnableToFinishException: Failed to receive responses from all contributors before timeout(100ms). Missing contributors [Pillar1] at org.bitrepository.client.conversation.PerformingOperationState.logStateTimeout(PerformingOperationState.java:82) at org.bitrepository.client.conversation.GeneralConversationState$TimeoutHandler.run(GeneralConversationState.java:133) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Test success: operationTimeoutTest Starting testcase GetChecksumsCmdTest Test starting: checksumArgumentNonSaltAlgorithmWitoutSaltTest Description: Test MD5 checksum without salt -> no failure Test success: checksumArgumentNonSaltAlgorithmWitoutSaltTest Test starting: checksumArgumentSaltAlgorithmWithSaltTest Description: Test HMAC_SHA256 checksum with salt -> No failure Test success: checksumArgumentSaltAlgorithmWithSaltTest Test starting: defaultSuccessScenarioTest Description: Tests simplest arguments for running the CmdLineClient Test success: defaultSuccessScenarioTest Test starting: fileArgumentTest Description: Tests the argument for a specific file. Test success: fileArgumentTest Test starting: missingCollectionArgumentTest Description: Tests the scenario, where the collection arguments is missing. Takes the following arguments: -s The path to the directory with the settings files for the client -k The path to the file containing the private key. -v Makes the client more verbose -c The id for the collection to perform the operation on. -i The id for the file to perform the operation on. -p [OPTIONAL] The id of the pillar where the operation should be performed. If undefined the operation is performed on all pillars. -R [OPTIONAL] The algorithm of checksum to request in the response from the pillars. If no such argument is given, then the default from settings is retrieved. -S [OPTIONAL] The salt of checksum to request in the response. Requires the ChecksumType argument. Missing argument: Missing required option: c Test success: missingCollectionArgumentTest Test starting: specificPillarArgumentTest Description: Test argument for a specific pillar Test success: specificPillarArgumentTest Test starting: unknownPillarArgumentTest Description: Testing against a non-existing pillar id -> Should fail Invalid argument: Random1599827564868pillar is not a valid pillar for collection TwoPillarCollection The collection contains the following pillars: [Pillar1, Pillar2] Test success: unknownPillarArgumentTest Starting testcase NegativeResponseExceptionTest Test starting: testNegativeResponse Description: Test the instantiation of the exception Step: Setup Step: Try to throw such an exception with the response code Test success: testNegativeResponse Starting testcase PutFileClientComponentTest Test starting: defaultReturnChecksumsWithChecksumPillar Description: Tests that PutClient handles the presence of a ChecksumPillar correctly, when a return checksum of default type is requested (which a checksum pillar can provide). Step: Call putFile while requesting a salted checksum to be returned. Stimuli: Calling PutFileWithId(file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, default-test-file.txt, 0, null, org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@6d279b2c[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], org.bitrepository.client.TestEventHandler@4b527f7, TEST-AUDIT-TRAIL) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@72781250[correlationID=b70c8e09-db86-415e-bae8-12d354ce5036, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=defaultReturnChecksumsWithChecksumPillar, to=(default), version=31, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, fileID=default-test-file.txt, fileSize=0] Result: Received event: b70c8e09: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file Step: Send an identification response with a PillarChecksumSpec element set, indicating that this is a checksum pillar. Result: Received event: b70c8e09: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1 Step: Send an normal identification response from pillar2. Result: Received event: b70c8e09: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2 Result: Received event: b70c8e09: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar2, Pillar1] Result: Received event: b70c8e09: PUT_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1, Pillar2], Sending request for put file Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@35c07d42[correlationID=b70c8e09-db86-415e-bae8-12d354ce5036, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=defaultReturnChecksumsWithChecksumPillar, to=(default), version=31, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, pillarID=Pillar1, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=(default), checksumRequestForNewFile=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@6d279b2c[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)]] Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@7db743ac[correlationID=b70c8e09-db86-415e-bae8-12d354ce5036, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=defaultReturnChecksumsWithChecksumPillar, to=(default), version=31, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, pillarID=Pillar2, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=(default), checksumRequestForNewFile=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@6d279b2c[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)]] Test success: defaultReturnChecksumsWithChecksumPillar Test starting: fileExistsOnPillarChecksumFromPillarNoClientChecksum Description: Tests that PutClient handles the presence of a file correctly, when the pillar returns a checksum but the putFile was called without a checksum. Step: Call putFile. Stimuli: Calling PutFileWithId(file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, default-test-file.txt, 0, null, null, org.bitrepository.client.TestEventHandler@49e1bdd8, TEST-AUDIT-TRAIL) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@4429d672[correlationID=32d5b290-34d7-43ed-8279-db961e9cd3f0, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=fileExistsOnPillarChecksumFromPillarNoClientChecksum, to=(default), version=31, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, fileID=default-test-file.txt, fileSize=0] Result: Received event: 32d5b290: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file Step: Send a DUPLICATE_FILE_FAILURE response with a random checksum. Result: Received event: 32d5b290: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: DUPLICATE_FILE_FAILURE, Received negative response from component Pillar1: org.bitrepository.bitrepositoryelements.ResponseInfo@20395421[responseCode=DUPLICATE_FILE_FAILURE, responseText=Testing the handling of 'DUPLICATE FILE' identification.] (existing file checksum does not match) Result: Received event: 32d5b290: PUT_FILE for file default-test-file.txt: FAILED: , Can not put file default-test-file.txt, as an different file already exists on pillar Pillar1 14:32:45.349 ERROR o.b.m.p.c.IdentifyPillarsForPutFile - Failing conversation 'PutFileConversationContext{collectionID='TwoPillarCollection', conversationID='32d5b290-34d7-43ed-8279-db961e9cd3f0', clientID='fileExistsOnPillarChecksumFromPillarNoClientChecksum', fileID='default-test-file.txt', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='32d5b290', operationType=PUT_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@49e1bdd8, contributorCompleteEvents=[], contributorFailedEvents=[32d5b290: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: DUPLICATE_FILE_FAILURE, Received negative response from component Pillar1: org.bitrepository.bitrepositoryelements.ResponseInfo@20395421[responseCode=DUPLICATE_FILE_FAILURE, responseText=Testing the handling of 'DUPLICATE FILE' identification.] (existing file checksum does not match)], failOnComponentFailure=true}, auditTrailInformation='TEST-AUDIT-TRAIL', state=org.bitrepository.client.conversation.FinishedState@2b430d06, checksumPillars=[]}' with exception org.bitrepository.common.exceptions.UnableToFinishException: Can not put file default-test-file.txt, as an different file already exists on pillar Pillar1 at org.bitrepository.modify.putfile.conversation.IdentifyPillarsForPutFile.handleFailureResponse(IdentifyPillarsForPutFile.java:76) at org.bitrepository.client.conversation.IdentifyingState.processMessage(IdentifyingState.java:60) at org.bitrepository.client.conversation.GeneralConversationState.handleMessage(GeneralConversationState.java:110) at org.bitrepository.client.conversation.StateBasedConversation.onMessage(StateBasedConversation.java:53) at org.bitrepository.client.conversation.mediator.CollectionBasedConversationMediator.onMessage(CollectionBasedConversationMediator.java:136) at org.bitrepository.protocol.messagebus.SimpleMessageBus.lambda$sendMessage$0(SimpleMessageBus.java:73) at java.lang.Iterable.forEach(Iterable.java:75) at org.bitrepository.protocol.messagebus.SimpleMessageBus.sendMessage(SimpleMessageBus.java:73) at org.bitrepository.modify.putfile.PutFileClientComponentTest.fileExistsOnPillarChecksumFromPillarNoClientChecksum(PutFileClientComponentTest.java:492) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:134) at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:597) at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:173) at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46) at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:816) at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:146) at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128) at java.util.ArrayList.forEach(ArrayList.java:1249) at org.testng.TestRunner.privateRun(TestRunner.java:766) at org.testng.TestRunner.run(TestRunner.java:587) at org.testng.SuiteRunner.runTest(SuiteRunner.java:384) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337) at org.testng.SuiteRunner.run(SuiteRunner.java:286) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1187) at org.testng.TestNG.runSuitesLocally(TestNG.java:1109) at org.testng.TestNG.runSuites(TestNG.java:1039) at org.testng.TestNG.run(TestNG.java:1007) at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:135) at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeMulti(TestNGDirectoryTestSuite.java:193) at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:94) at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:146) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:377) at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:138) at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:465) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:451) Test success: fileExistsOnPillarChecksumFromPillarNoClientChecksum Test starting: fileExistsOnPillarDifferentChecksumFromPillar Description: Tests that PutClient handles the presence of a file correctly, when the pillar returns a checksum different from the file being put. Step: Call putFile. Stimuli: Calling PutFileWithId(file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, default-test-file.txt, 0, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@2e8d4857[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@6dd94be6[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={-70}, calculationTimestamp=2020-09-11T14:32:45.535+02:00], null, org.bitrepository.client.TestEventHandler@13878c50, TEST-AUDIT-TRAIL) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@3bb80060[correlationID=c0094514-7d95-4306-9879-d0bd9d90a8e3, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=fileExistsOnPillarDifferentChecksumFromPillar, to=(default), version=31, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, fileID=default-test-file.txt, fileSize=0] Result: Received event: c0094514: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file Step: Send a DUPLICATE_FILE_FAILURE response with a random checksum. Result: Received event: c0094514: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: DUPLICATE_FILE_FAILURE, Received negative response from component Pillar1: org.bitrepository.bitrepositoryelements.ResponseInfo@77583895[responseCode=DUPLICATE_FILE_FAILURE, responseText=Testing the handling of 'DUPLICATE FILE' identification.] (existing file checksum does not match) Result: Received event: c0094514: PUT_FILE for file default-test-file.txt: FAILED: , Can not put file default-test-file.txt, as an different file already exists on pillar Pillar1 14:32:45.542 ERROR o.b.m.p.c.IdentifyPillarsForPutFile - Failing conversation 'PutFileConversationContext{collectionID='TwoPillarCollection', conversationID='c0094514-7d95-4306-9879-d0bd9d90a8e3', clientID='fileExistsOnPillarDifferentChecksumFromPillar', fileID='default-test-file.txt', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='c0094514', operationType=PUT_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@13878c50, contributorCompleteEvents=[], contributorFailedEvents=[c0094514: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: DUPLICATE_FILE_FAILURE, Received negative response from component Pillar1: org.bitrepository.bitrepositoryelements.ResponseInfo@77583895[responseCode=DUPLICATE_FILE_FAILURE, responseText=Testing the handling of 'DUPLICATE FILE' identification.] (existing file checksum does not match)], failOnComponentFailure=true}, auditTrailInformation='TEST-AUDIT-TRAIL', state=org.bitrepository.client.conversation.FinishedState@c188d1e, checksumPillars=[]}' with exception org.bitrepository.common.exceptions.UnableToFinishException: Can not put file default-test-file.txt, as an different file already exists on pillar Pillar1 at org.bitrepository.modify.putfile.conversation.IdentifyPillarsForPutFile.handleFailureResponse(IdentifyPillarsForPutFile.java:76) at org.bitrepository.client.conversation.IdentifyingState.processMessage(IdentifyingState.java:60) at org.bitrepository.client.conversation.GeneralConversationState.handleMessage(GeneralConversationState.java:110) at org.bitrepository.client.conversation.StateBasedConversation.onMessage(StateBasedConversation.java:53) at org.bitrepository.client.conversation.mediator.CollectionBasedConversationMediator.onMessage(CollectionBasedConversationMediator.java:136) at org.bitrepository.protocol.messagebus.SimpleMessageBus.lambda$sendMessage$0(SimpleMessageBus.java:73) at java.lang.Iterable.forEach(Iterable.java:75) at org.bitrepository.protocol.messagebus.SimpleMessageBus.sendMessage(SimpleMessageBus.java:73) at org.bitrepository.modify.putfile.PutFileClientComponentTest.fileExistsOnPillarDifferentChecksumFromPillar(PutFileClientComponentTest.java:401) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:134) at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:597) at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:173) at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46) at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:816) at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:146) at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128) at java.util.ArrayList.forEach(ArrayList.java:1249) at org.testng.TestRunner.privateRun(TestRunner.java:766) at org.testng.TestRunner.run(TestRunner.java:587) at org.testng.SuiteRunner.runTest(SuiteRunner.java:384) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337) at org.testng.SuiteRunner.run(SuiteRunner.java:286) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1187) at org.testng.TestNG.runSuitesLocally(TestNG.java:1109) at org.testng.TestNG.runSuites(TestNG.java:1039) at org.testng.TestNG.run(TestNG.java:1007) at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:135) at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeMulti(TestNGDirectoryTestSuite.java:193) at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:94) at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:146) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:377) at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:138) at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:465) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:451) Test success: fileExistsOnPillarDifferentChecksumFromPillar Test starting: fileExistsOnPillarNoChecksumFromPillar Description: Tests that PutClient handles the presence of a file correctly, when the pillar doesn't return a checksum in the identification response. Step: Call putFile. Stimuli: Calling PutFileWithId(file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, default-test-file.txt, 0, null, null, org.bitrepository.client.TestEventHandler@47baf39d, TEST-AUDIT-TRAIL) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@f798243[correlationID=378378b4-c23a-48a7-a4b8-377ac0747241, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=fileExistsOnPillarNoChecksumFromPillar, to=(default), version=31, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, fileID=default-test-file.txt, fileSize=0] Result: Received event: 378378b4: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file Step: Send a DUPLICATE_FILE_FAILURE response without a checksum. Result: Received event: 378378b4: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: DUPLICATE_FILE_FAILURE, Received negative response from component Pillar1: org.bitrepository.bitrepositoryelements.ResponseInfo@7fdc1d8e[responseCode=DUPLICATE_FILE_FAILURE, responseText=Testing the handling of 'DUPLICATE FILE' identification.] Result: Received event: 378378b4: PUT_FILE for file default-test-file.txt: FAILED: , Can not put file default-test-file.txt, as an file already exists on pillar Pillar1 14:32:45.679 ERROR o.b.m.p.c.IdentifyPillarsForPutFile - Failing conversation 'PutFileConversationContext{collectionID='TwoPillarCollection', conversationID='378378b4-c23a-48a7-a4b8-377ac0747241', clientID='fileExistsOnPillarNoChecksumFromPillar', fileID='default-test-file.txt', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='378378b4', operationType=PUT_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@47baf39d, contributorCompleteEvents=[], contributorFailedEvents=[378378b4: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: DUPLICATE_FILE_FAILURE, Received negative response from component Pillar1: org.bitrepository.bitrepositoryelements.ResponseInfo@7fdc1d8e[responseCode=DUPLICATE_FILE_FAILURE, responseText=Testing the handling of 'DUPLICATE FILE' identification.]], failOnComponentFailure=true}, auditTrailInformation='TEST-AUDIT-TRAIL', state=org.bitrepository.client.conversation.FinishedState@64a65f68, checksumPillars=[]}' with exception org.bitrepository.common.exceptions.UnableToFinishException: Can not put file default-test-file.txt, as an file already exists on pillar Pillar1 at org.bitrepository.modify.putfile.conversation.IdentifyPillarsForPutFile.handleFailureResponse(IdentifyPillarsForPutFile.java:84) at org.bitrepository.client.conversation.IdentifyingState.processMessage(IdentifyingState.java:60) at org.bitrepository.client.conversation.GeneralConversationState.handleMessage(GeneralConversationState.java:110) at org.bitrepository.client.conversation.StateBasedConversation.onMessage(StateBasedConversation.java:53) at org.bitrepository.client.conversation.mediator.CollectionBasedConversationMediator.onMessage(CollectionBasedConversationMediator.java:136) at org.bitrepository.protocol.messagebus.SimpleMessageBus.lambda$sendMessage$0(SimpleMessageBus.java:73) at java.lang.Iterable.forEach(Iterable.java:75) at org.bitrepository.protocol.messagebus.SimpleMessageBus.sendMessage(SimpleMessageBus.java:73) at org.bitrepository.modify.putfile.PutFileClientComponentTest.fileExistsOnPillarNoChecksumFromPillar(PutFileClientComponentTest.java:363) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:134) at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:597) at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:173) at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46) at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:816) at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:146) at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128) at java.util.ArrayList.forEach(ArrayList.java:1249) at org.testng.TestRunner.privateRun(TestRunner.java:766) at org.testng.TestRunner.run(TestRunner.java:587) at org.testng.SuiteRunner.runTest(SuiteRunner.java:384) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337) at org.testng.SuiteRunner.run(SuiteRunner.java:286) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1187) at org.testng.TestNG.runSuitesLocally(TestNG.java:1109) at org.testng.TestNG.runSuites(TestNG.java:1039) at org.testng.TestNG.run(TestNG.java:1007) at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:135) at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeMulti(TestNGDirectoryTestSuite.java:193) at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:94) at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:146) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:377) at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:138) at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:465) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:451) Test success: fileExistsOnPillarNoChecksumFromPillar Test starting: noPillarsResponding Description: Tests the handling of missing identification responses from all pillar Added fixture: Sets the identification timeout to 100 ms. Step: Request the putting of a file through the PutClient Stimuli: Calling PutFileWithId(file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, default-test-file.txt, 0, null, null, org.bitrepository.client.TestEventHandler@6517614, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@508a8524[correlationID=f4eabbb7-1af8-4091-8256-e117514ecc03, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=noPillarsResponding, to=(default), version=31, minVersion=24, auditTrailInformation=(default), fileID=default-test-file.txt, fileSize=0] Result: Received event: f4eabbb7: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file Step: Do not respond. Just await the timeout. Result: Received event: f4eabbb7: PUT_FILE for file default-test-file.txt: IDENTIFY_TIMEOUT: , Time has run out for looking up contributors The following contributors didn't respond: [Pillar1, Pillar2] Result: Received event: f4eabbb7: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor Result: Received event: f4eabbb7: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor Result: Received event: f4eabbb7: PUT_FILE for file default-test-file.txt: FAILED: , Unable to continue operation, contributors unavailable. 14:32:45.897 ERROR o.b.m.p.c.IdentifyPillarsForPutFile - Failing conversation 'PutFileConversationContext{collectionID='TwoPillarCollection', conversationID='f4eabbb7-1af8-4091-8256-e117514ecc03', clientID='noPillarsResponding', fileID='default-test-file.txt', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='f4eabbb7', operationType=PUT_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@6517614, contributorCompleteEvents=[], contributorFailedEvents=[f4eabbb7: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor, f4eabbb7: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@45870b36, checksumPillars=[]}' with exception org.bitrepository.common.exceptions.UnableToFinishException: Unable to continue operation, contributors unavailable. at org.bitrepository.client.conversation.IdentifyingState.completeState(IdentifyingState.java:76) at org.bitrepository.client.conversation.GeneralConversationState.changeState(GeneralConversationState.java:147) at org.bitrepository.client.conversation.GeneralConversationState.access$100(GeneralConversationState.java:48) at org.bitrepository.client.conversation.GeneralConversationState$TimeoutHandler.run(GeneralConversationState.java:134) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Test success: noPillarsResponding Test starting: noReturnChecksumsWithChecksumPillar Description: Tests that PutClient handles the presence of a ChecksumPillar correctly, when no return checksum is requested. Step: Call putFile while requesting a salted checksum to be returned. Stimuli: Calling PutFileWithId(file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, default-test-file.txt, 0, null, null, org.bitrepository.client.TestEventHandler@37230db, TEST-AUDIT-TRAIL) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@5b358ec8[correlationID=514b7b6c-9ce1-43df-b86b-2a2227a5a741, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=noReturnChecksumsWithChecksumPillar, to=(default), version=31, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, fileID=default-test-file.txt, fileSize=0] Result: Received event: 514b7b6c: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file Step: Send an identification response with a PillarChecksumSpec element set, indicating that this is a checksum pillar. Result: Received event: 514b7b6c: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1 Step: Send an normal identification response from pillar2. Result: Received event: 514b7b6c: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2 Result: Received event: 514b7b6c: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1, Pillar2] Result: Received event: 514b7b6c: PUT_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1, Pillar2], Sending request for put file Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@5c126571[correlationID=514b7b6c-9ce1-43df-b86b-2a2227a5a741, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=noReturnChecksumsWithChecksumPillar, to=(default), version=31, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, pillarID=Pillar1, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=(default), checksumRequestForNewFile=(default)] Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@2ba6f3f5[correlationID=514b7b6c-9ce1-43df-b86b-2a2227a5a741, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=noReturnChecksumsWithChecksumPillar, to=(default), version=31, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, pillarID=Pillar2, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=(default), checksumRequestForNewFile=(default)] Test success: noReturnChecksumsWithChecksumPillar Test starting: normalPutFile Description: Tests the PutClient. Makes a whole conversation for the put client for a 'good' scenario. Added fixture: Initialise the number of pillars to one Step: Ensure that the test-file is placed on the HTTP server. Step: Request the delivery of a file from a specific pillar. A callback listener should be supplied. Stimuli: Calling PutFileWithId(file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, default-test-file.txt, 0, null, null, org.bitrepository.client.TestEventHandler@6ab2b2ad, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@450ab544[correlationID=8848a47e-bb3d-4292-a151-e61e7fb8a70c, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=normalPutFile, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), fileID=default-test-file.txt, fileSize=0] Result: Received event: 8848a47e: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file Step: Make response for the pillar. Result: Received event: 8848a47e: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: 8848a47e: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: 8848a47e: PUT_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for put file Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@1cf855b7[correlationID=8848a47e-bb3d-4292-a151-e61e7fb8a70c, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=normalPutFile, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar1, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=(default), checksumRequestForNewFile=(default)] Step: Validate the steps of the PutClient by going through the events. Step: The pillar sends a progress response to the PutClient. Result: Received event: 8848a47e: PUT_FILE for file default-test-file.txt: PROGRESS: ContributorID Pillar1, First test progress response message Step: Send a final response message to the PutClient. Result: Received event: 8848a47e: PUT_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, requestedChecksumResult=null Result: Received event: 8848a47e: PUT_FILE for file default-test-file.txt: COMPLETE: Test success: normalPutFile Test starting: onePillarPutRetryFailure Reference: BITMAG-810 Reference client should be able to retry failed file transfers Description: Tests that a putfile attempt failing due to FILE_TRANSFER_FAILURE is only attempted the maximum allowed attempts Added fixture: Sets the identification timeout to 3 sec, allow two retries and only register one pillar. Step: Request the putting of a file through the PutClient Stimuli: Calling PutFileWithId(file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, default-test-file.txt, 0, null, null, org.bitrepository.client.TestEventHandler@d9e8e4, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@2ea78ea5[correlationID=caf42457-0146-4dfa-a53c-bc296be7ec74, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarPutRetryFailure, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), fileID=default-test-file.txt, fileSize=0] Result: Received event: caf42457: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file Step: Send an identification response from the one pillar. Result: Received event: caf42457: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: caf42457: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: caf42457: PUT_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for put file Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@47091b1b[correlationID=caf42457-0146-4dfa-a53c-bc296be7ec74, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarPutRetryFailure, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar1, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=(default), checksumRequestForNewFile=(default)] Step: The client should proceed to send a putFileOperation request to the responding pillar. Step: Send a PutFileFinalResponse indicating a FILE_TRANSFER_FAILURE Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@617659a[correlationID=caf42457-0146-4dfa-a53c-bc296be7ec74, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarPutRetryFailure, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar1, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=(default), checksumRequestForNewFile=(default)] Result: Received event: caf42457: PUT_FILE for file default-test-file.txt: WARNING: ContributorID Pillar1, Retrying putfile (attempt number 2) Step: Send a PutFileFinalResponse indicating a FILE_TRANSFER_FAILURE for the second put attempt Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@1f3f8436[correlationID=caf42457-0146-4dfa-a53c-bc296be7ec74, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarPutRetryFailure, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar1, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=(default), checksumRequestForNewFile=(default)] Result: Received event: caf42457: PUT_FILE for file default-test-file.txt: WARNING: ContributorID Pillar1, Retrying putfile (attempt number 3) Step: Send a PutFileFinalResponse indicating a FILE_TRANSFER_FAILURE for the third put attempt Result: Received event: caf42457: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FILE_TRANSFER_FAILURE Result: Received event: caf42457: PUT_FILE for file default-test-file.txt: FAILED: , Failed operation. Cause(s): [caf42457: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FILE_TRANSFER_FAILURE] Test success: onePillarPutRetryFailure Test starting: onePillarPutRetrySuccess Reference: BITMAG-810 Reference client should be able to retry failed file transfers Description: Tests the handling of a failed transmission when retry is allowed Added fixture: Sets the identification timeout to 3 sec, allow two retries and only register one pillar. Step: Request the putting of a file through the PutClient Stimuli: Calling PutFileWithId(file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, default-test-file.txt, 0, null, null, org.bitrepository.client.TestEventHandler@6ac6c5a6, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@4e3fe64f[correlationID=05cd2c30-ff3d-484c-8d6a-48885b9d1b86, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarPutRetrySuccess, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), fileID=default-test-file.txt, fileSize=0] Result: Received event: 05cd2c30: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file Step: Send an identification response from the one pillar. Result: Received event: 05cd2c30: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: 05cd2c30: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: 05cd2c30: PUT_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for put file Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@63bd03f3[correlationID=05cd2c30-ff3d-484c-8d6a-48885b9d1b86, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarPutRetrySuccess, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar1, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=(default), checksumRequestForNewFile=(default)] Step: The client should proceed to send a putFileOperation request to the responding pillar. Step: Send a PutFileFinalResponse indicating a FILE_TRANSFER_FAILURE Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@3f8a11d7[correlationID=05cd2c30-ff3d-484c-8d6a-48885b9d1b86, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarPutRetrySuccess, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar1, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=(default), checksumRequestForNewFile=(default)] Result: Received event: 05cd2c30: PUT_FILE for file default-test-file.txt: WARNING: ContributorID Pillar1, Retrying putfile (attempt number 2) Step: A new PutFileRequest is send, pillar responds with success Result: Received event: 05cd2c30: PUT_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, requestedChecksumResult=null Result: Received event: 05cd2c30: PUT_FILE for file default-test-file.txt: COMPLETE: Test success: onePillarPutRetrySuccess Test starting: onePillarRespondingWithPartialPutAllowed Reference: BITMAG-598 It should be possible to putFiles, even though only a subset of the pillars are available Description: Tests the handling of missing identification responses from one pillar, when partial put are allowed Added fixture: Sets the identification timeout to 100 ms and allow partial puts. Step: Request the putting of a file through the PutClient Stimuli: Calling PutFileWithId(file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, default-test-file.txt, 0, null, null, org.bitrepository.client.TestEventHandler@cf2f830, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@7e5af44a[correlationID=ae60f37d-1077-477b-9d77-05ecc98f93c0, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarRespondingWithPartialPutAllowed, to=(default), version=31, minVersion=24, auditTrailInformation=(default), fileID=default-test-file.txt, fileSize=0] Result: Received event: ae60f37d: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file Step: Only send an identification response from one pillar. Result: Received event: ae60f37d: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1 Step: Await the timeout. Result: Received event: ae60f37d: PUT_FILE for file default-test-file.txt: IDENTIFY_TIMEOUT: , Time has run out for looking up contributors The following contributors didn't respond: [Pillar2] Result: Received event: ae60f37d: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor Result: Received event: ae60f37d: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: ae60f37d: PUT_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for put file Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@68ca38d7[correlationID=ae60f37d-1077-477b-9d77-05ecc98f93c0, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarRespondingWithPartialPutAllowed, to=(default), version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar1, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=(default), checksumRequestForNewFile=(default)] Step: The client should proceed to send a putFileOperation request to the responding pillar. Step: Send a pillar complete event Result: Received event: ae60f37d: PUT_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, requestedChecksumResult=null Result: Received event: ae60f37d: PUT_FILE for file default-test-file.txt: FAILED: , Failed operation. Cause(s): [ae60f37d: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor] Test success: onePillarRespondingWithPartialPutAllowed Test starting: onePillarRespondingWithPartialPutDisallowed Description: Tests the handling of missing identification responses from one pillar, when partial put are allowed Added fixture: Sets the identification timeout to 100 ms and disallow partial puts. Step: Request the putting of a file through the PutClient Stimuli: Calling PutFileWithId(file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, default-test-file.txt, 0, null, null, org.bitrepository.client.TestEventHandler@7bee380f, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@2b14967f[correlationID=9ab22ab2-71d3-4caa-ab41-fb8a428c6c5f, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarRespondingWithPartialPutDisallowed, to=(default), version=31, minVersion=24, auditTrailInformation=(default), fileID=default-test-file.txt, fileSize=0] Result: Received event: 9ab22ab2: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file Step: Only send an identification response from one pillar. Result: Received event: 9ab22ab2: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1 Step: Await the timeout. Result: Received event: 9ab22ab2: PUT_FILE for file default-test-file.txt: IDENTIFY_TIMEOUT: , Time has run out for looking up contributors The following contributors didn't respond: [Pillar2] Result: Received event: 9ab22ab2: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor Result: Received event: 9ab22ab2: PUT_FILE for file default-test-file.txt: FAILED: , Unable to continue operation, contributors unavailable. 14:32:47.170 ERROR o.b.m.p.c.IdentifyPillarsForPutFile - Failing conversation 'PutFileConversationContext{collectionID='TwoPillarCollection', conversationID='9ab22ab2-71d3-4caa-ab41-fb8a428c6c5f', clientID='onePillarRespondingWithPartialPutDisallowed', fileID='default-test-file.txt', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='9ab22ab2', operationType=PUT_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@7bee380f, contributorCompleteEvents=[], contributorFailedEvents=[9ab22ab2: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@377661f2, checksumPillars=[]}' with exception org.bitrepository.common.exceptions.UnableToFinishException: Unable to continue operation, contributors unavailable. at org.bitrepository.client.conversation.IdentifyingState.completeState(IdentifyingState.java:76) at org.bitrepository.client.conversation.GeneralConversationState.changeState(GeneralConversationState.java:147) at org.bitrepository.client.conversation.GeneralConversationState.access$100(GeneralConversationState.java:48) at org.bitrepository.client.conversation.GeneralConversationState$TimeoutHandler.run(GeneralConversationState.java:134) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Test success: onePillarRespondingWithPartialPutDisallowed Test starting: putClientOperationTimeout Description: Tests the handling of a failed operation for the PutClient Step: Initialise the number of pillars and the PutClient. Sets the operation timeout to 100 ms. Step: Request the putting of a file through the PutClient Stimuli: Calling PutFileWithId(file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, default-test-file.txt, 0, null, null, org.bitrepository.client.TestEventHandler@7700fe65, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@351e85fe[correlationID=aa417c3a-2349-45ff-b200-0748ea6f12ec, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=putClientOperationTimeout, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), fileID=default-test-file.txt, fileSize=0] Result: Received event: aa417c3a: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file Step: Make response for the pillar. Result: Received event: aa417c3a: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: aa417c3a: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: aa417c3a: PUT_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for put file Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@517cee55[correlationID=aa417c3a-2349-45ff-b200-0748ea6f12ec, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=putClientOperationTimeout, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar1, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=(default), checksumRequestForNewFile=(default)] Step: Validate the steps of the PutClient by going through the events. Step: Do not respond. Just await the timeout. Result: Received event: aa417c3a: PUT_FILE for file default-test-file.txt: FAILED: , Failed to receive responses from all contributors before timeout(100ms). Missing contributors [Pillar1] 14:32:47.372 ERROR o.b.m.p.conversation.PuttingFile - Failing conversation 'PutFileConversationContext{collectionID='TwoPillarCollection', conversationID='aa417c3a-2349-45ff-b200-0748ea6f12ec', clientID='putClientOperationTimeout', fileID='default-test-file.txt', contributors=[Pillar1], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='aa417c3a', operationType=PUT_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@7700fe65, contributorCompleteEvents=[], contributorFailedEvents=[], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@7c7c4e9f, checksumPillars=[]}' with exception org.bitrepository.common.exceptions.UnableToFinishException: Failed to receive responses from all contributors before timeout(100ms). Missing contributors [Pillar1] at org.bitrepository.client.conversation.PerformingOperationState.logStateTimeout(PerformingOperationState.java:82) at org.bitrepository.client.conversation.GeneralConversationState$TimeoutHandler.run(GeneralConversationState.java:133) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Test success: putClientOperationTimeout Test starting: putClientPillarOperationFailed Description: Tests the handling of a operation failure for the PutClient. Step: Initialise the number of pillars to one Step: Ensure that the test-file is placed on the HTTP server. Step: Request the delivery of a file from a specific pillar. A callback listener should be supplied. Stimuli: Calling PutFileWithId(file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, default-test-file.txt, 0, null, null, org.bitrepository.client.TestEventHandler@749cad34, TEST-AUDIT-TRAIL) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@3446f434[correlationID=e7c1e4d8-56c8-42da-8e0b-3eb5b73f7586, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=putClientPillarOperationFailed, to=Pillar1, version=31, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, fileID=default-test-file.txt, fileSize=0] Result: Received event: e7c1e4d8: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file Step: Send pillar response. Result: Received event: e7c1e4d8: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: e7c1e4d8: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: e7c1e4d8: PUT_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for put file Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@31f42606[correlationID=e7c1e4d8-56c8-42da-8e0b-3eb5b73f7586, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=putClientPillarOperationFailed, to=Pillar1, version=31, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, pillarID=Pillar1, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=(default), checksumRequestForNewFile=(default)] Step: Validate the steps of the PutClient by going through the events. Step: Send a failed response message to the PutClient. Result: Received event: e7c1e4d8: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE, Verifying that a failure can be understood! Result: Received event: e7c1e4d8: PUT_FILE for file default-test-file.txt: FAILED: , Failed operation. Cause(s): [e7c1e4d8: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE, Verifying that a failure can be understood!] Test success: putClientPillarOperationFailed Test starting: putToOtherCollection Reference: BITMAG-925 Client will always try to put to the pillars defined in the first collection Description: Tests the putFIle client will correctly try to put to a second collection if required Added fixture: Sets the identification timeout to 3 sec, allow two retries and only register one pillar. Added fixture: Configure collection1 to contain both pillars and collection 2 to only contain pillar2 Step: Request the putting of a file through the PutClient for collection2 Stimuli: Calling PutFileWithId(file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, default-test-file.txt, 0, null, null, org.bitrepository.client.TestEventHandler@5db130d4, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@6f557a9f[correlationID=efbb4bdd-a3e6-4280-88fc-c98fa289f27b, collectionID=SinglePillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=putToOtherCollection, to=Pillar2, version=31, minVersion=24, auditTrailInformation=(default), fileID=default-test-file.txt, fileSize=0] Result: Received event: efbb4bdd: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file Step: Send an identification response from pillar2. Result: Received event: efbb4bdd: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2 Result: Received event: efbb4bdd: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar2] Result: Received event: efbb4bdd: PUT_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar2], Sending request for put file Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@5f60b101[correlationID=efbb4bdd-a3e6-4280-88fc-c98fa289f27b, collectionID=SinglePillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=putToOtherCollection, to=Pillar2, version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar2, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=(default), checksumRequestForNewFile=(default)] Step: Send a put complete event from the pillar Result: Received event: efbb4bdd: PUT_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar2, requestedChecksumResult=null Result: Received event: efbb4bdd: PUT_FILE for file default-test-file.txt: COMPLETE: Test success: putToOtherCollection Test starting: saltedReturnChecksumsWithChecksumPillar Description: Tests that PutClient handles the presence of a ChecksumPillar correctly, when a salted return checksum (which a checksum pillar can't provide) is requested. Reference: BITMAG-677put, replace and delete clients fails if return checksums are requested and a checksumpillar is involved Step: Call putFile while requesting a salted checksum to be returned. Stimuli: Calling PutFileWithId(file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, default-test-file.txt, 0, null, org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@7d3e3ae4[checksumType=HMAC_MD5, checksumSalt={-86}, otherChecksumType=(default)], org.bitrepository.client.TestEventHandler@f831eb8, TEST-AUDIT-TRAIL) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@53c92b14[correlationID=d3c4d41b-08e4-4079-90b2-80a1f8c161e0, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=saltedReturnChecksumsWithChecksumPillar, to=(default), version=31, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, fileID=default-test-file.txt, fileSize=0] Result: Received event: d3c4d41b: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file Step: Send an identification response with a PillarChecksumSpec element set, indicating that this is a checksum pillar. Result: Received event: d3c4d41b: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1 Step: Send an normal identification response from pillar2. Result: Received event: d3c4d41b: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2 Result: Received event: d3c4d41b: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1, Pillar2] Result: Received event: d3c4d41b: PUT_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1, Pillar2], Sending request for put file Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@63fb00a6[correlationID=d3c4d41b-08e4-4079-90b2-80a1f8c161e0, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=saltedReturnChecksumsWithChecksumPillar, to=(default), version=31, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, pillarID=Pillar1, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=(default), checksumRequestForNewFile=(default)] Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@133b1d58[correlationID=d3c4d41b-08e4-4079-90b2-80a1f8c161e0, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=saltedReturnChecksumsWithChecksumPillar, to=(default), version=31, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, pillarID=Pillar2, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=(default), checksumRequestForNewFile=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@7d3e3ae4[checksumType=HMAC_MD5, checksumSalt={-86}, otherChecksumType=(default)]] Test success: saltedReturnChecksumsWithChecksumPillar Test starting: sameFileExistsOnOnePillar Description: Tests that PutClient handles the presence of a file correctly, when the pillar returns a checksum equal the file being put (idempotent). Step: Call putFile. Stimuli: Calling PutFileWithId(file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, default-test-file.txt, 0, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@75409181[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@3044da1a[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-09-11T14:32:47.842+02:00], null, org.bitrepository.client.TestEventHandler@603e9af6, TEST-AUDIT-TRAIL) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@8132a63[correlationID=ef6e33eb-277c-45fb-b135-a3bb56a7c6be, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=sameFileExistsOnOnePillar, to=(default), version=31, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, fileID=default-test-file.txt, fileSize=0] Result: Received event: ef6e33eb: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file Step: Send a DUPLICATE_FILE_FAILURE response with a checksum equal to the one supplied to the client. Result: Received event: ef6e33eb: PUT_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, requestedChecksumResult=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@7b513165[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@6a004c5e[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-09-11T14:32:47.844+02:00], File already existed on Pillar1 Step: Send an identification response from the second pillar. Result: Received event: ef6e33eb: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2 Result: Received event: ef6e33eb: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar2] Result: Received event: ef6e33eb: PUT_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar2], Sending request for put file Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@68897f98[correlationID=ef6e33eb-277c-45fb-b135-a3bb56a7c6be, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=sameFileExistsOnOnePillar, to=(default), version=31, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, pillarID=Pillar2, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@75409181[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@3044da1a[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-09-11T14:32:47.842+02:00], checksumRequestForNewFile=(default)] Step: The client should proceed to send a putFileOperation request to the second pillar. Step: Send a pillar complete event Result: Received event: ef6e33eb: PUT_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar2, requestedChecksumResult=null Result: Received event: ef6e33eb: PUT_FILE for file default-test-file.txt: COMPLETE: Test success: sameFileExistsOnOnePillar Test starting: verifyPutClientFromFactory Description: Testing the initialization through the ModifyComponentFactory. Step: Use the ModifyComponentFactory to instantiate a PutFileClient. Test success: verifyPutClientFromFactory Starting testcase AuditTrailQueryTest Test starting: testBothSequenceNumberFailure Description: Test the creation of a AuditTrailQuery with both SequenceNumber, where max is smalle than min. Test success: testBothSequenceNumberFailure Test starting: testBothSequenceNumberSuccess Description: Test the creation of a AuditTrailQuery with both SequenceNumber, where max is larger than min. Test success: testBothSequenceNumberSuccess Test starting: testNoSequenceNumbers Description: Test that a AuditTrailQuery can be created without any sequence numbers. Test success: testNoSequenceNumbers Test starting: testOnlyMinSequenceNumber Description: Test the creation of a AuditTrailQuery with only the minSequenceNumber Test success: testOnlyMinSequenceNumber Starting testcase DeleteFileClientComponentTest Test starting: deleteClientIdentificationTimeout Description: Tests the handling of a failed identification for the DeleteClient Step: Initialise the number of pillars and the DeleteClient. Sets the identification timeout to 1 sec. Step: Request a file to be deleted on the default pillar. Stimuli: Calling deleteFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@2865ddc0[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@73e001e7[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@52f2813c[checksumType=SHA1, checksumSalt=(default), otherChecksumType=(default)], eventHandler, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@29af78e0[correlationID=677ca7d8-2828-498f-bb4f-33d68a0d1c26, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteClientIdentificationTimeout, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), fileID=default-test-file.txt] Result: Received event: 677ca7d8: DELETE_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for delete file Step: Do not respond. Just await the timeout. Result: Received event: 677ca7d8: DELETE_FILE for file default-test-file.txt: IDENTIFY_TIMEOUT: , Time has run out for looking up contributors The following contributors didn't respond: [Pillar1] Result: Received event: 677ca7d8: DELETE_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor Result: Received event: 677ca7d8: DELETE_FILE for file default-test-file.txt: FAILED: , Unable to continue operation, contributors unavailable. 14:32:49.074 ERROR o.b.m.d.c.IdentifyPillarsForDeleteFile - Failing conversation 'DeleteFileConversationContext{collectionID='TwoPillarCollection', conversationID='677ca7d8-2828-498f-bb4f-33d68a0d1c26', clientID='deleteClientIdentificationTimeout', fileID='default-test-file.txt', contributors=[Pillar1], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='677ca7d8', operationType=DELETE_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@1df249d, contributorCompleteEvents=[], contributorFailedEvents=[677ca7d8: DELETE_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@386aa8f1, checksumPillars=[]}' with exception org.bitrepository.common.exceptions.UnableToFinishException: Unable to continue operation, contributors unavailable. at org.bitrepository.client.conversation.IdentifyingState.completeState(IdentifyingState.java:76) at org.bitrepository.client.conversation.GeneralConversationState.changeState(GeneralConversationState.java:147) at org.bitrepository.client.conversation.GeneralConversationState.access$100(GeneralConversationState.java:48) at org.bitrepository.client.conversation.GeneralConversationState$TimeoutHandler.run(GeneralConversationState.java:134) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Test success: deleteClientIdentificationTimeout Test starting: deleteClientOperationTimeout Description: Tests the handling of a failed operation for the DeleteClient Step: Initialise the number of pillars and the DeleteClient. Sets the operation timeout to 100 ms. Step: Request a file to be deleted on the default pillar. Stimuli: Calling deleteFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@744dc582[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@162a5768[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@51f44bb2[checksumType=SHA1, checksumSalt=(default), otherChecksumType=(default)], eventHandler, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@4279aac1[correlationID=d89dbf4e-40ed-4194-a4bb-05d31e1a8642, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteClientOperationTimeout, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), fileID=default-test-file.txt] Result: Received event: d89dbf4e: DELETE_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for delete file Step: Make response for the pillar. Result: Received event: d89dbf4e: DELETE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: d89dbf4e: DELETE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: d89dbf4e: DELETE_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for deleting file Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.DeleteFileRequest@1c578bb6[correlationID=d89dbf4e-40ed-4194-a4bb-05d31e1a8642, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteClientOperationTimeout, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar1, fileID=default-test-file.txt, checksumDataForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@744dc582[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@162a5768[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], checksumRequestForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@51f44bb2[checksumType=SHA1, checksumSalt=(default), otherChecksumType=(default)]] Step: Validate the steps of the DeleteClient by going through the events. Step: Do not respond. Just await the timeout. Result: Received event: d89dbf4e: DELETE_FILE for file default-test-file.txt: FAILED: , Failed to receive responses from all contributors before timeout(100ms). Missing contributors [Pillar1] 14:32:49.282 ERROR o.b.m.d.conversation.DeletingFile - Failing conversation 'DeleteFileConversationContext{collectionID='TwoPillarCollection', conversationID='d89dbf4e-40ed-4194-a4bb-05d31e1a8642', clientID='deleteClientOperationTimeout', fileID='default-test-file.txt', contributors=[Pillar1], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='d89dbf4e', operationType=DELETE_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@3c9737ff, contributorCompleteEvents=[], contributorFailedEvents=[], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@22018e44, checksumPillars=[]}' with exception org.bitrepository.common.exceptions.UnableToFinishException: Failed to receive responses from all contributors before timeout(100ms). Missing contributors [Pillar1] at org.bitrepository.client.conversation.PerformingOperationState.logStateTimeout(PerformingOperationState.java:82) at org.bitrepository.client.conversation.GeneralConversationState$TimeoutHandler.run(GeneralConversationState.java:133) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Test success: deleteClientOperationTimeout Test starting: deleteClientOtherPillarFailedDuringIdentification Description: Tests the handling of a identification failure for a pillar for the DeleteClient. Step: Request a file to be deleted on the pillar1. Stimuli: Calling deleteFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@37becd67[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@2469c437[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-09-11T14:32:49.398+02:00], null, eventHandler, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@24f94d7[correlationID=e1ed0bcc-1e04-4f2d-8a9b-1a91b5070327, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteClientOtherPillarFailedDuringIdentification, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), fileID=default-test-file.txt] Result: Received event: e1ed0bcc: DELETE_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for delete file Step: Send a failed response from pillar2. Step: Send a ok response from pillar1. Result: Received event: e1ed0bcc: DELETE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: e1ed0bcc: DELETE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: e1ed0bcc: DELETE_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for deleting file Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.DeleteFileRequest@62c4b0c7[correlationID=e1ed0bcc-1e04-4f2d-8a9b-1a91b5070327, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteClientOtherPillarFailedDuringIdentification, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar1, fileID=default-test-file.txt, checksumDataForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@37becd67[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@2469c437[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-09-11T14:32:49.398+02:00], checksumRequestForExistingFile=(default)] Step: Send a final response message from pillar 1 to the DeleteClient. Result: Received event: e1ed0bcc: DELETE_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, DeleteFileResult=null Result: Received event: e1ed0bcc: DELETE_FILE for file default-test-file.txt: COMPLETE: Test success: deleteClientOtherPillarFailedDuringIdentification Test starting: deleteClientPillarFailedDuringPerform Description: Tests the handling of a operation failure for the DeleteClient. Step: Initialise the number of pillars to one Step: Request a file to be deleted on the default pillar. Stimuli: Calling deleteFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@5a0ac551[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@5a468afa[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@60e76b0f[checksumType=SHA1, checksumSalt=(default), otherChecksumType=(default)], eventHandler, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@24bf0a19[correlationID=258460df-00b9-440f-9a05-79877b37f099, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteClientPillarFailedDuringPerform, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), fileID=default-test-file.txt] Result: Received event: 258460df: DELETE_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for delete file Step: Make response for the pillar. Result: Received event: 258460df: DELETE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: 258460df: DELETE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: 258460df: DELETE_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for deleting file Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.DeleteFileRequest@46ec2d20[correlationID=258460df-00b9-440f-9a05-79877b37f099, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteClientPillarFailedDuringPerform, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar1, fileID=default-test-file.txt, checksumDataForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@5a0ac551[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@5a468afa[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], checksumRequestForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@60e76b0f[checksumType=SHA1, checksumSalt=(default), otherChecksumType=(default)]] Step: Validate the steps of the DeleteClient by going through the events. Step: Send a failed response message to the DeleteClient. Result: Received event: 258460df: DELETE_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE, Verifying that a failure can be understood! Result: Received event: 258460df: DELETE_FILE for file default-test-file.txt: FAILED: , Failed operation. Cause(s): [258460df: DELETE_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE, Verifying that a failure can be understood!] Test success: deleteClientPillarFailedDuringPerform Test starting: deleteClientSpecifiedPillarFailedDuringIdentification Description: Tests the handling of a identification failure for a pillar for the DeleteClient. Step: Request a file to be deleted on the pillar1. Stimuli: Calling deleteFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@7e9ec9f[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@72220ba2[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-09-11T14:32:50.616+02:00], null, eventHandler, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@68960e7a[correlationID=e25b4695-35c7-4b3e-85f3-a8f3a11af1e4, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteClientSpecifiedPillarFailedDuringIdentification, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), fileID=default-test-file.txt] Result: Received event: e25b4695: DELETE_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for delete file Step: Send a failed response from pillar1. Result: Received event: e25b4695: DELETE_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: IDENTIFICATION_NEGATIVE Result: Received event: e25b4695: DELETE_FILE for file default-test-file.txt: FAILED: , Can not continue with delete operation, as Pillar1 is unable to perform the deletion. 14:32:50.619 ERROR o.b.m.d.c.IdentifyPillarsForDeleteFile - Failing conversation 'DeleteFileConversationContext{collectionID='TwoPillarCollection', conversationID='e25b4695-35c7-4b3e-85f3-a8f3a11af1e4', clientID='deleteClientSpecifiedPillarFailedDuringIdentification', fileID='default-test-file.txt', contributors=[Pillar1], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='e25b4695', operationType=DELETE_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@72fcca2e, contributorCompleteEvents=[], contributorFailedEvents=[e25b4695: DELETE_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: IDENTIFICATION_NEGATIVE], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@3ab94dfa, checksumPillars=[]}' with exception org.bitrepository.common.exceptions.UnableToFinishException: Can not continue with delete operation, as Pillar1 is unable to perform the deletion. at org.bitrepository.modify.deletefile.conversation.IdentifyPillarsForDeleteFile.handleFailureResponse(IdentifyPillarsForDeleteFile.java:71) at org.bitrepository.client.conversation.IdentifyingState.processMessage(IdentifyingState.java:60) at org.bitrepository.client.conversation.GeneralConversationState.handleMessage(GeneralConversationState.java:110) at org.bitrepository.client.conversation.StateBasedConversation.onMessage(StateBasedConversation.java:53) at org.bitrepository.client.conversation.mediator.CollectionBasedConversationMediator.onMessage(CollectionBasedConversationMediator.java:136) at org.bitrepository.protocol.messagebus.SimpleMessageBus.lambda$sendMessage$0(SimpleMessageBus.java:73) at java.lang.Iterable.forEach(Iterable.java:75) at org.bitrepository.protocol.messagebus.SimpleMessageBus.sendMessage(SimpleMessageBus.java:73) at org.bitrepository.modify.deletefile.DeleteFileClientComponentTest.deleteClientSpecifiedPillarFailedDuringIdentification(DeleteFileClientComponentTest.java:357) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:134) at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:597) at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:173) at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46) at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:816) at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:146) at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128) at java.util.ArrayList.forEach(ArrayList.java:1249) at org.testng.TestRunner.privateRun(TestRunner.java:766) at org.testng.TestRunner.run(TestRunner.java:587) at org.testng.SuiteRunner.runTest(SuiteRunner.java:384) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337) at org.testng.SuiteRunner.run(SuiteRunner.java:286) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1187) at org.testng.TestNG.runSuitesLocally(TestNG.java:1109) at org.testng.TestNG.runSuites(TestNG.java:1039) at org.testng.TestNG.run(TestNG.java:1007) at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:135) at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeMulti(TestNGDirectoryTestSuite.java:193) at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:94) at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:146) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:377) at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:138) at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:465) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:451) Test success: deleteClientSpecifiedPillarFailedDuringIdentification Test starting: deleteClientTester Description: Tests the DeleteClient. Makes a whole conversation for the delete client for a 'good' scenario. Step: Initialise the number of pillars to one Step: Request a file to be deleted on all pillars (which means only the default pillar). Stimuli: Calling deleteFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@7857879c[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@3c0f3d56[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@59f1e099[checksumType=SHA1, checksumSalt=(default), otherChecksumType=(default)], eventHandler, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@5a28a17[correlationID=8a097abf-d688-459d-bb29-819dfe750222, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteClientTester, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), fileID=default-test-file.txt] Result: Received event: 8a097abf: DELETE_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for delete file Step: Make response for the pillar. Result: Received event: 8a097abf: DELETE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: 8a097abf: DELETE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: 8a097abf: DELETE_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for deleting file Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.DeleteFileRequest@4adf6a2[correlationID=8a097abf-d688-459d-bb29-819dfe750222, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteClientTester, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar1, fileID=default-test-file.txt, checksumDataForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@7857879c[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@3c0f3d56[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], checksumRequestForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@59f1e099[checksumType=SHA1, checksumSalt=(default), otherChecksumType=(default)]] Step: Validate the steps of the DeleteClient by going through the events. Step: The pillar sends a progress response to the DeleteClient. Result: Received event: 8a097abf: DELETE_FILE for file default-test-file.txt: PROGRESS: ContributorID Pillar1, First test progress response message Step: Send a final response message to the DeleteClient. Result: Received event: 8a097abf: DELETE_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, DeleteFileResult=null Result: Received event: 8a097abf: DELETE_FILE for file default-test-file.txt: COMPLETE: Test success: deleteClientTester Test starting: deleteOnChecksumPillar Description: Verify that the DeleteClient works correctly when a checksum pillar is present. Step: Request a file to be deleted on the pillar1. Stimuli: Calling deleteFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@1a46f6f4[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@731a7f02[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-09-11T14:32:50.997+02:00], null, eventHandler, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@bdc8448[correlationID=9c698ebc-d07f-454a-8a04-805fb56bca49, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteOnChecksumPillar, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), fileID=default-test-file.txt] Result: Received event: 9c698ebc: DELETE_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for delete file Step: Send an identification response from pillar2. Step: Send a response from pillar1 with PillarChecksumSpec element set, indicating that this is a checksum pillar. Result: Received event: 9c698ebc: DELETE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: 9c698ebc: DELETE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: 9c698ebc: DELETE_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for deleting file Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.DeleteFileRequest@2e8a3352[correlationID=9c698ebc-d07f-454a-8a04-805fb56bca49, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteOnChecksumPillar, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar1, fileID=default-test-file.txt, checksumDataForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@1a46f6f4[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@731a7f02[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-09-11T14:32:50.997+02:00], checksumRequestForExistingFile=(default)] Test success: deleteOnChecksumPillar Test starting: deleteOnChecksumPillarWithDefaultReturnChecksumType Description: Verify that the DeleteClient works correctly when a return checksum of the default typeis requested. Step: Request a file to be deleted on the pillar1. The call should include a request for a check sum of the default type Stimuli: Calling deleteFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@5e542369[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@51c4bd9c[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-09-11T14:32:53.102+02:00], org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@4cae4f19[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], eventHandler, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@322dca49[correlationID=fb51099b-8d6c-4b84-baf4-5af0e1355057, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteOnChecksumPillarWithDefaultReturnChecksumType, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), fileID=default-test-file.txt] Result: Received event: fb51099b: DELETE_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for delete file Step: Send a response from pillar1 with PillarChecksumSpec element set, indicating that this is a checksum pillar. Result: Received event: fb51099b: DELETE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: fb51099b: DELETE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: fb51099b: DELETE_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for deleting file Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.DeleteFileRequest@39c1946c[correlationID=fb51099b-8d6c-4b84-baf4-5af0e1355057, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteOnChecksumPillarWithDefaultReturnChecksumType, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar1, fileID=default-test-file.txt, checksumDataForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@5e542369[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@51c4bd9c[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-09-11T14:32:53.102+02:00], checksumRequestForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@4cae4f19[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)]] Test success: deleteOnChecksumPillarWithDefaultReturnChecksumType Test starting: deleteOnChecksumPillarWithSaltedReturnChecksumType Description: Verify that the DeleteClient works correctly when a return checksum with a salt is requested. Step: Request a file to be deleted on the pillar1. The call should include a request for a salted check sum Stimuli: Calling deleteFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@59bb65b1[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@4858d2ab[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-09-11T14:32:53.203+02:00], org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@166ed1a3[checksumType=MD5, checksumSalt={-86}, otherChecksumType=(default)], eventHandler, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@16280a24[correlationID=e385d7fc-45af-4930-8db8-c0837eb71991, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteOnChecksumPillarWithSaltedReturnChecksumType, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), fileID=default-test-file.txt] Result: Received event: e385d7fc: DELETE_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for delete file Step: Send a response from pillar1 with PillarChecksumSpec element set, indicating that this is a checksum pillar. Result: Received event: e385d7fc: DELETE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: e385d7fc: DELETE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: e385d7fc: DELETE_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for deleting file Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.DeleteFileRequest@1a7f261b[correlationID=e385d7fc-45af-4930-8db8-c0837eb71991, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteOnChecksumPillarWithSaltedReturnChecksumType, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar1, fileID=default-test-file.txt, checksumDataForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@59bb65b1[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@4858d2ab[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-09-11T14:32:53.203+02:00], checksumRequestForExistingFile=(default)] Test success: deleteOnChecksumPillarWithSaltedReturnChecksumType Test starting: fileAlreadyDeletedFromPillar Description: Test that a delete on a pillar completes successfully when the file is missing (has already been deleted). This is a test of the Idempotent behaviour of the delete client Step: Request a file to be deleted on pillar1. Stimuli: Calling deleteFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@7a4c92f9[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@319e49d5[checksumType=MD5, checksumSalt=(default), otherChecksumType=(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-09-11T14:32:53.315+02:00], null, eventHandler, null) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@6dfffacc[correlationID=ff14040f-168d-4219-9822-95a20504b89d, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=fileAlreadyDeletedFromPillar, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), fileID=default-test-file.txt] Result: Received event: ff14040f: DELETE_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for delete file Step: Send a identify response from Pillar1 with a missing file response. Result: Received event: ff14040f: DELETE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: ff14040f: DELETE_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, DeleteFileResult=null Result: Received event: ff14040f: DELETE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [] Result: Received event: ff14040f: DELETE_FILE for file default-test-file.txt: COMPLETE: Step: The client should then continue to the performing phase and finish immediately as the pillar has already had the file removed apparently . Step: Send a identify response from Pillar2 Test success: fileAlreadyDeletedFromPillar Test starting: verifyDeleteClientFromFactory Description: Testing the initialization through the ModifyComponentFactory. Step: Use the ModifyComponentFactory to instantiate a PutFileClient. Test success: verifyDeleteClientFromFactory Starting testcase GetFileIDsCmdTest Test starting: defaultSuccessScenarioTest Description: Tests simplest arguments for running the CmdLineClient Test success: defaultSuccessScenarioTest Test starting: fileArgumentTest Description: Tests the argument for a specific file. Test success: fileArgumentTest Test starting: missingCollectionArgumentTest Description: Tests the scenario, where the collection arguments is missing. Takes the following arguments: -s The path to the directory with the settings files for the client -k The path to the file containing the private key. -v Makes the client more verbose -c The id for the collection to perform the operation on. -i The id for the file to perform the operation on. -p [OPTIONAL] The id of the pillar where the operation should be performed. If undefined the operation is performed on all pillars. Missing argument: Missing required option: c Test success: missingCollectionArgumentTest Test starting: specificPillarArgumentTest Description: Test argument for a specific pillar Test success: specificPillarArgumentTest Test starting: unknownPillarArgumentTest Description: Testing against a non-existing pillar id -> Should fail Invalid argument: Random1599827575156pillar is not a valid pillar for collection TwoPillarCollection The collection contains the following pillars: [Pillar1, Pillar2] Test success: unknownPillarArgumentTest Starting testcase GetStatusClientComponentTest Test starting: getAllStatuses Description: Tests the simplest case of getting status for all contributers. Step: Create a GetStatusClient. Step: Retrieve from all contributors in the collection Stimuli: Calling getAuditTrails() Result: Received event: 70688c2f: GET_STATUS: IDENTIFY_REQUEST_SENT: , Identifying contributors for getting status Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyContributorsForGetStatusRequest@6d2c516e[correlationID=70688c2f-ae0a-47b5-a5d5-8bce393d61b3, collectionID=(default), destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetStatusClientComponentTest-cibuild01, from=getAllStatuses, to=(default), version=31, minVersion=24, auditTrailInformation=] Step: Send a identifyResponse from each pillar Result: Received event: 70688c2f: GET_STATUS: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: 70688c2f: GET_STATUS: COMPONENT_IDENTIFIED: ContributorID Pillar2 Result: Received event: 70688c2f: GET_STATUS: IDENTIFICATION_COMPLETE: Contributors: [Pillar1, Pillar2] Result: Received event: 70688c2f: GET_STATUS: REQUEST_SENT: ContributorID [Pillar1, Pillar2], Sending GetStatusRequest Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetStatusRequest@6af6dfb[correlationID=70688c2f-ae0a-47b5-a5d5-8bce393d61b3, collectionID=(default), destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetStatusClientComponentTest-cibuild01, from=getAllStatuses, to=(default), version=31, minVersion=24, auditTrailInformation=, contributor=Pillar1] Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetStatusRequest@405df511[correlationID=70688c2f-ae0a-47b5-a5d5-8bce393d61b3, collectionID=(default), destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-GetStatusClientComponentTest-cibuild01, from=getAllStatuses, to=(default), version=31, minVersion=24, auditTrailInformation=, contributor=Pillar2] Step: Send a final response from pillar 1 Result: Received event: 70688c2f: GET_STATUS: COMPONENT_COMPLETE: ContributorID Pillar1, resulting status: org.bitrepository.bitrepositoryelements.ResultingStatus@22150412[statusInfo=org.bitrepository.bitrepositoryelements.StatusInfo@36a885b4[statusCode=OK, statusText=Everythings fine..], statusTimestamp=2020-09-11T14:32:55.356+02:00] Step: Send a final response from pillar 2 Result: Received event: 70688c2f: GET_STATUS: COMPONENT_COMPLETE: ContributorID Pillar2, resulting status: org.bitrepository.bitrepositoryelements.ResultingStatus@20507fc3[statusInfo=org.bitrepository.bitrepositoryelements.StatusInfo@219bdfb9[statusCode=OK, statusText=Everythings fine..], statusTimestamp=2020-09-11T14:32:55.356+02:00] Result: Received event: 70688c2f: GET_STATUS: COMPLETE: Test success: getAllStatuses Test starting: incompleteSetOfIdendifyResponses Description: Verify that the GetStatus client works correct without receiving responses from all contributers. Step: Configure 1 second timeout for identifying contributers. The default 2 contributers collection is used Stimuli: Calling getAuditTrails() Result: Received event: 18e70305: GET_STATUS: IDENTIFY_REQUEST_SENT: , Identifying contributors for getting status Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyContributorsForGetStatusRequest@60baef0f[correlationID=18e70305-e4ea-4cd2-83fc-b0cd197316bb, collectionID=(default), destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetStatusClientComponentTest-cibuild01, from=incompleteSetOfIdendifyResponses, to=(default), version=31, minVersion=24, auditTrailInformation=] Step: Send a identifyResponse from pillar 1 Result: Received event: 18e70305: GET_STATUS: COMPONENT_IDENTIFIED: ContributorID Pillar1 Step: Wait for timeout event Result: Received event: 18e70305: GET_STATUS: IDENTIFY_TIMEOUT: , Time has run out for looking up contributors The following contributors didn't respond: [Pillar2] Result: Received event: 18e70305: GET_STATUS: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor Result: Received event: 18e70305: GET_STATUS: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: 18e70305: GET_STATUS: REQUEST_SENT: ContributorID [Pillar1], Sending GetStatusRequest Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetStatusRequest@5a02ad55[correlationID=18e70305-e4ea-4cd2-83fc-b0cd197316bb, collectionID=(default), destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetStatusClientComponentTest-cibuild01, from=incompleteSetOfIdendifyResponses, to=(default), version=31, minVersion=24, auditTrailInformation=, contributor=Pillar1] Test success: incompleteSetOfIdendifyResponses Test starting: verifyGetStatusClientFromFactory Test success: verifyGetStatusClientFromFactory Starting testcase ReplaceFileCmdTest Test starting: URLSuccessScenarioTest Description: Tests the scenario, where a URL instead of a file is used for the replacement file. Test success: URLSuccessScenarioTest Test starting: bothFileAndURLArgumentTest Description: Tests the scenario, where both arguments for file or url is given. Invalid argument: Cannot take both a file (-f) and an URL (-u) as argument. Test success: bothFileAndURLArgumentTest Test starting: checksumArgumentNonSaltAlgorithmWitoutSaltTest Description: Test MD5 checksum without salt -> no failure Test success: checksumArgumentNonSaltAlgorithmWitoutSaltTest Test starting: checksumArgumentSaltAlgorithmWithSaltTest Description: Test HMAC_SHA256 checksum with salt -> No failure Test success: checksumArgumentSaltAlgorithmWithSaltTest Test starting: defaultSuccessScenarioTest Description: Tests simplest arguments for running the CmdLineClient Test success: defaultSuccessScenarioTest Test starting: missingChecksumForExistingFileWhenUsingFileArgumentTest Description: Tests the scenario, where no checksum argument is given, but a File is given. Invalid argument: Checksum argument (-C) are mandatory for Replace and replace operations as defined in RepositorySettings. Test success: missingChecksumForExistingFileWhenUsingFileArgumentTest Test starting: missingChecksumForExistingFileWhenUsingURLArgumentTest Description: Tests the scenario, where no checksum argument is given, but a URL is given. Invalid argument: Checksum argument (-C) are mandatory for Replace and replace operations as defined in RepositorySettings. Test success: missingChecksumForExistingFileWhenUsingURLArgumentTest Test starting: missingChecksumForNewFileWhenUsingFileArgumentTest Description: Tests the scenario, where no checksum argument is given, but a File is given. Test success: missingChecksumForNewFileWhenUsingFileArgumentTest Test starting: missingChecksumForNewFileWhenUsingURLArgumentTest Description: Tests the scenario, where no checksum argument is given, but a URL is given. Invalid argument: The URL argument requires also the checksum argument for the file to replace with (-r). Test success: missingChecksumForNewFileWhenUsingURLArgumentTest Test starting: missingCollectionArgumentTest Description: Tests the scenario, where the collection arguments is missing. Takes the following arguments: -s The path to the directory with the settings files for the client -k The path to the file containing the private key. -v Makes the client more verbose -c The id for the collection to perform the operation on. -i The id for the file to perform the operation on. -p [OPTIONAL] The id of the pillar where the operation should be performed. If undefined the operation is performed on all pillars. -C [OPTIONAL] The checksum of the file to be replaced. -f The path to the new file for the replacement. Required unless using the URL argument. -u The URL for the file to be retreived. Is required, unless the actual file is given. -r The checksum for the file to replace with. Required when using the URL argument. -R [OPTIONAL] The algorithm of checksum to request in the response from the pillars. -S [OPTIONAL] The salt of checksum to request in the response. Requires the ChecksumType argument. -d If this argument is present, then the file will be removed from the server, when the operation is complete. Missing argument: Missing required option: c Test success: missingCollectionArgumentTest Test starting: missingFileIDWhenFileArgumentTest Description: Tests the scenario, where no checksum argument is given, but a URL is given. Test success: missingFileIDWhenFileArgumentTest Test starting: missingFileIDWhenURLArgumentTest Description: Tests the scenario, where no checksum argument is given, but a URL is given. Invalid argument: The URL argument requires also the argument for the ID of the file (-i). Test success: missingFileIDWhenURLArgumentTest Test starting: missingFileOrURLArgumentTest Description: Tests the scenario, where no arguments for file or url is given. Invalid argument: Requires either the file argument (-f) or the URL argument (-u). Test success: missingFileOrURLArgumentTest Test starting: missingPillarArgumentTest Description: Tests the different scenarios, with the pillar argument. Invalid argument: The pillar argument (-p) must defined for the Replace operation, only single pillar Replaces are allowed Test success: missingPillarArgumentTest Test starting: unknownPillarArgumentTest Step: Testing against a non-existing pillar id Invalid argument: Random1599827578992pillar is not a valid pillar for collection TwoPillarCollection The collection contains the following pillars: [Pillar1, Pillar2] Test success: unknownPillarArgumentTest Starting testcase CommandLineTest Test starting: argumentsTesterUnknownArgument Description: Test the handling of arguments by the CommandLineArgumentHandler. Step: Validate arguments without any options. Test success: argumentsTesterUnknownArgument Test starting: argumentsTesterWrongArgument Description: Test the handling of arguments by the CommandLineArgumentHandler. Step: Validate the default options Test success: argumentsTesterWrongArgument Test starting: newArgumentTester Description: Test the handling of a new argument. Step: Test the option Test success: newArgumentTester Starting testcase GetFileClientComponentTest Test starting: chooseFastestPillarGetFileClient Description: Set the GetClient to retrieve a file as fast as possible, where it has to choose between to pillars with different times. The messages should be delivered at the same time. Step: Create a GetFileClient configured to use a fast and a slow pillar. Step: Defining the variables for the GetFileClient and defining them in the configuration Step: Make the GetClient ask for fastest pillar. Stimuli: Calling getFileFromFastestPillar(default-test-file.txt, file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileRequest@78a20bb8[correlationID=bb31e17b-63ee-442e-93c0-d8c930033fb6, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=chooseFastestPillarGetFileClient, to=(default), version=31, minVersion=24, auditTrailInformation=(default), fileID=default-test-file.txt] Result: Received event: bb31e17b: GET_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetFile Step: Three pillars send responses. First an average timeToDeliver, then a fast timeToDeliver and last a slow timeToDeliver. Result: Received event: bb31e17b: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID THE-AVERAGE-PILLAR Result: Received event: bb31e17b: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID THE-FAST-PILLAR Result: Received event: bb31e17b: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID THE-SLOW-PILLAR Result: Received event: bb31e17b: GET_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [THE-FAST-PILLAR] Result: Received event: bb31e17b: GET_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID SelectedComponentInfo: componentID=THE-FAST-PILLAR, componentTopic=Pillar1_topic-cibuild01, Sending GetFileRequest to Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileRequest@7a22dd94[correlationID=bb31e17b-63ee-442e-93c0-d8c930033fb6, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=chooseFastestPillarGetFileClient, to=(default), version=31, minVersion=24, auditTrailInformation=(default), pillarID=THE-FAST-PILLAR, fileID=default-test-file.txt, filePart=(default), fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt] Test success: chooseFastestPillarGetFileClient Test starting: conversationTimeout Description: Tests the the GetFileClient handles lack of IdentifyPillarResponses gracefully Step: Set the number of pillars to 100ms and a 300 ms timeout for the conversation. Step: Request the delivery of a file from a specific pillar. A callback listener should be supplied. Stimuli: Calling getFileFromSpecificPillar(default-test-file.txt, file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, Pillar1) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileRequest@2fb476dd[correlationID=816a707f-df77-4a14-b185-d3fa0e46e5c6, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=conversationTimeout, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), fileID=default-test-file.txt] Result: Received event: 816a707f: GET_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetFile Step: The pillar sends a response to the identify message. Result: Received event: 816a707f: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: 816a707f: GET_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: 816a707f: GET_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID SelectedComponentInfo: componentID=Pillar1, componentTopic=Pillar1_topic-cibuild01, Sending GetFileRequest to Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileRequest@4fa8e353[correlationID=816a707f-df77-4a14-b185-d3fa0e46e5c6, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=conversationTimeout, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar1, fileID=default-test-file.txt, filePart=(default), fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt] Step: Wait for 1 second 14:33:00.271 WARN o.b.c.c.m.CollectionBasedConversationMediator - Failing timed out conversation 816a707f-df77-4a14-b185-d3fa0e46e5c6 (Age 998ms) Result: Received event: 816a707f: GET_FILE for file default-test-file.txt: FAILED: , Failing timed out conversation 816a707f-df77-4a14-b185-d3fa0e46e5c6 Test success: conversationTimeout Test starting: failureDuringPerform Description: Verify that the GetFile reports a failed operation, in case of a component failing during the performing phase. Step: Request a getFile from the fastest pillar. Stimuli: Calling getFileFromFastestPillar(default-test-file.txt, file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileRequest@44752276[correlationID=5ce5425a-e18f-446a-975a-27c3cd6bd9df, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=failureDuringPerform, to=(default), version=31, minVersion=24, auditTrailInformation=(default), fileID=default-test-file.txt] Result: Received event: 5ce5425a: GET_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetFile Step: Send a identification response from pillar1 and pillar2 with pillar1 the fastest. Result: Received event: 5ce5425a: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: 5ce5425a: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2 Result: Received event: 5ce5425a: GET_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: 5ce5425a: GET_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID SelectedComponentInfo: componentID=Pillar1, componentTopic=Pillar1_topic-cibuild01, Sending GetFileRequest to Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileRequest@677c98e1[correlationID=5ce5425a-e18f-446a-975a-27c3cd6bd9df, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=failureDuringPerform, to=(default), version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar1, fileID=default-test-file.txt, filePart=(default), fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt] Step: Send a failure response from pillar1 Result: Received event: 5ce5425a: GET_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE Result: Received event: 5ce5425a: GET_FILE for file default-test-file.txt: FAILED: , Failed to get file from Pillar1, org.bitrepository.bitrepositoryelements.ResponseInfo@34a33be8[responseCode=FAILURE, responseText=(default)] 14:33:00.390 ERROR o.b.a.g.conversation.GettingFile - Failing conversation 'GetFileConversationContext{collectionID='TwoPillarCollection', conversationID='5ce5425a-e18f-446a-975a-27c3cd6bd9df', clientID='failureDuringPerform', fileID='default-test-file.txt', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='5ce5425a', operationType=GET_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@5928c998, contributorCompleteEvents=[], contributorFailedEvents=[5ce5425a: GET_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE], failOnComponentFailure=false}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@566a052e, checksumPillars=[]}' with exception org.bitrepository.common.exceptions.UnableToFinishException: Failed to get file from Pillar1, org.bitrepository.bitrepositoryelements.ResponseInfo@34a33be8[responseCode=FAILURE, responseText=(default)] at org.bitrepository.access.getfile.conversation.GettingFile.handleFailureResponse(GettingFile.java:78) at org.bitrepository.client.conversation.PerformingOperationState.processMessage(PerformingOperationState.java:70) at org.bitrepository.client.conversation.GeneralConversationState.handleMessage(GeneralConversationState.java:110) at org.bitrepository.client.conversation.StateBasedConversation.onMessage(StateBasedConversation.java:53) at org.bitrepository.client.conversation.mediator.CollectionBasedConversationMediator.onMessage(CollectionBasedConversationMediator.java:136) at org.bitrepository.protocol.messagebus.SimpleMessageBus.lambda$sendMessage$0(SimpleMessageBus.java:73) at java.lang.Iterable.forEach(Iterable.java:75) at org.bitrepository.protocol.messagebus.SimpleMessageBus.sendMessage(SimpleMessageBus.java:73) at org.bitrepository.access.getfile.GetFileClientComponentTest.failureDuringPerform(GetFileClientComponentTest.java:579) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:134) at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:597) at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:173) at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46) at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:816) at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:146) at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128) at java.util.ArrayList.forEach(ArrayList.java:1249) at org.testng.TestRunner.privateRun(TestRunner.java:766) at org.testng.TestRunner.run(TestRunner.java:587) at org.testng.SuiteRunner.runTest(SuiteRunner.java:384) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337) at org.testng.SuiteRunner.run(SuiteRunner.java:286) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1187) at org.testng.TestNG.runSuitesLocally(TestNG.java:1109) at org.testng.TestNG.runSuites(TestNG.java:1039) at org.testng.TestNG.run(TestNG.java:1007) at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:135) at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeMulti(TestNGDirectoryTestSuite.java:193) at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:94) at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:146) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:377) at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:138) at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:465) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:451) Test success: failureDuringPerform Test starting: getFileClientWithChecksumPillarInvolved Description: Verify that the GetFile works correctly when a checksum pillar respond. Step: Call getFile form fastest pillar. Stimuli: Calling getFileFromFastestPillar(default-test-file.txt, file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileRequest@58763549[correlationID=11b4337e-ef91-4ce3-90e7-98f07864a0e2, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileClientWithChecksumPillarInvolved, to=(default), version=31, minVersion=24, auditTrailInformation=(default), fileID=default-test-file.txt] Result: Received event: 11b4337e: GET_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetFile Step: Send a identification response from pillar1 with a REQUEST_NOT_SUPPORTED response code. Step: Send a identification response from pillar2 with a IDENTIFICATION_POSITIVE response code . Result: Received event: 11b4337e: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2 Result: Received event: 11b4337e: GET_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar2] Result: Received event: 11b4337e: GET_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID SelectedComponentInfo: componentID=Pillar2, componentTopic=Pillar2_topic-cibuild01, Sending GetFileRequest to Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileRequest@777d7ac1[correlationID=11b4337e-ef91-4ce3-90e7-98f07864a0e2, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileClientWithChecksumPillarInvolved, to=(default), version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar2, fileID=default-test-file.txt, filePart=(default), fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt] Step: Verify that the client continues to the performing phase. Step: Send a final response upload message Result: Received event: 11b4337e: GET_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar2 Result: Received event: 11b4337e: GET_FILE for file default-test-file.txt: COMPLETE: Test success: getFileClientWithChecksumPillarInvolved Test starting: getFileClientWithIdentifyTimeout Description: Verify that the GetFile works correct without receiving responses from all pillars. Added fixture: Set the identification timeout to 500ms Step: Call getFile form fastest pillar. Stimuli: Calling getFileFromFastestPillar(default-test-file.txt, file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileRequest@8ac656c[correlationID=4708b53a-be6d-4fff-a799-3649fa61da91, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileClientWithIdentifyTimeout, to=(default), version=31, minVersion=24, auditTrailInformation=(default), fileID=default-test-file.txt] Result: Received event: 4708b53a: GET_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetFile Step: Send a identification response from pillar1. Result: Received event: 4708b53a: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1 Step: Wait 1 second. Result: Received event: 4708b53a: GET_FILE for file default-test-file.txt: IDENTIFY_TIMEOUT: , Time has run out for looking up contributors The following contributors didn't respond: [Pillar2] Result: Received event: 4708b53a: GET_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor Result: Received event: 4708b53a: GET_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: 4708b53a: GET_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID SelectedComponentInfo: componentID=Pillar1, componentTopic=Pillar1_topic-cibuild01, Sending GetFileRequest to Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileRequest@37c2abc4[correlationID=4708b53a-be6d-4fff-a799-3649fa61da91, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileClientWithIdentifyTimeout, to=(default), version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar1, fileID=default-test-file.txt, filePart=(default), fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt] Step: Verify that the client continues to the performing phase. Step: Send a final response upload message Result: Received event: 4708b53a: GET_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1 Result: Received event: 4708b53a: GET_FILE for file default-test-file.txt: COMPLETE: Test success: getFileClientWithIdentifyTimeout Test starting: getFileFromOtherCollection Description: Tests the getFiles client will correctly try to get from a second collection if required Added fixture: Configure collection1 to contain both pillars and collection 2 to only contain pillar2 Step: Request the getting of a file through the client for collection2 Stimuli: Calling getFileFromFastestPillar(default-test-file.txt, file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileRequest@2b8d1741[correlationID=06c8d6ee-733f-41f6-8432-a3c1d0ed261d, collectionID=SinglePillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileFromOtherCollection, to=Pillar2, version=31, minVersion=24, auditTrailInformation=(default), fileID=default-test-file.txt] Result: Received event: 06c8d6ee: GET_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetFile Step: Send an identification response from pillar2. Result: Received event: 06c8d6ee: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2 Result: Received event: 06c8d6ee: GET_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar2] Result: Received event: 06c8d6ee: GET_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID SelectedComponentInfo: componentID=Pillar2, componentTopic=Pillar2_topic-cibuild01, Sending GetFileRequest to Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileRequest@37e2e6a[correlationID=06c8d6ee-733f-41f6-8432-a3c1d0ed261d, collectionID=SinglePillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileFromOtherCollection, to=Pillar2, version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar2, fileID=default-test-file.txt, filePart=(default), fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt] Step: Send a complete event from the pillar Result: Received event: 06c8d6ee: GET_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar2 Result: Received event: 06c8d6ee: GET_FILE for file default-test-file.txt: COMPLETE: Test success: getFileFromOtherCollection Test starting: getFileFromSpecificPillar Description: Tests that the GetClient client works correctly when requesting a file from a specific pillar Step: Request the delivery of a file from pillar2. Stimuli: Calling getFileFromSpecificPillar(default-test-file.txt, file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, Pillar2) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileRequest@67ac21bc[correlationID=acd45f31-7f22-4a8f-adde-4a1e9547113e, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileFromSpecificPillar, to=Pillar2, version=31, minVersion=24, auditTrailInformation=AuditTrailInfo for getFileFromSpecificPillarTest, fileID=default-test-file.txt] Result: Received event: acd45f31: GET_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetFile Step: Send a response from pillar1 Step: Send a response from pillar2 Result: Received event: acd45f31: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2 Result: Received event: acd45f31: GET_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar2] Result: Received event: acd45f31: GET_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID SelectedComponentInfo: componentID=Pillar2, componentTopic=Pillar2_topic-cibuild01, Sending GetFileRequest to Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileRequest@5121cd7f[correlationID=acd45f31-7f22-4a8f-adde-4a1e9547113e, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileFromSpecificPillar, to=Pillar2, version=31, minVersion=24, auditTrailInformation=AuditTrailInfo for getFileFromSpecificPillarTest, pillarID=Pillar2, fileID=default-test-file.txt, filePart=(default), fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt] Step: Send a GetFileProgressResponse. Result: Received event: acd45f31: GET_FILE for file default-test-file.txt: PROGRESS: ContributorID Pillar2, First test progress response message Step: Send a GetFileFinalResponse. Result: Received event: acd45f31: GET_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar2 Result: Received event: acd45f31: GET_FILE for file default-test-file.txt: COMPLETE: Test success: getFileFromSpecificPillar Test starting: getFileFromSpecificPillarWithFilePart Description: Tests that the GetClient client works for a single pillar participates. Also validate, that the 'FilePart' can be used. Step: Set the number of pillars to 1 Step: Request the delivery of a file from a specific pillar. A callback listener should be supplied. Stimuli: Calling getFileFromSpecificPillar(default-test-file.txt, file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, Pillar1) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileRequest@4207c0f[correlationID=77d371d6-f48e-48a4-9924-141d48b113d3, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileFromSpecificPillarWithFilePart, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), fileID=default-test-file.txt] Result: Received event: 77d371d6: GET_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetFile Step: The pillar sends a response to the identify message. Result: Received event: 77d371d6: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1 Result: Received event: 77d371d6: GET_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1] Result: Received event: 77d371d6: GET_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID SelectedComponentInfo: componentID=Pillar1, componentTopic=Pillar1_topic-cibuild01, Sending GetFileRequest to Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileRequest@171fea6f[correlationID=77d371d6-f48e-48a4-9924-141d48b113d3, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileFromSpecificPillarWithFilePart, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar1, fileID=default-test-file.txt, filePart=org.bitrepository.bitrepositoryelements.FilePart@78fa7f84[partOffSet=1, partLength=10], fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt] Step: The pillar sends a getFile response to the GetClient. Result: Received event: 77d371d6: GET_FILE for file default-test-file.txt: PROGRESS: ContributorID Pillar1, First test progress response message Step: The file is uploaded to the indicated url and the pillar sends a final response upload message Result: Received event: 77d371d6: GET_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1 Result: Received event: 77d371d6: GET_FILE for file default-test-file.txt: COMPLETE: Test success: getFileFromSpecificPillarWithFilePart Test starting: noIdentifyResponse Description: Tests the the GetFileClient handles lack of IdentifyPillarResponses gracefully Step: Set a 500 ms timeout for identifying pillar. Step: Make the GetClient ask for fastest pillar. Stimuli: Calling getFileFromFastestPillar(default-test-file.txt, file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileRequest@755af51e[correlationID=0921381a-4559-4140-9825-d8bc40434a4c, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=noIdentifyResponse, to=(default), version=31, minVersion=24, auditTrailInformation=(default), fileID=default-test-file.txt] Result: Received event: 0921381a: GET_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetFile Step: Wait for 1 seconds Result: Received event: 0921381a: GET_FILE for file default-test-file.txt: IDENTIFY_TIMEOUT: , Time has run out for looking up contributors The following contributors didn't respond: [Pillar1, Pillar2] Result: Received event: 0921381a: GET_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor Result: Received event: 0921381a: GET_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor Result: Received event: 0921381a: GET_FILE for file default-test-file.txt: FAILED: , Unable to continue operation, contributors unavailable. 14:33:03.002 ERROR o.b.a.g.c.IdentifyingPillarsForGetFile - Failing conversation 'GetFileConversationContext{collectionID='TwoPillarCollection', conversationID='0921381a-4559-4140-9825-d8bc40434a4c', clientID='noIdentifyResponse', fileID='default-test-file.txt', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='0921381a', operationType=GET_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@326f5a0c, contributorCompleteEvents=[], contributorFailedEvents=[0921381a: GET_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor, 0921381a: GET_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor], failOnComponentFailure=false}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@1cb281ab, checksumPillars=[]}' with exception org.bitrepository.common.exceptions.UnableToFinishException: Unable to continue operation, contributors unavailable. at org.bitrepository.client.conversation.IdentifyingState.completeState(IdentifyingState.java:76) at org.bitrepository.client.conversation.GeneralConversationState.changeState(GeneralConversationState.java:147) at org.bitrepository.client.conversation.GeneralConversationState.access$100(GeneralConversationState.java:48) at org.bitrepository.client.conversation.GeneralConversationState$TimeoutHandler.run(GeneralConversationState.java:134) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Test success: noIdentifyResponse Test starting: singleComponentFailureDuringIdentify Description: Verify that the GetFile reports a complete (not failed), in case of a component failing during the identify phase. Step: Call getFile from the fastest pillar. Stimuli: Calling getFileFromFastestPillar(default-test-file.txt, file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileRequest@16241d1[correlationID=9ae6e3e9-261e-48da-92b9-78ff775d8ac7, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=singleComponentFailureDuringIdentify, to=(default), version=31, minVersion=24, auditTrailInformation=(default), fileID=default-test-file.txt] Result: Received event: 9ae6e3e9: GET_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetFile Step: Send a identification response from pillar1 with a IDENTIFICATION_NEGATIVE response code . Result: Received event: 9ae6e3e9: GET_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: IDENTIFICATION_NEGATIVE Step: Send a identification response from pillar2 with a IDENTIFICATION_POSITIVE response code . Result: Received event: 9ae6e3e9: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2 Result: Received event: 9ae6e3e9: GET_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar2] Result: Received event: 9ae6e3e9: GET_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID SelectedComponentInfo: componentID=Pillar2, componentTopic=Pillar2_topic-cibuild01, Sending GetFileRequest to Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileRequest@4c76d705[correlationID=9ae6e3e9-261e-48da-92b9-78ff775d8ac7, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=singleComponentFailureDuringIdentify, to=(default), version=31, minVersion=24, auditTrailInformation=(default), pillarID=Pillar2, fileID=default-test-file.txt, filePart=(default), fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt] Step: Verify that the client continues to the performing phase. Step: Send a final response upload message Result: Received event: 9ae6e3e9: GET_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar2 Result: Received event: 9ae6e3e9: GET_FILE for file default-test-file.txt: COMPLETE: Test success: singleComponentFailureDuringIdentify Test starting: testNoSuchFileMultiplePillars Description: Testing how a request for a non-existing file is handled when all pillars miss the file. Step: Use the default 2 pillars. Step: Call getFileFromFastestPillar. Stimuli: Calling getFileFromFastestPillar(ERROR-NO-SUCH-FILE-ERROR, file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileRequest@33b33c3a[correlationID=33f9512c-cf55-4cb2-abe1-c04b80e4cfdc, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=testNoSuchFileMultiplePillars, to=(default), version=31, minVersion=24, auditTrailInformation=(default), fileID=ERROR-NO-SUCH-FILE-ERROR] Result: Received event: 33f9512c: GET_FILE for file ERROR-NO-SUCH-FILE-ERROR: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetFile Step: Both pillars sends a FILE_NOT_FOUND response Result: Received event: 33f9512c: GET_FILE for file ERROR-NO-SUCH-FILE-ERROR: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FILE_NOT_FOUND_FAILURE, File ERROR-NO-SUCH-FILE-ERROR not present on this pillar Result: Received event: 33f9512c: GET_FILE for file ERROR-NO-SUCH-FILE-ERROR: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: FILE_NOT_FOUND_FAILURE, File ERROR-NO-SUCH-FILE-ERRORnot present on this pillar Result: Received event: 33f9512c: GET_FILE for file ERROR-NO-SUCH-FILE-ERROR: FAILED: , Unable to continue operation, contributors unavailable. 14:33:03.213 ERROR o.b.a.g.c.IdentifyingPillarsForGetFile - Failing conversation 'GetFileConversationContext{collectionID='TwoPillarCollection', conversationID='33f9512c-cf55-4cb2-abe1-c04b80e4cfdc', clientID='testNoSuchFileMultiplePillars', fileID='ERROR-NO-SUCH-FILE-ERROR', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='33f9512c', operationType=GET_FILE, fileID='ERROR-NO-SUCH-FILE-ERROR', eventHandler=org.bitrepository.client.TestEventHandler@2987ccc2, contributorCompleteEvents=[], contributorFailedEvents=[33f9512c: GET_FILE for file ERROR-NO-SUCH-FILE-ERROR: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FILE_NOT_FOUND_FAILURE, File ERROR-NO-SUCH-FILE-ERROR not present on this pillar , 33f9512c: GET_FILE for file ERROR-NO-SUCH-FILE-ERROR: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: FILE_NOT_FOUND_FAILURE, File ERROR-NO-SUCH-FILE-ERRORnot present on this pillar ], failOnComponentFailure=false}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@688cbf30, checksumPillars=[]}' with exception org.bitrepository.common.exceptions.UnableToFinishException: Unable to continue operation, contributors unavailable. at org.bitrepository.client.conversation.IdentifyingState.completeState(IdentifyingState.java:76) at org.bitrepository.client.conversation.GeneralConversationState.changeState(GeneralConversationState.java:147) at org.bitrepository.client.conversation.GeneralConversationState.handleMessage(GeneralConversationState.java:114) at org.bitrepository.client.conversation.StateBasedConversation.onMessage(StateBasedConversation.java:53) at org.bitrepository.client.conversation.mediator.CollectionBasedConversationMediator.onMessage(CollectionBasedConversationMediator.java:136) at org.bitrepository.protocol.messagebus.SimpleMessageBus.lambda$sendMessage$0(SimpleMessageBus.java:73) at java.lang.Iterable.forEach(Iterable.java:75) at org.bitrepository.protocol.messagebus.SimpleMessageBus.sendMessage(SimpleMessageBus.java:73) at org.bitrepository.access.getfile.GetFileClientComponentTest.testNoSuchFileMultiplePillars(GetFileClientComponentTest.java:444) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:134) at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:597) at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:173) at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46) at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:816) at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:146) at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128) at java.util.ArrayList.forEach(ArrayList.java:1249) at org.testng.TestRunner.privateRun(TestRunner.java:766) at org.testng.TestRunner.run(TestRunner.java:587) at org.testng.SuiteRunner.runTest(SuiteRunner.java:384) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337) at org.testng.SuiteRunner.run(SuiteRunner.java:286) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1187) at org.testng.TestNG.runSuitesLocally(TestNG.java:1109) at org.testng.TestNG.runSuites(TestNG.java:1039) at org.testng.TestNG.run(TestNG.java:1007) at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:135) at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeMulti(TestNGDirectoryTestSuite.java:193) at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:94) at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:146) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:377) at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:138) at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:465) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:451) Test success: testNoSuchFileMultiplePillars Test starting: testNoSuchFileSpecificPillar Description: Testing how a request for a non-existing file is handled on a specific pillar request. Step: Define 1 pillar. Step: Call getFileFromSpecificPillar. Stimuli: Calling getFileFromSpecificPillar(ERROR-NO-SUCH-FILE-ERROR, file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, Pillar1) Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileRequest@7d06c68d[correlationID=f1658717-6120-4e33-a27a-1a15fb3a1897, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=testNoSuchFileSpecificPillar, to=Pillar1, version=31, minVersion=24, auditTrailInformation=(default), fileID=ERROR-NO-SUCH-FILE-ERROR] Result: Received event: f1658717: GET_FILE for file ERROR-NO-SUCH-FILE-ERROR: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetFile Step: The specified pillars sends a FILE_NOT_FOUND response Result: Received event: f1658717: GET_FILE for file ERROR-NO-SUCH-FILE-ERROR: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FILE_NOT_FOUND_FAILURE, File ERROR-NO-SUCH-FILE-ERROR not present on this pillar Pillar1 Result: Received event: f1658717: GET_FILE for file ERROR-NO-SUCH-FILE-ERROR: FAILED: , Unable to continue operation, contributors unavailable. 14:33:03.301 ERROR o.b.a.g.c.IdentifyingPillarsForGetFile - Failing conversation 'GetFileConversationContext{collectionID='TwoPillarCollection', conversationID='f1658717-6120-4e33-a27a-1a15fb3a1897', clientID='testNoSuchFileSpecificPillar', fileID='ERROR-NO-SUCH-FILE-ERROR', contributors=[Pillar1], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='f1658717', operationType=GET_FILE, fileID='ERROR-NO-SUCH-FILE-ERROR', eventHandler=org.bitrepository.client.TestEventHandler@2d4696a0, contributorCompleteEvents=[], contributorFailedEvents=[f1658717: GET_FILE for file ERROR-NO-SUCH-FILE-ERROR: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FILE_NOT_FOUND_FAILURE, File ERROR-NO-SUCH-FILE-ERROR not present on this pillar Pillar1], failOnComponentFailure=false}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@5cb99a43, checksumPillars=[]}' with exception org.bitrepository.common.exceptions.UnableToFinishException: Unable to continue operation, contributors unavailable. at org.bitrepository.client.conversation.IdentifyingState.completeState(IdentifyingState.java:76) at org.bitrepository.client.conversation.GeneralConversationState.changeState(GeneralConversationState.java:147) at org.bitrepository.client.conversation.GeneralConversationState.handleMessage(GeneralConversationState.java:114) at org.bitrepository.client.conversation.StateBasedConversation.onMessage(StateBasedConversation.java:53) at org.bitrepository.client.conversation.mediator.CollectionBasedConversationMediator.onMessage(CollectionBasedConversationMediator.java:136) at org.bitrepository.protocol.messagebus.SimpleMessageBus.lambda$sendMessage$0(SimpleMessageBus.java:73) at java.lang.Iterable.forEach(Iterable.java:75) at org.bitrepository.protocol.messagebus.SimpleMessageBus.sendMessage(SimpleMessageBus.java:73) at org.bitrepository.access.getfile.GetFileClientComponentTest.testNoSuchFileSpecificPillar(GetFileClientComponentTest.java:405) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:134) at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:597) at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:173) at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46) at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:816) at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:146) at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128) at java.util.ArrayList.forEach(ArrayList.java:1249) at org.testng.TestRunner.privateRun(TestRunner.java:766) at org.testng.TestRunner.run(TestRunner.java:587) at org.testng.SuiteRunner.runTest(SuiteRunner.java:384) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337) at org.testng.SuiteRunner.run(SuiteRunner.java:286) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1187) at org.testng.TestNG.runSuitesLocally(TestNG.java:1109) at org.testng.TestNG.runSuites(TestNG.java:1039) at org.testng.TestNG.run(TestNG.java:1007) at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:135) at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeMulti(TestNGDirectoryTestSuite.java:193) at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:94) at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:146) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:377) at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:138) at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:465) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:451) Test success: testNoSuchFileSpecificPillar Test starting: verifyGetFileClientFromFactory Test success: verifyGetFileClientFromFactory Finished testcase Finished suite Finished project [INFO] Tests run: 156, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 55.616 s - in TestSuite [INFO] [INFO] Results: [INFO] [INFO] Tests run: 156, Failures: 0, Errors: 0, Skipped: 0 [INFO] [JENKINS] Recording test results [INFO] [INFO] --- jacoco-maven-plugin:0.8.5:report (report) @ bitrepository-client --- [INFO] Loading execution data file /home/cibuild01/workspace/Bitrepository-reference-test/bitrepository-client/target/jacoco.exec [INFO] Analyzed bundle 'Bitrepository Client' with 114 classes [INFO] [INFO] --- maven-jar-plugin:3.2.0:jar (default-jar) @ bitrepository-client --- [INFO] Building jar: /home/cibuild01/workspace/Bitrepository-reference-test/bitrepository-client/target/bitrepository-client-1.10-SNAPSHOT.jar [INFO] [INFO] --- maven-jar-plugin:3.2.0:test-jar (default) @ bitrepository-client --- [INFO] Building jar: /home/cibuild01/workspace/Bitrepository-reference-test/bitrepository-client/target/bitrepository-client-1.10-SNAPSHOT-tests.jar [INFO] [INFO] --- maven-source-plugin:3.2.1:jar-no-fork (attach-sources-no-fork) @ bitrepository-client --- [INFO] Building jar: /home/cibuild01/workspace/Bitrepository-reference-test/bitrepository-client/target/bitrepository-client-1.10-SNAPSHOT-sources.jar [INFO] [INFO] --- maven-assembly-plugin:3.3.0:single (make-assembly) @ bitrepository-client --- [INFO] Reading assembly descriptor: src/main/assembly/assembly.xml [INFO] Building tar: /home/cibuild01/workspace/Bitrepository-reference-test/bitrepository-client/target/bitrepository-client-1.10-SNAPSHOT-distribution.tar.gz [INFO] [INFO] --- maven-install-plugin:3.0.0-M1:install (default-install) @ bitrepository-client --- [INFO] Installing /home/cibuild01/workspace/Bitrepository-reference-test/bitrepository-client/target/bitrepository-client-1.10-SNAPSHOT.jar to /home/cibuild01/.m2/repository/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-SNAPSHOT.jar [INFO] Installing /home/cibuild01/workspace/Bitrepository-reference-test/bitrepository-client/pom.xml to /home/cibuild01/.m2/repository/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-SNAPSHOT.pom [INFO] Installing /home/cibuild01/workspace/Bitrepository-reference-test/bitrepository-client/target/bitrepository-client-1.10-SNAPSHOT-tests.jar to /home/cibuild01/.m2/repository/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-SNAPSHOT-tests.jar [INFO] Installing /home/cibuild01/workspace/Bitrepository-reference-test/bitrepository-client/target/bitrepository-client-1.10-SNAPSHOT-sources.jar to /home/cibuild01/.m2/repository/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-SNAPSHOT-sources.jar [INFO] Installing /home/cibuild01/workspace/Bitrepository-reference-test/bitrepository-client/target/bitrepository-client-1.10-SNAPSHOT-distribution.tar.gz to /home/cibuild01/.m2/repository/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-SNAPSHOT-distribution.tar.gz [INFO] [INFO] --- maven-deploy-plugin:3.0.0-M1:deploy (default-deploy) @ bitrepository-client --- [INFO] Downloading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/maven-metadata.xml [INFO] Downloaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/maven-metadata.xml (2 KB at 70.6 KB/sec) [INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200911.123308-57.jar [INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200911.123308-57.jar (191 KB at 4764.3 KB/sec) [INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200911.123308-57.pom [INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200911.123308-57.pom (2 KB at 121.8 KB/sec) [INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200911.123308-57-tests.jar [INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200911.123308-57-tests.jar (114 KB at 6328.0 KB/sec) [INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200911.123308-57-sources.jar [INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200911.123308-57-sources.jar (198 KB at 9858.5 KB/sec) [INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200911.123308-57-distribution.tar.gz [INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200911.123308-57-distribution.tar.gz (9036 KB at 30836.2 KB/sec) [INFO] Downloading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/maven-metadata.xml [INFO] Downloaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/maven-metadata.xml (484 B at 33.8 KB/sec) [INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/maven-metadata.xml [INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/maven-metadata.xml (2 KB at 78.4 KB/sec) [INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/maven-metadata.xml [INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/maven-metadata.xml (484 B at 33.8 KB/sec) [JENKINS] Archiving disabled