=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=<null>(default), checksumRequestForNewFile=<null>(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@c9c2e9d, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@29d75ca3[correlationID=10a8a5a8-8a8a-444f-9f3f-88bf4f3b0f9c, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=normalPutFile, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=0]
Result: Received event: 10a8a5a8: 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: 10a8a5a8: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 10a8a5a8: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 10a8a5a8: 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@7cead8f9[correlationID=10a8a5a8-8a8a-444f-9f3f-88bf4f3b0f9c, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=normalPutFile, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=<null>(default), checksumRequestForNewFile=<null>(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: 10a8a5a8: 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: 10a8a5a8: PUT_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, requestedChecksumResult=null
Result: Received event: 10a8a5a8: PUT_FILE for file default-test-file.txt: COMPLETE:
Test success: normalPutFile
Test starting: onePillarPutRetryFailure
Reference: <a href=https://sbforge.org/jira/browse/BITMAG-810>BITMAG-810 Reference client should be able to retry failed file transfers</a>
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@6ff2d1d, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@6dd31bab[correlationID=b41cb5af-398f-4c4b-9690-403c37441682, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarPutRetryFailure, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=0]
Result: Received event: b41cb5af: 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: b41cb5af: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: b41cb5af: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: b41cb5af: 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@d7479ae[correlationID=b41cb5af-398f-4c4b-9690-403c37441682, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarPutRetryFailure, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=<null>(default), checksumRequestForNewFile=<null>(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@1b81fb54[correlationID=b41cb5af-398f-4c4b-9690-403c37441682, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarPutRetryFailure, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=<null>(default), checksumRequestForNewFile=<null>(default)]
Result: Received event: b41cb5af: 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@7c062778[correlationID=b41cb5af-398f-4c4b-9690-403c37441682, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarPutRetryFailure, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=<null>(default), checksumRequestForNewFile=<null>(default)]
Result: Received event: b41cb5af: 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: b41cb5af: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FILE_TRANSFER_FAILURE
Result: Received event: b41cb5af: PUT_FILE for file default-test-file.txt: FAILED: , Failed operation. Cause(s):
[b41cb5af: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FILE_TRANSFER_FAILURE]
Test success: onePillarPutRetryFailure
Test starting: onePillarPutRetrySuccess
Reference: <a href=https://sbforge.org/jira/browse/BITMAG-810>BITMAG-810 Reference client should be able to retry failed file transfers</a>
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@54a32e35, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@40f5b4ad[correlationID=dd0ff6f4-9519-4860-8d25-7827ca1bc56d, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarPutRetrySuccess, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=0]
Result: Received event: dd0ff6f4: 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: dd0ff6f4: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: dd0ff6f4: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: dd0ff6f4: 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@2c822a91[correlationID=dd0ff6f4-9519-4860-8d25-7827ca1bc56d, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarPutRetrySuccess, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=<null>(default), checksumRequestForNewFile=<null>(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@611d6bb2[correlationID=dd0ff6f4-9519-4860-8d25-7827ca1bc56d, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarPutRetrySuccess, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=<null>(default), checksumRequestForNewFile=<null>(default)]
Result: Received event: dd0ff6f4: 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: dd0ff6f4: PUT_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, requestedChecksumResult=null
Result: Received event: dd0ff6f4: PUT_FILE for file default-test-file.txt: COMPLETE:
Test success: onePillarPutRetrySuccess
Test starting: onePillarRespondingWithPartialPutAllowed
Reference: <a href=https://sbforge.org/jira/browse/BITMAG-598>BITMAG-598 It should be possible to putFiles, even though only a subset of the pillars are available</a>
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@79237865, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@53b17c1f[correlationID=297d6d48-533f-4a38-aedf-0b46d4c684c9, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarRespondingWithPartialPutAllowed, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=0]
Result: Received event: 297d6d48: 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: 297d6d48: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Step: Await the timeout.
Result: Received event: 297d6d48: 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: 297d6d48: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor
Result: Received event: 297d6d48: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 297d6d48: 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@4ab7229d[correlationID=297d6d48-533f-4a38-aedf-0b46d4c684c9, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarRespondingWithPartialPutAllowed, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=<null>(default), checksumRequestForNewFile=<null>(default)]
Step: The client should proceed to send a putFileOperation request to the responding pillar.
Step: Send a pillar complete event
Result: Received event: 297d6d48: PUT_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, requestedChecksumResult=null
Result: Received event: 297d6d48: PUT_FILE for file default-test-file.txt: FAILED: , Failed operation. Cause(s):
[297d6d48: 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@592d034c, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@5e3def9e[correlationID=3c84a9e1-67e6-4296-9642-b3e2065cc557, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarRespondingWithPartialPutDisallowed, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=0]
Result: Received event: 3c84a9e1: 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: 3c84a9e1: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Step: Await the timeout.
Result: Received event: 3c84a9e1: 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: 3c84a9e1: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor
Result: Received event: 3c84a9e1: PUT_FILE for file default-test-file.txt: FAILED: , Unable to continue operation, contributors unavailable.
10:31:23.592 ERROR o.b.m.p.c.IdentifyPillarsForPutFile - Failing conversation 'PutFileConversationContext{collectionID='TwoPillarCollection', conversationID='3c84a9e1-67e6-4296-9642-b3e2065cc557', clientID='onePillarRespondingWithPartialPutDisallowed', fileID='default-test-file.txt', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='3c84a9e1', operationType=PUT_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@592d034c, contributorCompleteEvents=[], contributorFailedEvents=[3c84a9e1: 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@6ee01ca, 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@9586c9, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@e05c51c[correlationID=e0706854-7f53-4fe8-b910-bbb102c45dce, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=putClientOperationTimeout, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=0]
Result: Received event: e0706854: 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: e0706854: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: e0706854: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: e0706854: 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@3760fc6a[correlationID=e0706854-7f53-4fe8-b910-bbb102c45dce, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=putClientOperationTimeout, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=<null>(default), checksumRequestForNewFile=<null>(default)]
Step: Validate the steps of the PutClient by going through the events.
Step: Do not respond. Just await the timeout.
Result: Received event: e0706854: PUT_FILE for file default-test-file.txt: FAILED: , Failed to receive responses from all contributors before timeout(100ms). Missing contributors [Pillar1]
10:31:23.913 ERROR o.b.m.p.conversation.PuttingFile - Failing conversation 'PutFileConversationContext{collectionID='TwoPillarCollection', conversationID='e0706854-7f53-4fe8-b910-bbb102c45dce', clientID='putClientOperationTimeout', fileID='default-test-file.txt', contributors=[Pillar1], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='e0706854', operationType=PUT_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@9586c9, contributorCompleteEvents=[], contributorFailedEvents=[], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@87bd499, 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@17564b1b, TEST-AUDIT-TRAIL)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@2ceb060a[correlationID=3a978141-deb1-41bd-a6aa-c36ab74a2607, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=putClientPillarOperationFailed, to=Pillar1, version=30, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, fileID=default-test-file.txt, fileSize=0]
Result: Received event: 3a978141: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file
Step: Send pillar response.
Result: Received event: 3a978141: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 3a978141: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 3a978141: 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@75515231[correlationID=3a978141-deb1-41bd-a6aa-c36ab74a2607, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=putClientPillarOperationFailed, to=Pillar1, version=30, 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=<null>(default), checksumRequestForNewFile=<null>(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: 3a978141: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE, Verifying that a failure can be understood!
Result: Received event: 3a978141: PUT_FILE for file default-test-file.txt: FAILED: , Failed operation. Cause(s):
[3a978141: 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: <a href=https://sbforge.org/jira/browse/BITMAG-925>BITMAG-925 Client will always try to put to the pillars defined in the first collection</a>
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@2b9c0a0e, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@669bef81[correlationID=c4c80a74-a8dc-4aed-94f5-c6a919e3157e, collectionID=SinglePillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=putToOtherCollection, to=Pillar2, version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=0]
Result: Received event: c4c80a74: 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: c4c80a74: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: c4c80a74: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar2]
Result: Received event: c4c80a74: 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@7d04b157[correlationID=c4c80a74-a8dc-4aed-94f5-c6a919e3157e, collectionID=SinglePillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=putToOtherCollection, to=Pillar2, version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar2, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=<null>(default), checksumRequestForNewFile=<null>(default)]
Step: Send a put complete event from the pillar
Result: Received event: c4c80a74: PUT_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar2, requestedChecksumResult=null
Result: Received event: c4c80a74: 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: <a href="https://sbforge.org/jira/browse/BITMAG-677">BITMAG-677put, replace and delete clients fails if return checksums are requested and a checksumpillar is involved</a>
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@5308a182[checksumType=HMAC_MD5, checksumSalt={-86}, otherChecksumType=<null>(default)], org.bitrepository.client.TestEventHandler@3192c24f, TEST-AUDIT-TRAIL)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@7eeef604[correlationID=72b21fd9-5cc8-4ca4-8386-b9e7ed4e253d, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=saltedReturnChecksumsWithChecksumPillar, to=<null>(default), version=30, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, fileID=default-test-file.txt, fileSize=0]
Result: Received event: 72b21fd9: 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: 72b21fd9: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Step: Send an normal identification response from pillar2.
Result: Received event: 72b21fd9: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: 72b21fd9: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar2, Pillar1]
Result: Received event: 72b21fd9: 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@6ee8afd0[correlationID=72b21fd9-5cc8-4ca4-8386-b9e7ed4e253d, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=saltedReturnChecksumsWithChecksumPillar, to=<null>(default), version=30, 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=<null>(default), checksumRequestForNewFile=<null>(default)]
Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@65dc10b[correlationID=72b21fd9-5cc8-4ca4-8386-b9e7ed4e253d, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=saltedReturnChecksumsWithChecksumPillar, to=<null>(default), version=30, 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=<null>(default), checksumRequestForNewFile=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@5308a182[checksumType=HMAC_MD5, checksumSalt={-86}, otherChecksumType=<null>(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@3bc49af9[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@593e926f[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-07-03T10:31:24.449+02:00], null, org.bitrepository.client.TestEventHandler@7d9b0c1f, TEST-AUDIT-TRAIL)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@b74ce29[correlationID=2a406bf8-e6a2-4b8c-a1d0-014425b62d46, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=sameFileExistsOnOnePillar, to=<null>(default), version=30, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, fileID=default-test-file.txt, fileSize=0]
Result: Received event: 2a406bf8: 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: 2a406bf8: PUT_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, requestedChecksumResult=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@1c26d322[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@318e5309[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-07-03T10:31:24.452+02:00], File already existed on Pillar1
Step: Send an identification response from the second pillar.
Result: Received event: 2a406bf8: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: 2a406bf8: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar2]
Result: Received event: 2a406bf8: 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@1e09740d[correlationID=2a406bf8-e6a2-4b8c-a1d0-014425b62d46, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=sameFileExistsOnOnePillar, to=<null>(default), version=30, 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@3bc49af9[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@593e926f[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-07-03T10:31:24.449+02:00], checksumRequestForNewFile=<null>(default)]
Step: The client should proceed to send a putFileOperation request to the second pillar.
Step: Send a pillar complete event
Result: Received event: 2a406bf8: PUT_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar2, requestedChecksumResult=null
Result: Received event: 2a406bf8: 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 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: Random1593765086523pillar is not a valid pillar for collection TwoPillarCollection
The collection contains the following pillars: [Pillar1, Pillar2]
Test success: unknownPillarArgumentTest
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: Random1593765087898pillar is not a valid pillar for collection TwoPillarCollection
The collection contains the following pillars: [Pillar1, Pillar2]
Test success: unknownPillarArgumentTest
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: Random1593765089416pillar is not a valid pillar for collection TwoPillarCollection
The collection contains the following pillars: [Pillar1, Pillar2]
Test success: unknownPillarArgumentTest
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@adc1e48[correlationID=62cc2594-43db-4f0d-a4ef-22b28c96969a, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=chooseFastestPillarGetFileClient, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: 62cc2594: 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: 62cc2594: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID THE-AVERAGE-PILLAR
Result: Received event: 62cc2594: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID THE-FAST-PILLAR
Result: Received event: 62cc2594: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID THE-SLOW-PILLAR
Result: Received event: 62cc2594: GET_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [THE-FAST-PILLAR]
Result: Received event: 62cc2594: 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@4941bd9c[correlationID=62cc2594-43db-4f0d-a4ef-22b28c96969a, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=chooseFastestPillarGetFileClient, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=THE-FAST-PILLAR, fileID=default-test-file.txt, filePart=<null>(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@38f66fd0[correlationID=2ecd46db-3efe-4808-97a8-90152de95797, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=conversationTimeout, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: 2ecd46db: 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: 2ecd46db: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 2ecd46db: GET_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 2ecd46db: 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@47445dd6[correlationID=2ecd46db-3efe-4808-97a8-90152de95797, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=conversationTimeout, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, filePart=<null>(default), fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt]
Step: Wait for 1 second
10:31:30.951 WARN o.b.c.c.m.CollectionBasedConversationMediator - Failing timed out conversation 2ecd46db-3efe-4808-97a8-90152de95797 (Age 996ms)
Result: Received event: 2ecd46db: GET_FILE for file default-test-file.txt: FAILED: , Failing timed out conversation 2ecd46db-3efe-4808-97a8-90152de95797
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@1cc02071[correlationID=4d069231-4659-447f-9791-d56e4a37240f, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=failureDuringPerform, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: 4d069231: 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: 4d069231: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 4d069231: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: 4d069231: GET_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 4d069231: 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@39fc33e6[correlationID=4d069231-4659-447f-9791-d56e4a37240f, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=failureDuringPerform, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, filePart=<null>(default), fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt]
Step: Send a failure response from pillar1
Result: Received event: 4d069231: GET_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE
Result: Received event: 4d069231: GET_FILE for file default-test-file.txt: FAILED: , Failed to get file from Pillar1, org.bitrepository.bitrepositoryelements.ResponseInfo@3f6a2122[responseCode=FAILURE, responseText=<null>(default)]
10:31:31.138 ERROR o.b.a.g.conversation.GettingFile - Failing conversation 'GetFileConversationContext{collectionID='TwoPillarCollection', conversationID='4d069231-4659-447f-9791-d56e4a37240f', clientID='failureDuringPerform', fileID='default-test-file.txt', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='4d069231', operationType=GET_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@22b45d16, contributorCompleteEvents=[], contributorFailedEvents=[4d069231: GET_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE], failOnComponentFailure=false}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@6afd3afd, checksumPillars=[]}' with exception
org.bitrepository.common.exceptions.UnableToFinishException: Failed to get file from Pillar1, org.bitrepository.bitrepositoryelements.ResponseInfo@3f6a2122[responseCode=FAILURE, responseText=<null>(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@9e1a06f[correlationID=a2465a13-5480-4083-8649-0f7688513b03, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileClientWithChecksumPillarInvolved, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: a2465a13: 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: a2465a13: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: a2465a13: GET_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar2]
Result: Received event: a2465a13: 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@7a177ead[correlationID=a2465a13-5480-4083-8649-0f7688513b03, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileClientWithChecksumPillarInvolved, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar2, fileID=default-test-file.txt, filePart=<null>(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: a2465a13: GET_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar2
Result: Received event: a2465a13: 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@6dae65b4[correlationID=d711f048-d5bf-4cf4-b2f8-61ffd232ece4, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileClientWithIdentifyTimeout, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: d711f048: 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: d711f048: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Step: Wait 1 second.
Result: Received event: d711f048: 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: d711f048: GET_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor
Result: Received event: d711f048: GET_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: d711f048: 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@7b2bbcc1[correlationID=d711f048-d5bf-4cf4-b2f8-61ffd232ece4, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileClientWithIdentifyTimeout, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, filePart=<null>(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: d711f048: GET_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1
Result: Received event: d711f048: 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@46f80df6[correlationID=80b5d626-6fa5-45b6-a313-317d7c72b083, collectionID=SinglePillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileFromOtherCollection, to=Pillar2, version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: 80b5d626: 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: 80b5d626: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: 80b5d626: GET_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar2]
Result: Received event: 80b5d626: 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@7b68cb35[correlationID=80b5d626-6fa5-45b6-a313-317d7c72b083, collectionID=SinglePillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileFromOtherCollection, to=Pillar2, version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar2, fileID=default-test-file.txt, filePart=<null>(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: 80b5d626: GET_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar2
Result: Received event: 80b5d626: 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@37f4baac[correlationID=7d5d9d89-818e-478d-b4c4-02661b65986f, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileFromSpecificPillar, to=Pillar2, version=30, minVersion=24, auditTrailInformation=AuditTrailInfo for getFileFromSpecificPillarTest, fileID=default-test-file.txt]
Result: Received event: 7d5d9d89: 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: 7d5d9d89: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: 7d5d9d89: GET_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar2]
Result: Received event: 7d5d9d89: 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@5159969e[correlationID=7d5d9d89-818e-478d-b4c4-02661b65986f, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileFromSpecificPillar, to=Pillar2, version=30, minVersion=24, auditTrailInformation=AuditTrailInfo for getFileFromSpecificPillarTest, pillarID=Pillar2, fileID=default-test-file.txt, filePart=<null>(default), fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt]
Step: Send a GetFileProgressResponse.
Result: Received event: 7d5d9d89: GET_FILE for file default-test-file.txt: PROGRESS: ContributorID Pillar2, First test progress response message
Step: Send a GetFileFinalResponse.
Result: Received event: 7d5d9d89: GET_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar2
Result: Received event: 7d5d9d89: 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@1a888d09[correlationID=587678bb-e129-411e-af03-94806972522d, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileFromSpecificPillarWithFilePart, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: 587678bb: 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: 587678bb: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 587678bb: GET_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 587678bb: 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@17f8ae0[correlationID=587678bb-e129-411e-af03-94806972522d, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileFromSpecificPillarWithFilePart, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, filePart=org.bitrepository.bitrepositoryelements.FilePart@59683eaf[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: 587678bb: 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: 587678bb: GET_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1
Result: Received event: 587678bb: 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@5eab3e7c[correlationID=2da99724-0bce-4cb4-a7d8-3e2c1a57d13d, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=noIdentifyResponse, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: 2da99724: GET_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetFile
Step: Wait for 1 seconds
Result: Received event: 2da99724: 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: 2da99724: GET_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor
Result: Received event: 2da99724: GET_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor
Result: Received event: 2da99724: GET_FILE for file default-test-file.txt: FAILED: , Unable to continue operation, contributors unavailable.
10:31:34.190 ERROR o.b.a.g.c.IdentifyingPillarsForGetFile - Failing conversation 'GetFileConversationContext{collectionID='TwoPillarCollection', conversationID='2da99724-0bce-4cb4-a7d8-3e2c1a57d13d', clientID='noIdentifyResponse', fileID='default-test-file.txt', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='2da99724', operationType=GET_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@2bb77dc1, contributorCompleteEvents=[], contributorFailedEvents=[2da99724: GET_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor, 2da99724: 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@5d21c92c, 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@388c04b4[correlationID=c023b392-b502-4542-8f1b-b4156d9f45b9, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=singleComponentFailureDuringIdentify, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: c023b392: 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: c023b392: 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: c023b392: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: c023b392: GET_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar2]
Result: Received event: c023b392: 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@4e39c985[correlationID=c023b392-b502-4542-8f1b-b4156d9f45b9, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=singleComponentFailureDuringIdentify, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar2, fileID=default-test-file.txt, filePart=<null>(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: c023b392: GET_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar2
Result: Received event: c023b392: 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@332dcbf[correlationID=be45f56c-df7e-4ec2-ac12-28c1ca949738, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=testNoSuchFileMultiplePillars, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=ERROR-NO-SUCH-FILE-ERROR]
Result: Received event: be45f56c: 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: be45f56c: 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: be45f56c: 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: be45f56c: GET_FILE for file ERROR-NO-SUCH-FILE-ERROR: FAILED: , Unable to continue operation, contributors unavailable.
10:31:34.512 ERROR o.b.a.g.c.IdentifyingPillarsForGetFile - Failing conversation 'GetFileConversationContext{collectionID='TwoPillarCollection', conversationID='be45f56c-df7e-4ec2-ac12-28c1ca949738', clientID='testNoSuchFileMultiplePillars', fileID='ERROR-NO-SUCH-FILE-ERROR', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='be45f56c', operationType=GET_FILE, fileID='ERROR-NO-SUCH-FILE-ERROR', eventHandler=org.bitrepository.client.TestEventHandler@4f6db8be, contributorCompleteEvents=[], contributorFailedEvents=[be45f56c: 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 , be45f56c: 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@3335ff94, 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@4939e1d8[correlationID=2516c8cc-27cf-4dcd-ad8c-6bafcfe26302, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=testNoSuchFileSpecificPillar, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=ERROR-NO-SUCH-FILE-ERROR]
Result: Received event: 2516c8cc: 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: 2516c8cc: 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: 2516c8cc: GET_FILE for file ERROR-NO-SUCH-FILE-ERROR: FAILED: , Unable to continue operation, contributors unavailable.
10:31:34.737 ERROR o.b.a.g.c.IdentifyingPillarsForGetFile - Failing conversation 'GetFileConversationContext{collectionID='TwoPillarCollection', conversationID='2516c8cc-27cf-4dcd-ad8c-6bafcfe26302', clientID='testNoSuchFileSpecificPillar', fileID='ERROR-NO-SUCH-FILE-ERROR', contributors=[Pillar1], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='2516c8cc', operationType=GET_FILE, fileID='ERROR-NO-SUCH-FILE-ERROR', eventHandler=org.bitrepository.client.TestEventHandler@610399d4, contributorCompleteEvents=[], contributorFailedEvents=[2516c8cc: 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@194087d1, 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
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 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: Random1593765099370pillar 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 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@2f288883[correlationID=dd9707ff-0576-4efb-ac6e-05a157c83583, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=getAllAuditTrailsTest, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default)]
Result: Received event: dd9707ff: 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: dd9707ff: GET_AUDIT_TRAILS for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: dd9707ff: GET_AUDIT_TRAILS for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: dd9707ff: GET_AUDIT_TRAILS for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1, Pillar2]
Result: Received event: dd9707ff: 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@6bc9e56d[correlationID=dd9707ff-0576-4efb-ac6e-05a157c83583, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=getAllAuditTrailsTest, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), contributor=Pillar1, fileID=default-test-file.txt, minSequenceNumber=<null>(default), maxSequenceNumber=<null>(default), minTimestamp=<null>(default), maxTimestamp=<null>(default), maxNumberOfResults=<null>(default), resultAddress=<null>(default)]
Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@2d32d675[correlationID=dd9707ff-0576-4efb-ac6e-05a157c83583, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=getAllAuditTrailsTest, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), contributor=Pillar2, fileID=default-test-file.txt, minSequenceNumber=<null>(default), maxSequenceNumber=<null>(default), minTimestamp=<null>(default), maxTimestamp=<null>(default), maxNumberOfResults=<null>(default), resultAddress=<null>(default)]
Step: Send a final response from pillar 1
Result: Received event: dd9707ff: 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: dd9707ff: GET_AUDIT_TRAILS for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar2, NumberOfAuditTrailEvents=2, PartialResult=false
Result: Received event: dd9707ff: 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@3ed09d54[correlationID=96b4f49e-131c-4314-bece-9fcf44503916, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=getSomeAuditTrailsTest, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default)]
Result: Received event: 96b4f49e: GET_AUDIT_TRAILS: IDENTIFY_REQUEST_SENT: , Identifying contributers for audit trails
Step: Send a identifyResponse from pillar1
Result: Received event: 96b4f49e: GET_AUDIT_TRAILS: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 96b4f49e: GET_AUDIT_TRAILS: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 96b4f49e: GET_AUDIT_TRAILS: REQUEST_SENT: ContributorID [Pillar1], Sending request for audit trails
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@654c6a9c[correlationID=96b4f49e-131c-4314-bece-9fcf44503916, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=getSomeAuditTrailsTest, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), contributor=Pillar1, fileID=<null>(default), minSequenceNumber=1, maxSequenceNumber=3, minTimestamp=<null>(default), maxTimestamp=<null>(default), maxNumberOfResults=10000, resultAddress=<null>(default)]
Step: Verify no request is sent to pillar2
Step: Send a final response from pillar 1
Result: Received event: 96b4f49e: GET_AUDIT_TRAILS: COMPONENT_COMPLETE: ContributorID Pillar1, NumberOfAuditTrailEvents=2, PartialResult=false
Result: Received event: 96b4f49e: 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@33a3fe7b[correlationID=e8b049ec-e3bd-4f40-9e24-1db08c24b65a, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=incompleteSetOfFinalResponsesTest, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default)]
Result: Received event: e8b049ec: GET_AUDIT_TRAILS: IDENTIFY_REQUEST_SENT: , Identifying contributers for audit trails
Step: Send a identifyResponse from each of the two pillars
Result: Received event: e8b049ec: GET_AUDIT_TRAILS: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: e8b049ec: GET_AUDIT_TRAILS: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: e8b049ec: GET_AUDIT_TRAILS: IDENTIFICATION_COMPLETE: Contributors: [Pillar2, Pillar1]
Result: Received event: e8b049ec: GET_AUDIT_TRAILS: REQUEST_SENT: ContributorID [Pillar1, Pillar2], Sending request for audit trails
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@34810e9[correlationID=e8b049ec-e3bd-4f40-9e24-1db08c24b65a, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=incompleteSetOfFinalResponsesTest, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), contributor=Pillar1, fileID=<null>(default), minSequenceNumber=<null>(default), maxSequenceNumber=<null>(default), minTimestamp=<null>(default), maxTimestamp=<null>(default), maxNumberOfResults=<null>(default), resultAddress=<null>(default)]
Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@2fb476dd[correlationID=e8b049ec-e3bd-4f40-9e24-1db08c24b65a, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=incompleteSetOfFinalResponsesTest, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), contributor=Pillar2, fileID=<null>(default), minSequenceNumber=<null>(default), maxSequenceNumber=<null>(default), minTimestamp=<null>(default), maxTimestamp=<null>(default), maxNumberOfResults=<null>(default), resultAddress=<null>(default)]
Test success: incompleteSetOfFinalResponsesTest
Result: The following messages haven't been handled by the testcase:
org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@2fb476dd[correlationID=e8b049ec-e3bd-4f40-9e24-1db08c24b65a, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=incompleteSetOfFinalResponsesTest, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), contributor=Pillar2, fileID=<null>(default), minSequenceNumber=<null>(default), maxSequenceNumber=<null>(default), minTimestamp=<null>(default), maxTimestamp=<null>(default), maxNumberOfResults=<null>(default), resultAddress=<null>(default)]
10:31:40.974 WARN o.b.protocol.bus.MessageReceiver - The following messages haven't been handled by the testcase:
org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@2fb476dd[correlationID=e8b049ec-e3bd-4f40-9e24-1db08c24b65a, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=incompleteSetOfFinalResponsesTest, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), contributor=Pillar2, fileID=<null>(default), minSequenceNumber=<null>(default), maxSequenceNumber=<null>(default), minTimestamp=<null>(default), maxTimestamp=<null>(default), maxNumberOfResults=<null>(default), resultAddress=<null>(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@552a61a2[correlationID=c9b57883-483e-4126-b76c-7504deb5b1d6, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=negativeGetAuditTrailsResponseTest, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default)]
Result: Received event: c9b57883: GET_AUDIT_TRAILS: IDENTIFY_REQUEST_SENT: , Identifying contributers for audit trails
Step: Send a identifyResponse from each of the two pillars
Result: Received event: c9b57883: GET_AUDIT_TRAILS: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: c9b57883: GET_AUDIT_TRAILS: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: c9b57883: GET_AUDIT_TRAILS: IDENTIFICATION_COMPLETE: Contributors: [Pillar2, Pillar1]
Result: Received event: c9b57883: GET_AUDIT_TRAILS: REQUEST_SENT: ContributorID [Pillar1, Pillar2], Sending request for audit trails
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@61ddd209[correlationID=c9b57883-483e-4126-b76c-7504deb5b1d6, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=negativeGetAuditTrailsResponseTest, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), contributor=Pillar1, fileID=<null>(default), minSequenceNumber=<null>(default), maxSequenceNumber=<null>(default), minTimestamp=<null>(default), maxTimestamp=<null>(default), maxNumberOfResults=<null>(default), resultAddress=<null>(default)]
Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@677c98e1[correlationID=c9b57883-483e-4126-b76c-7504deb5b1d6, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=negativeGetAuditTrailsResponseTest, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), contributor=Pillar2, fileID=<null>(default), minSequenceNumber=<null>(default), maxSequenceNumber=<null>(default), minTimestamp=<null>(default), maxTimestamp=<null>(default), maxNumberOfResults=<null>(default), resultAddress=<null>(default)]
Step: Send a failed response from pillar 1
Result: Received event: c9b57883: GET_AUDIT_TRAILS: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE, GetAuditTrails failed
Step: Send a final response from pillar 2
Result: Received event: c9b57883: GET_AUDIT_TRAILS: COMPONENT_COMPLETE: ContributorID Pillar2, NumberOfAuditTrailEvents=2, PartialResult=false
Result: Received event: c9b57883: GET_AUDIT_TRAILS: FAILED: , Failed operation. Cause(s):
[c9b57883: 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@63e213e4[correlationID=ed380e80-94c6-4d37-8d9a-9f001b4b0799, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=noFinalResponsesTest, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default)]
Result: Received event: ed380e80: GET_AUDIT_TRAILS: IDENTIFY_REQUEST_SENT: , Identifying contributers for audit trails
Step: Send a identifyResponse from each of the two pillars
Result: Received event: ed380e80: GET_AUDIT_TRAILS: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: ed380e80: GET_AUDIT_TRAILS: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: ed380e80: GET_AUDIT_TRAILS: IDENTIFICATION_COMPLETE: Contributors: [Pillar1, Pillar2]
Result: Received event: ed380e80: GET_AUDIT_TRAILS: REQUEST_SENT: ContributorID [Pillar1, Pillar2], Sending request for audit trails
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@58763549[correlationID=ed380e80-94c6-4d37-8d9a-9f001b4b0799, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=noFinalResponsesTest, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), contributor=Pillar1, fileID=<null>(default), minSequenceNumber=<null>(default), maxSequenceNumber=<null>(default), minTimestamp=<null>(default), maxTimestamp=<null>(default), maxNumberOfResults=<null>(default), resultAddress=<null>(default)]
Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@2bf87090[correlationID=ed380e80-94c6-4d37-8d9a-9f001b4b0799, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=noFinalResponsesTest, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), contributor=Pillar2, fileID=<null>(default), minSequenceNumber=<null>(default), maxSequenceNumber=<null>(default), minTimestamp=<null>(default), maxTimestamp=<null>(default), maxNumberOfResults=<null>(default), resultAddress=<null>(default)]
Step: Wait for 1 second
Result: Received event: ed380e80: GET_AUDIT_TRAILS: FAILED: , Failed to receive responses from all contributors before timeout(100ms). Missing contributors [Pillar1, Pillar2]
10:31:41.363 ERROR o.b.a.g.client.GettingAuditTrails - Failing conversation 'AuditTrailConversationContext{collectionID='TwoPillarCollection', conversationID='ed380e80-94c6-4d37-8d9a-9f001b4b0799', clientID='noFinalResponsesTest', fileID='null', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='ed380e80', operationType=GET_AUDIT_TRAILS, fileID='null', eventHandler=org.bitrepository.client.TestEventHandler@b28010d, contributorCompleteEvents=[], contributorFailedEvents=[], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@2d43691d, 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@58763549[correlationID=ed380e80-94c6-4d37-8d9a-9f001b4b0799, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=noFinalResponsesTest, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), contributor=Pillar1, fileID=<null>(default), minSequenceNumber=<null>(default), maxSequenceNumber=<null>(default), minTimestamp=<null>(default), maxTimestamp=<null>(default), maxNumberOfResults=<null>(default), resultAddress=<null>(default)]
10:31:41.364 WARN o.b.protocol.bus.MessageReceiver - The following messages haven't been handled by the testcase:
org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@58763549[correlationID=ed380e80-94c6-4d37-8d9a-9f001b4b0799, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=noFinalResponsesTest, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), contributor=Pillar1, fileID=<null>(default), minSequenceNumber=<null>(default), maxSequenceNumber=<null>(default), minTimestamp=<null>(default), maxTimestamp=<null>(default), maxNumberOfResults=<null>(default), resultAddress=<null>(default)]
Result: The following messages haven't been handled by the testcase:
org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@2bf87090[correlationID=ed380e80-94c6-4d37-8d9a-9f001b4b0799, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=noFinalResponsesTest, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), contributor=Pillar2, fileID=<null>(default), minSequenceNumber=<null>(default), maxSequenceNumber=<null>(default), minTimestamp=<null>(default), maxTimestamp=<null>(default), maxNumberOfResults=<null>(default), resultAddress=<null>(default)]
10:31:41.364 WARN o.b.protocol.bus.MessageReceiver - The following messages haven't been handled by the testcase:
org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@2bf87090[correlationID=ed380e80-94c6-4d37-8d9a-9f001b4b0799, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=noFinalResponsesTest, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), contributor=Pillar2, fileID=<null>(default), minSequenceNumber=<null>(default), maxSequenceNumber=<null>(default), minTimestamp=<null>(default), maxTimestamp=<null>(default), maxNumberOfResults=<null>(default), resultAddress=<null>(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 event: e8b049ec: GET_AUDIT_TRAILS: FAILED: , Failed to receive responses from all contributors before timeout(500ms). Missing contributors [Pillar1, Pillar2]
10:31:41.472 ERROR o.b.a.g.client.GettingAuditTrails - Failing conversation 'AuditTrailConversationContext{collectionID='TwoPillarCollection', conversationID='e8b049ec-e3bd-4f40-9e24-1db08c24b65a', clientID='incompleteSetOfFinalResponsesTest', fileID='null', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='e8b049ec', operationType=GET_AUDIT_TRAILS, fileID='null', eventHandler=org.bitrepository.client.TestEventHandler@3d8a4001, contributorCompleteEvents=[], contributorFailedEvents=[], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@6eb19635, 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)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyContributorsForGetAuditTrailsRequest@43d172fc[correlationID=cb23688f-761b-4ea8-b589-2f2c3f39fa39, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=progressEventsTest, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default)]
Result: Received event: cb23688f: GET_AUDIT_TRAILS: IDENTIFY_REQUEST_SENT: , Identifying contributers for audit trails
Step: Send a identifyResponse from each of the two pillars
Result: Received event: cb23688f: GET_AUDIT_TRAILS: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: cb23688f: GET_AUDIT_TRAILS: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: cb23688f: GET_AUDIT_TRAILS: IDENTIFICATION_COMPLETE: Contributors: [Pillar1, Pillar2]
Result: Received event: cb23688f: GET_AUDIT_TRAILS: REQUEST_SENT: ContributorID [Pillar1, Pillar2], Sending request for audit trails
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@14b87222[correlationID=cb23688f-761b-4ea8-b589-2f2c3f39fa39, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=progressEventsTest, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), contributor=Pillar1, fileID=<null>(default), minSequenceNumber=<null>(default), maxSequenceNumber=<null>(default), minTimestamp=<null>(default), maxTimestamp=<null>(default), maxNumberOfResults=<null>(default), resultAddress=<null>(default)]
Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@5cb6b4db[correlationID=cb23688f-761b-4ea8-b589-2f2c3f39fa39, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=progressEventsTest, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), contributor=Pillar2, fileID=<null>(default), minSequenceNumber=<null>(default), maxSequenceNumber=<null>(default), minTimestamp=<null>(default), maxTimestamp=<null>(default), maxNumberOfResults=<null>(default), resultAddress=<null>(default)]
Step: Send a progress accepted response from pillar 1
Result: Received event: cb23688f: GET_AUDIT_TRAILS: PROGRESS: ContributorID Pillar1, GetAuditTrails request accepted
Step: Send a general progress response from pillar 2
Result: Received event: cb23688f: GET_AUDIT_TRAILS: PROGRESS: ContributorID Pillar2, Still progressing
Test success: progressEventsTest
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@1577084d[correlationID=0ef5a4cb-1a2d-4f7b-97ec-1add832cbb20, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=collectionIDIncludedInEventsTest, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default)]
Result: Received event: 0ef5a4cb: 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: 0ef5a4cb: GET_AUDIT_TRAILS: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 0ef5a4cb: GET_AUDIT_TRAILS: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: IDENTIFICATION_NEGATIVE
Result: Received event: 0ef5a4cb: GET_AUDIT_TRAILS: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 0ef5a4cb: GET_AUDIT_TRAILS: REQUEST_SENT: ContributorID [Pillar1], Sending request for audit trails
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@42daad9b[correlationID=0ef5a4cb-1a2d-4f7b-97ec-1add832cbb20, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=collectionIDIncludedInEventsTest, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), contributor=Pillar1, fileID=<null>(default), minSequenceNumber=<null>(default), maxSequenceNumber=<null>(default), minTimestamp=<null>(default), maxTimestamp=<null>(default), maxNumberOfResults=<null>(default), resultAddress=<null>(default)]
Step: Wait for 1 second
Result: Received event: 0ef5a4cb: GET_AUDIT_TRAILS: FAILED: , Failed to receive responses from all contributors before timeout(500ms). Missing contributors [Pillar1]
10:31:42.224 ERROR o.b.a.g.client.GettingAuditTrails - Failing conversation 'AuditTrailConversationContext{collectionID='TwoPillarCollection', conversationID='0ef5a4cb-1a2d-4f7b-97ec-1add832cbb20', clientID='collectionIDIncludedInEventsTest', fileID='null', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='0ef5a4cb', operationType=GET_AUDIT_TRAILS, fileID='null', eventHandler=org.bitrepository.client.TestEventHandler@255ac287, contributorCompleteEvents=[], contributorFailedEvents=[0ef5a4cb: GET_AUDIT_TRAILS: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: IDENTIFICATION_NEGATIVE], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@13674cb0, 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@4207c0f[correlationID=308455de-9c2d-48a6-88ba-abb1dc33d089, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=conversationTimeoutTest, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default)]
Result: Received event: 308455de: GET_AUDIT_TRAILS: IDENTIFY_REQUEST_SENT: , Identifying contributers for audit trails
10:31:43.376 WARN o.b.c.c.m.CollectionBasedConversationMediator - Failing timed out conversation 308455de-9c2d-48a6-88ba-abb1dc33d089 (Age 999ms)
Result: Received event: 308455de: GET_AUDIT_TRAILS: FAILED: , Failing timed out conversation 308455de-9c2d-48a6-88ba-abb1dc33d089
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@46236ab4[correlationID=d68f1b4a-1c89-4a3c-a3c1-def6eb73c8c7, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=identificationFailureTest, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default)]
Result: Received event: d68f1b4a: 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: d68f1b4a: 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: d68f1b4a: GET_AUDIT_TRAILS: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: d68f1b4a: GET_AUDIT_TRAILS: IDENTIFICATION_COMPLETE: Contributors: [Pillar2]
Result: Received event: d68f1b4a: GET_AUDIT_TRAILS: REQUEST_SENT: ContributorID [Pillar2], Sending request for audit trails
Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@57b213f5[correlationID=d68f1b4a-1c89-4a3c-a3c1-def6eb73c8c7, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=identificationFailureTest, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), contributor=Pillar2, fileID=<null>(default), minSequenceNumber=<null>(default), maxSequenceNumber=<null>(default), minTimestamp=<null>(default), maxTimestamp=<null>(default), maxNumberOfResults=<null>(default), resultAddress=<null>(default)]
Step: Verify that the client continues to the performing phase.
Step: Send a final response message from contributor2
Result: Received event: d68f1b4a: GET_AUDIT_TRAILS: COMPONENT_COMPLETE: ContributorID Pillar2, PartialResult=false
Result: Received event: d68f1b4a: GET_AUDIT_TRAILS: FAILED: , Failed operation. Cause(s):
[d68f1b4a: 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@75b2ace6[correlationID=5e7dce25-e218-4815-b84c-b8f5c4e46d73, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=identificationNegativeTest, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default)]
Result: Received event: 5e7dce25: 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: 5e7dce25: 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: 5e7dce25: GET_AUDIT_TRAILS: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: 5e7dce25: GET_AUDIT_TRAILS: IDENTIFICATION_COMPLETE: Contributors: [Pillar2]
Result: Received event: 5e7dce25: GET_AUDIT_TRAILS: REQUEST_SENT: ContributorID [Pillar2], Sending request for audit trails
Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@27d5ec63[correlationID=5e7dce25-e218-4815-b84c-b8f5c4e46d73, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=identificationNegativeTest, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), contributor=Pillar2, fileID=<null>(default), minSequenceNumber=<null>(default), maxSequenceNumber=<null>(default), minTimestamp=<null>(default), maxTimestamp=<null>(default), maxNumberOfResults=<null>(default), resultAddress=<null>(default)]
Step: Verify that the client continues to the performing phase.
Step: Send a final response message from contributor2
Result: Received event: 5e7dce25: GET_AUDIT_TRAILS: COMPONENT_COMPLETE: ContributorID Pillar2, PartialResult=false
Result: Received event: 5e7dce25: GET_AUDIT_TRAILS: FAILED: , Failed operation. Cause(s):
[5e7dce25: 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@8f08ce3[correlationID=b4ceb5b7-365f-40e7-858a-d10750fbe73b, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=noContributorsRespondingTest, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default)]
Result: Received event: b4ceb5b7: GET_AUDIT_TRAILS: IDENTIFY_REQUEST_SENT: , Identifying contributers for audit trails
Step: Wait for 1 second
Result: Received event: b4ceb5b7: GET_AUDIT_TRAILS: IDENTIFY_TIMEOUT: , Time has run out for looking up contributors
The following contributors didn't respond: [Pillar1, Pillar2]
Result: Received event: b4ceb5b7: GET_AUDIT_TRAILS: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor
Result: Received event: b4ceb5b7: GET_AUDIT_TRAILS: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor
Result: Received event: b4ceb5b7: GET_AUDIT_TRAILS: FAILED: , Unable to continue operation, contributors unavailable.
10:31:45.846 ERROR o.b.a.g.c.IdentifyingAuditTrailContributors - Failing conversation 'AuditTrailConversationContext{collectionID='TwoPillarCollection', conversationID='b4ceb5b7-365f-40e7-858a-d10750fbe73b', clientID='noContributorsRespondingTest', fileID='null', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='b4ceb5b7', operationType=GET_AUDIT_TRAILS, fileID='null', eventHandler=org.bitrepository.client.TestEventHandler@255ac287, contributorCompleteEvents=[], contributorFailedEvents=[b4ceb5b7: GET_AUDIT_TRAILS: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor, b4ceb5b7: GET_AUDIT_TRAILS: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@7c028c95, 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@8f08ce3[correlationID=b4ceb5b7-365f-40e7-858a-d10750fbe73b, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=noContributorsRespondingTest, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default)]
10:31:45.852 WARN o.b.protocol.bus.MessageReceiver - The following messages haven't been handled by the testcase:
org.bitrepository.bitrepositorymessages.IdentifyContributorsForGetAuditTrailsRequest@8f08ce3[correlationID=b4ceb5b7-365f-40e7-858a-d10750fbe73b, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=noContributorsRespondingTest, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(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@66adf42[correlationID=8c0a1242-1e2b-43e6-b6eb-ecd4032fa192, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=oneContributorNotRespondingTest, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default)]
Result: Received event: 8c0a1242: GET_AUDIT_TRAILS: IDENTIFY_REQUEST_SENT: , Identifying contributers for audit trails
Step: Send a identification response from contributor1.
Result: Received event: 8c0a1242: GET_AUDIT_TRAILS: COMPONENT_IDENTIFIED: ContributorID Pillar1
Step: Wait 1 second.
Result: Received event: 8c0a1242: GET_AUDIT_TRAILS: IDENTIFY_TIMEOUT: , Time has run out for looking up contributors
The following contributors didn't respond: [Pillar2]
Result: Received event: 8c0a1242: GET_AUDIT_TRAILS: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor
Result: Received event: 8c0a1242: GET_AUDIT_TRAILS: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 8c0a1242: GET_AUDIT_TRAILS: REQUEST_SENT: ContributorID [Pillar1], Sending request for audit trails
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@1e60ad1e[correlationID=8c0a1242-1e2b-43e6-b6eb-ecd4032fa192, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=oneContributorNotRespondingTest, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), contributor=Pillar1, fileID=<null>(default), minSequenceNumber=<null>(default), maxSequenceNumber=<null>(default), minTimestamp=<null>(default), maxTimestamp=<null>(default), maxNumberOfResults=<null>(default), resultAddress=<null>(default)]
Step: Verify that the client continues to the performing phase.
Step: Send a final response upload message
Result: Received event: 8c0a1242: GET_AUDIT_TRAILS: COMPONENT_COMPLETE: ContributorID Pillar1, PartialResult=false
Result: Received event: 8c0a1242: GET_AUDIT_TRAILS: FAILED: , Failed operation. Cause(s):
[8c0a1242: 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@624cca88[correlationID=59ff3dcd-25a8-4501-8642-317eb10ce91c, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=operationTimeoutTest, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default)]
Result: Received event: 59ff3dcd: 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: 59ff3dcd: GET_AUDIT_TRAILS: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 59ff3dcd: GET_AUDIT_TRAILS: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: IDENTIFICATION_NEGATIVE
Result: Received event: 59ff3dcd: GET_AUDIT_TRAILS: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 59ff3dcd: GET_AUDIT_TRAILS: REQUEST_SENT: ContributorID [Pillar1], Sending request for audit trails
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetAuditTrailsRequest@4b360e18[correlationID=59ff3dcd-25a8-4501-8642-317eb10ce91c, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-AuditTrailClientUnderTest-cibuild01, from=operationTimeoutTest, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), contributor=Pillar1, fileID=<null>(default), minSequenceNumber=<null>(default), maxSequenceNumber=<null>(default), minTimestamp=<null>(default), maxTimestamp=<null>(default), maxNumberOfResults=<null>(default), resultAddress=<null>(default)]
Step: Wait for 1 second
Result: Received event: 59ff3dcd: GET_AUDIT_TRAILS: FAILED: , Failed to receive responses from all contributors before timeout(100ms). Missing contributors [Pillar1]
10:31:46.358 ERROR o.b.a.g.client.GettingAuditTrails - Failing conversation 'AuditTrailConversationContext{collectionID='TwoPillarCollection', conversationID='59ff3dcd-25a8-4501-8642-317eb10ce91c', clientID='operationTimeoutTest', fileID='null', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='59ff3dcd', operationType=GET_AUDIT_TRAILS, fileID='null', eventHandler=org.bitrepository.client.TestEventHandler@255ac287, contributorCompleteEvents=[], contributorFailedEvents=[59ff3dcd: GET_AUDIT_TRAILS: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: IDENTIFICATION_NEGATIVE], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@6ddd0aaf, 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
Finished testcase
Finished suite
Finished project
[INFO] Tests run: 156, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 65.256 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 42.8 KB/sec)
[INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200703.083152-51.jar
[INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200703.083152-51.jar (191 KB at 6806.2 KB/sec)
[INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200703.083152-51.pom
[INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200703.083152-51.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-20200703.083152-51-tests.jar
[INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200703.083152-51-tests.jar (114 KB at 4380.9 KB/sec)
[INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200703.083152-51-sources.jar
[INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200703.083152-51-sources.jar (198 KB at 7302.6 KB/sec)
[INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200703.083152-51-distribution.tar.gz
[INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200703.083152-51-distribution.tar.gz (9036 KB at 26037.6 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 39.4 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 94.1 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 36.4 KB/sec)
[JENKINS] Archiving disabled