-AUDIT-TRAIL)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@53a6d5fc[correlationID=5fc45327-9b20-4633-ba85-7aa700caa7c0, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=fileExistsOnPillarNoChecksumFromPillar, to=<null>(default), version=31, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, fileID=default-test-file.txt, fileSize=0]
Result: Received event: 5fc45327: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file
Step: Send a DUPLICATE_FILE_FAILURE response without a checksum.
Result: Received event: 5fc45327: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: DUPLICATE_FILE_FAILURE, Received negative response from component Pillar1: org.bitrepository.bitrepositoryelements.ResponseInfo@3fa87583[responseCode=DUPLICATE_FILE_FAILURE, responseText=Testing the handling of 'DUPLICATE FILE' identification.]
Result: Received event: 5fc45327: PUT_FILE for file default-test-file.txt: FAILED: , Can not put file default-test-file.txt, as an file already exists on pillar Pillar1
13:44:47.371 ERROR o.b.m.p.c.IdentifyPillarsForPutFile - Failing conversation 'PutFileConversationContext{collectionID='TwoPillarCollection', conversationID='5fc45327-9b20-4633-ba85-7aa700caa7c0', clientID='fileExistsOnPillarNoChecksumFromPillar', fileID='default-test-file.txt', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='5fc45327', operationType=PUT_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@61876e0e, contributorCompleteEvents=[], contributorFailedEvents=[5fc45327: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: DUPLICATE_FILE_FAILURE, Received negative response from component Pillar1: org.bitrepository.bitrepositoryelements.ResponseInfo@3fa87583[responseCode=DUPLICATE_FILE_FAILURE, responseText=Testing the handling of 'DUPLICATE FILE' identification.]], failOnComponentFailure=true}, auditTrailInformation='TEST-AUDIT-TRAIL', state=org.bitrepository.client.conversation.FinishedState@552b5799, checksumPillars=[]}' with exception
org.bitrepository.common.exceptions.UnableToFinishException: Can not put file default-test-file.txt, as an file already exists on pillar Pillar1
at org.bitrepository.modify.putfile.conversation.IdentifyPillarsForPutFile.handleFailureResponse(IdentifyPillarsForPutFile.java:84)
at org.bitrepository.client.conversation.IdentifyingState.processMessage(IdentifyingState.java:60)
at org.bitrepository.client.conversation.GeneralConversationState.handleMessage(GeneralConversationState.java:110)
at org.bitrepository.client.conversation.StateBasedConversation.onMessage(StateBasedConversation.java:53)
at org.bitrepository.client.conversation.mediator.CollectionBasedConversationMediator.onMessage(CollectionBasedConversationMediator.java:136)
at org.bitrepository.protocol.messagebus.SimpleMessageBus.lambda$sendMessage$0(SimpleMessageBus.java:73)
at java.lang.Iterable.forEach(Iterable.java:75)
at org.bitrepository.protocol.messagebus.SimpleMessageBus.sendMessage(SimpleMessageBus.java:73)
at org.bitrepository.modify.putfile.PutFileClientComponentTest.fileExistsOnPillarNoChecksumFromPillar(PutFileClientComponentTest.java:363)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:134)
at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:597)
at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:173)
at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)
at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:816)
at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:146)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
at java.util.ArrayList.forEach(ArrayList.java:1249)
at org.testng.TestRunner.privateRun(TestRunner.java:766)
at org.testng.TestRunner.run(TestRunner.java:587)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)
at org.testng.SuiteRunner.run(SuiteRunner.java:286)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1187)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1109)
at org.testng.TestNG.runSuites(TestNG.java:1039)
at org.testng.TestNG.run(TestNG.java:1007)
at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:135)
at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeMulti(TestNGDirectoryTestSuite.java:193)
at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:94)
at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:146)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:377)
at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:138)
at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:465)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:451)
Test success: fileExistsOnPillarNoChecksumFromPillar
Test starting: noPillarsResponding
Description: Tests the handling of missing identification responses from all pillar
Added fixture: Sets the identification timeout to 100 ms.
Step: Request the putting of a file through the PutClient
Stimuli: Calling PutFileWithId(file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, default-test-file.txt, 0, null, null, org.bitrepository.client.TestEventHandler@4c511912, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@1ef8f1ca[correlationID=bac235d0-5f04-48be-ad80-4d550e43d005, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=noPillarsResponding, to=<null>(default), version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=0]
Result: Received event: bac235d0: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file
Step: Do not respond. Just await the timeout.
Result: Received event: bac235d0: PUT_FILE for file default-test-file.txt: IDENTIFY_TIMEOUT: , Time has run out for looking up contributors
The following contributors didn't respond: [Pillar1, Pillar2]
Result: Received event: bac235d0: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor
Result: Received event: bac235d0: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor
Result: Received event: bac235d0: PUT_FILE for file default-test-file.txt: FAILED: , Unable to continue operation, contributors unavailable.
13:44:47.678 ERROR o.b.m.p.c.IdentifyPillarsForPutFile - Failing conversation 'PutFileConversationContext{collectionID='TwoPillarCollection', conversationID='bac235d0-5f04-48be-ad80-4d550e43d005', clientID='noPillarsResponding', fileID='default-test-file.txt', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='bac235d0', operationType=PUT_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@4c511912, contributorCompleteEvents=[], contributorFailedEvents=[bac235d0: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor, bac235d0: 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@1576ec88, checksumPillars=[]}' with exception
org.bitrepository.common.exceptions.UnableToFinishException: Unable to continue operation, contributors unavailable.
at org.bitrepository.client.conversation.IdentifyingState.completeState(IdentifyingState.java:76)
at org.bitrepository.client.conversation.GeneralConversationState.changeState(GeneralConversationState.java:147)
at org.bitrepository.client.conversation.GeneralConversationState.access$100(GeneralConversationState.java:48)
at org.bitrepository.client.conversation.GeneralConversationState$TimeoutHandler.run(GeneralConversationState.java:134)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Test success: noPillarsResponding
Test starting: noReturnChecksumsWithChecksumPillar
Description: Tests that PutClient handles the presence of a ChecksumPillar correctly, when no return checksum is requested.
Step: Call putFile while requesting a salted checksum to be returned.
Stimuli: Calling PutFileWithId(file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, default-test-file.txt, 0, null, null, org.bitrepository.client.TestEventHandler@68b7a133, TEST-AUDIT-TRAIL)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@1942bc06[correlationID=a7e37642-763b-448c-aa56-75220c9ed824, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=noReturnChecksumsWithChecksumPillar, to=<null>(default), version=31, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, fileID=default-test-file.txt, fileSize=0]
Result: Received event: a7e37642: 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: a7e37642: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Step: Send an normal identification response from pillar2.
Result: Received event: a7e37642: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: a7e37642: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar2, Pillar1]
Result: Received event: a7e37642: 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@6918300a[correlationID=a7e37642-763b-448c-aa56-75220c9ed824, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=noReturnChecksumsWithChecksumPillar, to=<null>(default), version=31, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, pillarID=Pillar1, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=<null>(default), checksumRequestForNewFile=<null>(default)]
Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@65b603a3[correlationID=a7e37642-763b-448c-aa56-75220c9ed824, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=noReturnChecksumsWithChecksumPillar, to=<null>(default), version=31, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, pillarID=Pillar2, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=<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@7f0e9c4c, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@34963943[correlationID=0ebcb856-2e9e-40d2-a9f3-247d4e67a488, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=normalPutFile, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=0]
Result: Received event: 0ebcb856: 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: 0ebcb856: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 0ebcb856: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 0ebcb856: 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@480b1693[correlationID=0ebcb856-2e9e-40d2-a9f3-247d4e67a488, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=normalPutFile, to=Pillar1, version=31, 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: 0ebcb856: 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: 0ebcb856: PUT_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, requestedChecksumResult=null
Result: Received event: 0ebcb856: 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@ff68deb, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@2eff4e88[correlationID=e67c6dab-2cfd-4317-91af-d489c95e0986, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarPutRetryFailure, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=0]
Result: Received event: e67c6dab: 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: e67c6dab: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: e67c6dab: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: e67c6dab: 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@1199a91[correlationID=e67c6dab-2cfd-4317-91af-d489c95e0986, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarPutRetryFailure, to=Pillar1, version=31, 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@577017c6[correlationID=e67c6dab-2cfd-4317-91af-d489c95e0986, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarPutRetryFailure, to=Pillar1, version=31, 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: e67c6dab: 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@69d18bf0[correlationID=e67c6dab-2cfd-4317-91af-d489c95e0986, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarPutRetryFailure, to=Pillar1, version=31, 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: e67c6dab: 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: e67c6dab: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FILE_TRANSFER_FAILURE
Result: Received event: e67c6dab: PUT_FILE for file default-test-file.txt: FAILED: , Failed operation. Cause(s):
[e67c6dab: 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@562c6d5c, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@5efd5ebd[correlationID=76be116d-0dd4-445e-9351-2e6c2692bfba, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarPutRetrySuccess, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=0]
Result: Received event: 76be116d: 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: 76be116d: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 76be116d: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 76be116d: 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@54b64ebf[correlationID=76be116d-0dd4-445e-9351-2e6c2692bfba, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarPutRetrySuccess, to=Pillar1, version=31, 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@61458ff8[correlationID=76be116d-0dd4-445e-9351-2e6c2692bfba, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarPutRetrySuccess, to=Pillar1, version=31, 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: 76be116d: 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: 76be116d: PUT_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, requestedChecksumResult=null
Result: Received event: 76be116d: 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@7bbaf6fc, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@381eb99[correlationID=89c84ba7-314f-4154-a130-bafd8a614d26, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarRespondingWithPartialPutAllowed, to=<null>(default), version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=0]
Result: Received event: 89c84ba7: 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: 89c84ba7: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Step: Await the timeout.
Result: Received event: 89c84ba7: 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: 89c84ba7: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor
Result: Received event: 89c84ba7: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 89c84ba7: 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@14217017[correlationID=89c84ba7-314f-4154-a130-bafd8a614d26, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarRespondingWithPartialPutAllowed, to=<null>(default), version=31, 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: 89c84ba7: PUT_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, requestedChecksumResult=null
Result: Received event: 89c84ba7: PUT_FILE for file default-test-file.txt: FAILED: , Failed operation. Cause(s):
[89c84ba7: 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@4f7e0ea7, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@62fe5aca[correlationID=ffdfd343-aa9c-4732-aae0-d40171c7c5f1, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarRespondingWithPartialPutDisallowed, to=<null>(default), version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=0]
Result: Received event: ffdfd343: 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: ffdfd343: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Step: Await the timeout.
Result: Received event: ffdfd343: 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: ffdfd343: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor
Result: Received event: ffdfd343: PUT_FILE for file default-test-file.txt: FAILED: , Unable to continue operation, contributors unavailable.
13:44:49.114 ERROR o.b.m.p.c.IdentifyPillarsForPutFile - Failing conversation 'PutFileConversationContext{collectionID='TwoPillarCollection', conversationID='ffdfd343-aa9c-4732-aae0-d40171c7c5f1', clientID='onePillarRespondingWithPartialPutDisallowed', fileID='default-test-file.txt', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='ffdfd343', operationType=PUT_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@4f7e0ea7, contributorCompleteEvents=[], contributorFailedEvents=[ffdfd343: 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@5cf3e623, 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@1005364f, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@55455a81[correlationID=976808ee-454b-4172-9160-e3b85f39b72a, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=putClientOperationTimeout, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=0]
Result: Received event: 976808ee: 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: 976808ee: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 976808ee: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 976808ee: 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@1574cb5[correlationID=976808ee-454b-4172-9160-e3b85f39b72a, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=putClientOperationTimeout, to=Pillar1, version=31, 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: 976808ee: PUT_FILE for file default-test-file.txt: FAILED: , Failed to receive responses from all contributors before timeout(100ms). Missing contributors [Pillar1]
13:44:49.355 ERROR o.b.m.p.conversation.PuttingFile - Failing conversation 'PutFileConversationContext{collectionID='TwoPillarCollection', conversationID='976808ee-454b-4172-9160-e3b85f39b72a', clientID='putClientOperationTimeout', fileID='default-test-file.txt', contributors=[Pillar1], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='976808ee', operationType=PUT_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@1005364f, contributorCompleteEvents=[], contributorFailedEvents=[], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@49685e81, 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@1029f5d2, TEST-AUDIT-TRAIL)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@7789af0b[correlationID=34416e5a-7008-4077-9528-581839b68687, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=putClientPillarOperationFailed, to=Pillar1, version=31, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, fileID=default-test-file.txt, fileSize=0]
Result: Received event: 34416e5a: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file
Step: Send pillar response.
Result: Received event: 34416e5a: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 34416e5a: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 34416e5a: 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@2b27b44d[correlationID=34416e5a-7008-4077-9528-581839b68687, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=putClientPillarOperationFailed, to=Pillar1, version=31, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, pillarID=Pillar1, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=<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: 34416e5a: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE, Verifying that a failure can be understood!
Result: Received event: 34416e5a: PUT_FILE for file default-test-file.txt: FAILED: , Failed operation. Cause(s):
[34416e5a: 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@5e8e40e8, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@469603b[correlationID=92f2b360-180a-4435-b264-6461d419d29e, collectionID=SinglePillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=putToOtherCollection, to=Pillar2, version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=0]
Result: Received event: 92f2b360: 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: 92f2b360: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: 92f2b360: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar2]
Result: Received event: 92f2b360: 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@9608d1d[correlationID=92f2b360-180a-4435-b264-6461d419d29e, collectionID=SinglePillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=putToOtherCollection, to=Pillar2, version=31, 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: 92f2b360: PUT_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar2, requestedChecksumResult=null
Result: Received event: 92f2b360: 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@3feaa2b3[checksumType=HMAC_MD5, checksumSalt={-86}, otherChecksumType=<null>(default)], org.bitrepository.client.TestEventHandler@629f2844, TEST-AUDIT-TRAIL)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@4f453c84[correlationID=add16815-5ff2-4df1-8c58-7028b625c1d4, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=saltedReturnChecksumsWithChecksumPillar, to=<null>(default), version=31, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, fileID=default-test-file.txt, fileSize=0]
Result: Received event: add16815: 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: add16815: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Step: Send an normal identification response from pillar2.
Result: Received event: add16815: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: add16815: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar2, Pillar1]
Result: Received event: add16815: 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@37936dac[correlationID=add16815-5ff2-4df1-8c58-7028b625c1d4, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=saltedReturnChecksumsWithChecksumPillar, to=<null>(default), version=31, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, pillarID=Pillar1, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=<null>(default), checksumRequestForNewFile=<null>(default)]
Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@69e780ff[correlationID=add16815-5ff2-4df1-8c58-7028b625c1d4, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=saltedReturnChecksumsWithChecksumPillar, to=<null>(default), version=31, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, pillarID=Pillar2, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=<null>(default), checksumRequestForNewFile=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@3feaa2b3[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@14a7acd8[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@25e7a411[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=2022-02-15T13:44:50.009+01:00], null, org.bitrepository.client.TestEventHandler@601d0bc8, TEST-AUDIT-TRAIL)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@4b378607[correlationID=d1dbc5c1-4919-42d1-9dfe-214e624033d6, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=sameFileExistsOnOnePillar, to=<null>(default), version=31, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, fileID=default-test-file.txt, fileSize=0]
Result: Received event: d1dbc5c1: 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: d1dbc5c1: PUT_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, requestedChecksumResult=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@72cbd260[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@53b7580[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=2022-02-15T13:44:50.012+01:00], File already existed on Pillar1
Step: Send an identification response from the second pillar.
Result: Received event: d1dbc5c1: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: d1dbc5c1: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar2]
Result: Received event: d1dbc5c1: 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@6238d55b[correlationID=d1dbc5c1-4919-42d1-9dfe-214e624033d6, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=sameFileExistsOnOnePillar, to=<null>(default), version=31, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, pillarID=Pillar2, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@14a7acd8[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@25e7a411[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=2022-02-15T13:44:50.009+01: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: d1dbc5c1: PUT_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar2, requestedChecksumResult=null
Result: Received event: d1dbc5c1: 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 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: Random1644929092823pillar 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 ReplaceFileCmdTest
Test starting: URLSuccessScenarioTest
Description: Tests the scenario, where a URL instead of a file is used for the replacement file.
Test success: URLSuccessScenarioTest
Test starting: bothFileAndURLArgumentTest
Description: Tests the scenario, where both arguments for file or url is given.
Invalid argument: Cannot take both a file (-f) and an URL (-u) as argument.
Test success: bothFileAndURLArgumentTest
Test starting: checksumArgumentNonSaltAlgorithmWitoutSaltTest
Description: Test MD5 checksum without salt -> no failure
Test success: checksumArgumentNonSaltAlgorithmWitoutSaltTest
Test starting: checksumArgumentSaltAlgorithmWithSaltTest
Description: Test HMAC_SHA256 checksum with salt -> No failure
Test success: checksumArgumentSaltAlgorithmWithSaltTest
Test starting: defaultSuccessScenarioTest
Description: Tests simplest arguments for running the CmdLineClient
Test success: defaultSuccessScenarioTest
Test starting: missingChecksumForExistingFileWhenUsingFileArgumentTest
Description: Tests the scenario, where no checksum argument is given, but a File is given.
Invalid argument: Checksum argument (-C) are mandatory for Replace and replace operations as defined in RepositorySettings.
Test success: missingChecksumForExistingFileWhenUsingFileArgumentTest
Test starting: missingChecksumForExistingFileWhenUsingURLArgumentTest
Description: Tests the scenario, where no checksum argument is given, but a URL is given.
Invalid argument: Checksum argument (-C) are mandatory for Replace and replace operations as defined in RepositorySettings.
Test success: missingChecksumForExistingFileWhenUsingURLArgumentTest
Test starting: missingChecksumForNewFileWhenUsingFileArgumentTest
Description: Tests the scenario, where no checksum argument is given, but a File is given.
Test success: missingChecksumForNewFileWhenUsingFileArgumentTest
Test starting: missingChecksumForNewFileWhenUsingURLArgumentTest
Description: Tests the scenario, where no checksum argument is given, but a URL is given.
Invalid argument: The URL argument requires also the checksum argument for the file to replace with (-r).
Test success: missingChecksumForNewFileWhenUsingURLArgumentTest
Test starting: missingCollectionArgumentTest
Description: Tests the scenario, where the collection arguments is missing.
Takes the following arguments:
-s The path to the directory with the settings files for the client
-k The path to the file containing the private key.
-v Makes the client more verbose
-c The id for the collection to perform the operation on.
-i The id for the file to perform the operation on.
-p [OPTIONAL] The id of the pillar where the operation should be performed. If undefined the operation is performed on all pillars.
-C [OPTIONAL] The checksum of the file to be replaced.
-f The path to the new file for the replacement. Required unless using the URL argument.
-u The URL for the file to be retreived. Is required, unless the actual file is given.
-r The checksum for the file to replace with. Required when using the URL argument.
-R [OPTIONAL] The algorithm of checksum to request in the response from the pillars.
-S [OPTIONAL] The salt of checksum to request in the response. Requires the ChecksumType argument.
-d If this argument is present, then the file will be removed from the server, when the operation is complete.
Missing argument: Missing required option: c
Test success: missingCollectionArgumentTest
Test starting: missingFileIDWhenFileArgumentTest
Description: Tests the scenario, where no checksum argument is given, but a URL is given.
Test success: missingFileIDWhenFileArgumentTest
Test starting: missingFileIDWhenURLArgumentTest
Description: Tests the scenario, where no checksum argument is given, but a URL is given.
Invalid argument: The URL argument requires also the argument for the ID of the file (-i).
Test success: missingFileIDWhenURLArgumentTest
Test starting: missingFileOrURLArgumentTest
Description: Tests the scenario, where no arguments for file or url is given.
Invalid argument: Requires either the file argument (-f) or the URL argument (-u).
Test success: missingFileOrURLArgumentTest
Test starting: missingPillarArgumentTest
Description: Tests the different scenarios, with the pillar argument.
Invalid argument: The pillar argument (-p) must defined for the Replace operation, only single pillar Replaces are allowed
Test success: missingPillarArgumentTest
Test starting: unknownPillarArgumentTest
Step: Testing against a non-existing pillar id
Invalid argument: Random1644929095722pillar is not a valid pillar for collection TwoPillarCollection
The collection contains the following pillars: [Pillar1, Pillar2]
Test success: unknownPillarArgumentTest
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 GetFileIDsCmdTest
Test starting: defaultSuccessScenarioTest
Description: Tests simplest arguments for running the CmdLineClient
Test success: defaultSuccessScenarioTest
Test starting: fileArgumentTest
Description: Tests the argument for a specific file.
Test success: fileArgumentTest
Test starting: missingCollectionArgumentTest
Description: Tests the scenario, where the collection arguments is missing.
Takes the following arguments:
-s The path to the directory with the settings files for the client
-k The path to the file containing the private key.
-v Makes the client more verbose
-c The id for the collection to perform the operation on.
-i The id for the file to perform the operation on.
-p [OPTIONAL] The id of the pillar where the operation should be performed. If undefined the operation is performed on all pillars.
Missing argument: Missing required option: c
Test success: missingCollectionArgumentTest
Test starting: specificPillarArgumentTest
Description: Test argument for a specific pillar
Test success: specificPillarArgumentTest
Test starting: unknownPillarArgumentTest
Description: Testing against a non-existing pillar id -> Should fail
Invalid argument: Random1644929098665pillar is not a valid pillar for collection TwoPillarCollection
The collection contains the following pillars: [Pillar1, Pillar2]
Test success: unknownPillarArgumentTest
Starting testcase ReplaceFileClientComponentTest
Test starting: replaceClientIdentificationTimeout
Description: Tests the handling of a failed identification for the ReplaceClient
Step: Initialise the number of pillars and the DeleteClient. Sets the identification timeout to 100 ms.
Step: Request a file to be replaced on the default pillar.
Stimuli: replaceFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@3e7628bc[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@7bcc0392[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@1106798e[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)], file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, 10, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@46c421a1[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@7bcc0392[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@1106798e[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)], org.bitrepository.client.TestEventHandler@49f8c20d, null
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForReplaceFileRequest@54e8465b[correlationID=34ef3349-f574-4788-87fd-6d83c285f411, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-ReplaceFileClientComponentTest-cibuild01, from=replaceClientIdentificationTimeout, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=<null>(default)]
Result: Received event: 34ef3349: REPLACE_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for replace file
Step: Do not respond. Just await the timeout.
Result: Received event: 34ef3349: REPLACE_FILE for file default-test-file.txt: IDENTIFY_TIMEOUT: , Time has run out for looking up contributors
The following contributors didn't respond: [Pillar1]
Result: Received event: 34ef3349: REPLACE_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor
Result: Received event: 34ef3349: REPLACE_FILE for file default-test-file.txt: FAILED: , Unable to continue operation, contributors unavailable.
13:44:58.992 ERROR o.b.m.r.c.IdentifyPillarsForReplaceFile - Failing conversation 'ReplaceFileConversationContext{collectionID='TwoPillarCollection', conversationID='34ef3349-f574-4788-87fd-6d83c285f411', clientID='replaceClientIdentificationTimeout', fileID='default-test-file.txt', contributors=[Pillar1], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='34ef3349', operationType=REPLACE_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@49f8c20d, contributorCompleteEvents=[], contributorFailedEvents=[34ef3349: REPLACE_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@6bd8e988, checksumPillars=[]}' with exception
org.bitrepository.common.exceptions.UnableToFinishException: Unable to continue operation, contributors unavailable.
at org.bitrepository.client.conversation.IdentifyingState.completeState(IdentifyingState.java:76)
at org.bitrepository.client.conversation.GeneralConversationState.changeState(GeneralConversationState.java:147)
at org.bitrepository.client.conversation.GeneralConversationState.access$100(GeneralConversationState.java:48)
at org.bitrepository.client.conversation.GeneralConversationState$TimeoutHandler.run(GeneralConversationState.java:134)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Test success: replaceClientIdentificationTimeout
Test starting: replaceClientOperationTimeout
Description: Tests the handling of a failed operation for the ReplaceClient
Step: Initialise the number of pillars and the DeleteClient. Sets the operation timeout to 100 ms.
Step: Request a file to be replaced on the default pillar.
Stimuli: replaceFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@37eaad10[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@65fd262d[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@9a62f68[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)], file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, 10, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@3e6a266f[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@65fd262d[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@9a62f68[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)], org.bitrepository.client.TestEventHandler@5c8a9e9f, null
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForReplaceFileRequest@504a076d[correlationID=878aa5c3-68fb-4315-9ce6-97c64cf7fc29, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-ReplaceFileClientComponentTest-cibuild01, from=replaceClientOperationTimeout, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=<null>(default)]
Result: Received event: 878aa5c3: REPLACE_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for replace file
Step: Make response for the pillar.
Result: Received event: 878aa5c3: REPLACE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 878aa5c3: REPLACE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 878aa5c3: REPLACE_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for replace file
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.ReplaceFileRequest@f6fad5d[correlationID=878aa5c3-68fb-4315-9ce6-97c64cf7fc29, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-ReplaceFileClientComponentTest-cibuild01, from=replaceClientOperationTimeout, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, checksumDataForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@37eaad10[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@65fd262d[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], checksumRequestForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@9a62f68[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)], fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=10, checksumDataForNewFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@3e6a266f[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@65fd262d[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], checksumRequestForNewFile=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@9a62f68[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)]]
Step: Validate the steps of the ReplaceClient by going through the events.
Step: Do not respond. Just await the timeout.
Result: Received event: 878aa5c3: REPLACE_FILE for file default-test-file.txt: FAILED: , Failed to receive responses from all contributors before timeout(100ms). Missing contributors [Pillar1]
13:44:59.205 ERROR o.b.m.r.conversation.ReplacingFile - Failing conversation 'ReplaceFileConversationContext{collectionID='TwoPillarCollection', conversationID='878aa5c3-68fb-4315-9ce6-97c64cf7fc29', clientID='replaceClientOperationTimeout', fileID='default-test-file.txt', contributors=[Pillar1], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='878aa5c3', operationType=REPLACE_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@5c8a9e9f, contributorCompleteEvents=[], contributorFailedEvents=[], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@74e69d2c, checksumPillars=[]}' with exception
org.bitrepository.common.exceptions.UnableToFinishException: Failed to receive responses from all contributors before timeout(100ms). Missing contributors [Pillar1]
at org.bitrepository.client.conversation.PerformingOperationState.logStateTimeout(PerformingOperationState.java:82)
at org.bitrepository.client.conversation.GeneralConversationState$TimeoutHandler.run(GeneralConversationState.java:133)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Test success: replaceClientOperationTimeout
Test starting: replaceClientPillarFailed
Description: Tests the handling of a operation failure for the ReplaceClient.
Step: Initialise the number of pillars to one
Step: Request a file to be replaced on the default pillar.
Stimuli: replaceFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@b868353[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@1b37576[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@65c9d689[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)], file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, 0, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@10e1ebd5[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@1b37576[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@65c9d689[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)], org.bitrepository.client.TestEventHandler@2f426e81, null
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForReplaceFileRequest@3540b6da[correlationID=5b7173c9-16d6-4d7d-b58d-e390569b48e3, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-ReplaceFileClientComponentTest-cibuild01, from=replaceClientPillarFailed, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=<null>(default)]
Result: Received event: 5b7173c9: REPLACE_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for replace file
Step: Make response for the pillar.
Result: Received event: 5b7173c9: REPLACE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 5b7173c9: REPLACE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 5b7173c9: REPLACE_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for replace file
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.ReplaceFileRequest@1b6ac31[correlationID=5b7173c9-16d6-4d7d-b58d-e390569b48e3, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-ReplaceFileClientComponentTest-cibuild01, from=replaceClientPillarFailed, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, checksumDataForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@b868353[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@1b37576[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], checksumRequestForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@65c9d689[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)], fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@10e1ebd5[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@1b37576[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], checksumRequestForNewFile=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@65c9d689[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)]]
Step: Validate the steps of the ReplaceClient by going through the events.
Step: Send a failed response message to the ReplaceClient.
Result: Received event: 5b7173c9: REPLACE_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE, Verifying that a failure can be understood!
Result: Received event: 5b7173c9: REPLACE_FILE for file default-test-file.txt: FAILED: , Failed operation. Cause(s):
[5b7173c9: REPLACE_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE, Verifying that a failure can be understood!]
Test success: replaceClientPillarFailed
Test starting: replaceClientTester
Description: Tests the ReplaceFileClient. Makes a whole conversation for the replace client for a 'good' scenario.
Step: Initialise the number of pillars to one
Step: Request a file to be replaced on all pillars (which means only the default pillar).
Stimuli: replaceFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@3dcd951b[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@2b5bd83c[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@41ecb4f2[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)], file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, 10, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@4a47c29a[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@2b5bd83c[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@41ecb4f2[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)], org.bitrepository.client.TestEventHandler@1b73e384, null
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForReplaceFileRequest@6e9c42ee[correlationID=4e4e6d9e-b80b-4329-8364-43add3c0e080, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-ReplaceFileClientComponentTest-cibuild01, from=replaceClientTester, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=<null>(default)]
Result: Received event: 4e4e6d9e: REPLACE_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for replace file
Step: Make response for the pillar.
Result: Received event: 4e4e6d9e: REPLACE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 4e4e6d9e: REPLACE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 4e4e6d9e: REPLACE_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for replace file
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.ReplaceFileRequest@3e54782d[correlationID=4e4e6d9e-b80b-4329-8364-43add3c0e080, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-ReplaceFileClientComponentTest-cibuild01, from=replaceClientTester, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, checksumDataForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@3dcd951b[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@2b5bd83c[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], checksumRequestForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@41ecb4f2[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)], fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=10, checksumDataForNewFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@4a47c29a[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@2b5bd83c[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], checksumRequestForNewFile=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@41ecb4f2[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)]]
Step: Validate the steps of the ReplaceClient by going through the events.
Step: The pillar sends a progress response to the ReplaceClient.
Result: Received event: 4e4e6d9e: REPLACE_FILE for file default-test-file.txt: PROGRESS: ContributorID Pillar1, First test progress response message
Step: Send a final response message to the ReplaceClient.
Result: Received event: 4e4e6d9e: REPLACE_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, checksum for new file: 'org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@4a47c29a[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@2b5bd83c[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00]',checksum for replaced file: 'null'
Result: Received event: 4e4e6d9e: REPLACE_FILE for file default-test-file.txt: COMPLETE:
Test success: replaceClientTester
Test starting: saltedReturnChecksumsForNewFileWithChecksumPillar
Description: Tests that the ReplaceClient handles the presence of a ChecksumPillar correctly, when a salted return checksum (which a checksum pillar can't provide) is requested for the new file.
Step: Call replaceFile while requesting a salted checksum to be returned.
Stimuli: replaceFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@29739d16[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@54bf393c[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], null, file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, 0, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@348f0a0[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@54bf393c[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@46ea9b55[checksumType=MD5, checksumSalt={-86}, otherChecksumType=<null>(default)], org.bitrepository.client.TestEventHandler@734425b3, null
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForReplaceFileRequest@5e9f843e[correlationID=05850381-1a36-4599-921b-f3943a293f46, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-ReplaceFileClientComponentTest-cibuild01, from=saltedReturnChecksumsForNewFileWithChecksumPillar, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=<null>(default)]
Result: Received event: 05850381: REPLACE_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for replace file
Step: Send an identification response with a PillarChecksumSpec element set, indicating that this is a checksum pillar.
Result: Received event: 05850381: REPLACE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 05850381: REPLACE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 05850381: REPLACE_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for replace file
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.ReplaceFileRequest@8b4a289[correlationID=05850381-1a36-4599-921b-f3943a293f46, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-ReplaceFileClientComponentTest-cibuild01, from=saltedReturnChecksumsForNewFileWithChecksumPillar, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, checksumDataForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@29739d16[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@54bf393c[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], checksumRequestForExistingFile=<null>(default), fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@348f0a0[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@54bf393c[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], checksumRequestForNewFile=<null>(default)]
Test success: saltedReturnChecksumsForNewFileWithChecksumPillar
Test starting: verifyReplaceFileClientFromFactory
Description: Testing the initialization through the ModifyComponentFactory.
Step: Use the ModifyComponentFactory to instantiate a ReplaceFileClient.
Test success: verifyReplaceFileClientFromFactory
Starting testcase UnexpectedResponseExceptionTest
Test starting: testUnexpectedResponse
Description: Test the instantiation of the exception
Step: Setup
Step: Try to throw such an exception
Step: Throw the exception with an embedded exception
Test success: testUnexpectedResponse
Starting testcase 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: Random1644929100952pillar 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: Random1644929101683pillar is not a valid pillar for collection TwoPillarCollection
The collection contains the following pillars: [Pillar1, Pillar2]
Test success: unknownPillarArgumentTest
Starting testcase AuditTrailQueryTest
Test starting: testBothSequenceNumberFailure
Description: Test the creation of a AuditTrailQuery with both SequenceNumber, where max is smalle than min.
Test success: testBothSequenceNumberFailure
Test starting: testBothSequenceNumberSuccess
Description: Test the creation of a AuditTrailQuery with both SequenceNumber, where max is larger than min.
Test success: testBothSequenceNumberSuccess
Test starting: testNoSequenceNumbers
Description: Test that a AuditTrailQuery can be created without any sequence numbers.
Test success: testNoSequenceNumbers
Test starting: testOnlyMinSequenceNumber
Description: Test the creation of a AuditTrailQuery with only the minSequenceNumber
Test success: testOnlyMinSequenceNumber
Starting testcase GetStatusClientComponentTest
Test starting: getAllStatuses
Description: Tests the simplest case of getting status for all contributers.
Step: Create a GetStatusClient.
Step: Retrieve from all contributors in the collection
Stimuli: Calling getAuditTrails()
Result: Received event: 02723610: GET_STATUS: IDENTIFY_REQUEST_SENT: , Identifying contributors for getting status
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyContributorsForGetStatusRequest@370c1ea2[correlationID=02723610-440e-4d5c-97ed-bdb8b74fe3f6, collectionID=<null>(default), destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetStatusClientComponentTest-cibuild01, from=getAllStatuses, to=<null>(default), version=31, minVersion=24, auditTrailInformation=]
Step: Send a identifyResponse from each pillar
Result: Received event: 02723610: GET_STATUS: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 02723610: GET_STATUS: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: 02723610: GET_STATUS: IDENTIFICATION_COMPLETE: Contributors: [Pillar2, Pillar1]
Result: Received event: 02723610: GET_STATUS: REQUEST_SENT: ContributorID [Pillar1, Pillar2], Sending GetStatusRequest
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetStatusRequest@6e73382b[correlationID=02723610-440e-4d5c-97ed-bdb8b74fe3f6, collectionID=<null>(default), destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetStatusClientComponentTest-cibuild01, from=getAllStatuses, to=<null>(default), version=31, minVersion=24, auditTrailInformation=, contributor=Pillar1]
Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetStatusRequest@5de8c041[correlationID=02723610-440e-4d5c-97ed-bdb8b74fe3f6, collectionID=<null>(default), destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-GetStatusClientComponentTest-cibuild01, from=getAllStatuses, to=<null>(default), version=31, minVersion=24, auditTrailInformation=, contributor=Pillar2]
Step: Send a final response from pillar 1
Result: Received event: 02723610: GET_STATUS: COMPONENT_COMPLETE: ContributorID Pillar1, resulting status: org.bitrepository.bitrepositoryelements.ResultingStatus@2be796b7[statusInfo=org.bitrepository.bitrepositoryelements.StatusInfo@19ab0aa6[statusCode=OK, statusText=Everythings fine..], statusTimestamp=2022-02-15T13:45:01.947+01:00]
Step: Send a final response from pillar 2
Result: Received event: 02723610: GET_STATUS: COMPONENT_COMPLETE: ContributorID Pillar2, resulting status: org.bitrepository.bitrepositoryelements.ResultingStatus@53beda24[statusInfo=org.bitrepository.bitrepositoryelements.StatusInfo@58e975e1[statusCode=OK, statusText=Everythings fine..], statusTimestamp=2022-02-15T13:45:01.949+01:00]
Result: Received event: 02723610: GET_STATUS: COMPLETE:
Test success: getAllStatuses
Test starting: incompleteSetOfIdendifyResponses
Description: Verify that the GetStatus client works correct without receiving responses from all contributers.
Step: Configure 1 second timeout for identifying contributers. The default 2 contributers collection is used
Stimuli: Calling getAuditTrails()
Result: Received event: 9f759afa: GET_STATUS: IDENTIFY_REQUEST_SENT: , Identifying contributors for getting status
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyContributorsForGetStatusRequest@19008513[correlationID=9f759afa-e523-4028-8cb2-3db82bd5906e, collectionID=<null>(default), destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetStatusClientComponentTest-cibuild01, from=incompleteSetOfIdendifyResponses, to=<null>(default), version=31, minVersion=24, auditTrailInformation=]
Step: Send a identifyResponse from pillar 1
Result: Received event: 9f759afa: GET_STATUS: COMPONENT_IDENTIFIED: ContributorID Pillar1
Step: Wait for timeout event
Result: Received event: 9f759afa: GET_STATUS: IDENTIFY_TIMEOUT: , Time has run out for looking up contributors
The following contributors didn't respond: [Pillar2]
Result: Received event: 9f759afa: GET_STATUS: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor
Result: Received event: 9f759afa: GET_STATUS: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 9f759afa: GET_STATUS: REQUEST_SENT: ContributorID [Pillar1], Sending GetStatusRequest
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetStatusRequest@3767af6d[correlationID=9f759afa-e523-4028-8cb2-3db82bd5906e, collectionID=<null>(default), destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetStatusClientComponentTest-cibuild01, from=incompleteSetOfIdendifyResponses, to=<null>(default), version=31, minVersion=24, auditTrailInformation=, contributor=Pillar1]
Test success: incompleteSetOfIdendifyResponses
Test starting: verifyGetStatusClientFromFactory
Test success: verifyGetStatusClientFromFactory
Starting testcase GetFileClientComponentTest
Test starting: chooseFastestPillarGetFileClient
Description: Set the GetClient to retrieve a file as fast as possible, where it has to choose between to pillars with different times. The messages should be delivered at the same time.
Step: Create a GetFileClient configured to use a fast and a slow pillar.
Step: Defining the variables for the GetFileClient and defining them in the configuration
Step: Make the GetClient ask for fastest pillar.
Stimuli: Calling getFileFromFastestPillar(default-test-file.txt, file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileRequest@78a20bb8[correlationID=1f974c4e-560d-4bb5-ae25-a2076818712e, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=chooseFastestPillarGetFileClient, to=<null>(default), version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: 1f974c4e: 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: 1f974c4e: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID THE-AVERAGE-PILLAR
Result: Received event: 1f974c4e: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID THE-FAST-PILLAR
Result: Received event: 1f974c4e: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID THE-SLOW-PILLAR
Result: Received event: 1f974c4e: GET_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [THE-FAST-PILLAR]
Result: Received event: 1f974c4e: GET_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID SelectedComponentInfo: componentID=THE-FAST-PILLAR, componentTopic=Pillar1_topic-cibuild01, Sending GetFileRequest to
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileRequest@7a22dd94[correlationID=1f974c4e-560d-4bb5-ae25-a2076818712e, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=chooseFastestPillarGetFileClient, to=<null>(default), version=31, 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@2fb476dd[correlationID=ea6a7ebf-3e41-4c1d-9fc3-103954d1f5da, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=conversationTimeout, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: ea6a7ebf: 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: ea6a7ebf: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: ea6a7ebf: GET_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: ea6a7ebf: GET_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID SelectedComponentInfo: componentID=Pillar1, componentTopic=Pillar1_topic-cibuild01, Sending GetFileRequest to
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileRequest@4fa8e353[correlationID=ea6a7ebf-3e41-4c1d-9fc3-103954d1f5da, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=conversationTimeout, to=Pillar1, version=31, 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
13:45:04.583 WARN o.b.c.c.m.CollectionBasedConversationMediator - Failing timed out conversation ea6a7ebf-3e41-4c1d-9fc3-103954d1f5da (Age 997ms)
Result: Received event: ea6a7ebf: GET_FILE for file default-test-file.txt: FAILED: , Failing timed out conversation ea6a7ebf-3e41-4c1d-9fc3-103954d1f5da
Test success: conversationTimeout
Test starting: failureDuringPerform
Description: Verify that the GetFile reports a failed operation, in case of a component failing during the performing phase.
Step: Request a getFile from the fastest pillar.
Stimuli: Calling getFileFromFastestPillar(default-test-file.txt, file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileRequest@44752276[correlationID=1aaaca75-3b42-4ae1-9e36-f185125cdf7d, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=failureDuringPerform, to=<null>(default), version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: 1aaaca75: 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: 1aaaca75: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 1aaaca75: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: 1aaaca75: GET_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 1aaaca75: GET_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID SelectedComponentInfo: componentID=Pillar1, componentTopic=Pillar1_topic-cibuild01, Sending GetFileRequest to
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileRequest@677c98e1[correlationID=1aaaca75-3b42-4ae1-9e36-f185125cdf7d, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=failureDuringPerform, to=<null>(default), version=31, 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: 1aaaca75: GET_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE
Result: Received event: 1aaaca75: GET_FILE for file default-test-file.txt: FAILED: , Failed to get file from Pillar1, org.bitrepository.bitrepositoryelements.ResponseInfo@34a33be8[responseCode=FAILURE, responseText=<null>(default)]
13:45:04.745 ERROR o.b.a.g.conversation.GettingFile - Failing conversation 'GetFileConversationContext{collectionID='TwoPillarCollection', conversationID='1aaaca75-3b42-4ae1-9e36-f185125cdf7d', clientID='failureDuringPerform', fileID='default-test-file.txt', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='1aaaca75', operationType=GET_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@5928c998, contributorCompleteEvents=[], contributorFailedEvents=[1aaaca75: GET_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE], failOnComponentFailure=false}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@566a052e, checksumPillars=[]}' with exception
org.bitrepository.common.exceptions.UnableToFinishException: Failed to get file from Pillar1, org.bitrepository.bitrepositoryelements.ResponseInfo@34a33be8[responseCode=FAILURE, responseText=<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@58763549[correlationID=b5264dd9-1e9b-4f89-97e8-fa1e22f5f022, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileClientWithChecksumPillarInvolved, to=<null>(default), version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: b5264dd9: 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: b5264dd9: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: b5264dd9: GET_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar2]
Result: Received event: b5264dd9: GET_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID SelectedComponentInfo: componentID=Pillar2, componentTopic=Pillar2_topic-cibuild01, Sending GetFileRequest to
Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileRequest@777d7ac1[correlationID=b5264dd9-1e9b-4f89-97e8-fa1e22f5f022, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileClientWithChecksumPillarInvolved, to=<null>(default), version=31, 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: b5264dd9: GET_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar2
Result: Received event: b5264dd9: GET_FILE for file default-test-file.txt: COMPLETE:
Test success: getFileClientWithChecksumPillarInvolved
Test starting: getFileClientWithIdentifyTimeout
Description: Verify that the GetFile works correct without receiving responses from all pillars.
Added fixture: Set the identification timeout to 500ms
Step: Call getFile form fastest pillar.
Stimuli: Calling getFileFromFastestPillar(default-test-file.txt, file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileRequest@8ac656c[correlationID=8a05058c-4fc4-4046-9f69-540a56925802, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileClientWithIdentifyTimeout, to=<null>(default), version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: 8a05058c: 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: 8a05058c: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Step: Wait 1 second.
Result: Received event: 8a05058c: 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: 8a05058c: GET_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor
Result: Received event: 8a05058c: GET_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 8a05058c: 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@3cf06356[correlationID=8a05058c-4fc4-4046-9f69-540a56925802, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileClientWithIdentifyTimeout, to=<null>(default), version=31, 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: 8a05058c: GET_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1
Result: Received event: 8a05058c: GET_FILE for file default-test-file.txt: COMPLETE:
Test success: getFileClientWithIdentifyTimeout
Test starting: getFileFromOtherCollection
Description: Tests the getFiles client will correctly try to get from a second collection if required
Added fixture: Configure collection1 to contain both pillars and collection 2 to only contain pillar2
Step: Request the getting of a file through the client for collection2
Stimuli: Calling getFileFromFastestPillar(default-test-file.txt, file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileRequest@2b8d1741[correlationID=8dd6fdff-fd50-4997-b3bc-998ce6799065, collectionID=SinglePillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileFromOtherCollection, to=Pillar2, version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: 8dd6fdff: 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: 8dd6fdff: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: 8dd6fdff: GET_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar2]
Result: Received event: 8dd6fdff: GET_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID SelectedComponentInfo: componentID=Pillar2, componentTopic=Pillar2_topic-cibuild01, Sending GetFileRequest to
Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileRequest@37e2e6a[correlationID=8dd6fdff-fd50-4997-b3bc-998ce6799065, collectionID=SinglePillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileFromOtherCollection, to=Pillar2, version=31, 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: 8dd6fdff: GET_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar2
Result: Received event: 8dd6fdff: GET_FILE for file default-test-file.txt: COMPLETE:
Test success: getFileFromOtherCollection
Test starting: getFileFromSpecificPillar
Description: Tests that the GetClient client works correctly when requesting a file from a specific pillar
Step: Request the delivery of a file from pillar2.
Stimuli: Calling getFileFromSpecificPillar(default-test-file.txt, file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, Pillar2)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileRequest@67ac21bc[correlationID=6dea2f2c-eff6-4a89-868e-fe603d0afc52, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileFromSpecificPillar, to=Pillar2, version=31, minVersion=24, auditTrailInformation=AuditTrailInfo for getFileFromSpecificPillarTest, fileID=default-test-file.txt]
Result: Received event: 6dea2f2c: 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: 6dea2f2c: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: 6dea2f2c: GET_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar2]
Result: Received event: 6dea2f2c: GET_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID SelectedComponentInfo: componentID=Pillar2, componentTopic=Pillar2_topic-cibuild01, Sending GetFileRequest to
Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileRequest@5121cd7f[correlationID=6dea2f2c-eff6-4a89-868e-fe603d0afc52, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileFromSpecificPillar, to=Pillar2, version=31, minVersion=24, auditTrailInformation=AuditTrailInfo for getFileFromSpecificPillarTest, pillarID=Pillar2, fileID=default-test-file.txt, filePart=<null>(default), fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt]
Step: Send a GetFileProgressResponse.
Result: Received event: 6dea2f2c: GET_FILE for file default-test-file.txt: PROGRESS: ContributorID Pillar2, First test progress response message
Step: Send a GetFileFinalResponse.
Result: Received event: 6dea2f2c: GET_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar2
Result: Received event: 6dea2f2c: GET_FILE for file default-test-file.txt: COMPLETE:
Test success: getFileFromSpecificPillar
Test starting: getFileFromSpecificPillarWithFilePart
Description: Tests that the GetClient client works for a single pillar participates. Also validate, that the 'FilePart' can be used.
Step: Set the number of pillars to 1
Step: Request the delivery of a file from a specific pillar. A callback listener should be supplied.
Stimuli: Calling getFileFromSpecificPillar(default-test-file.txt, file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, Pillar1)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileRequest@4207c0f[correlationID=955fb78d-6f97-43f6-baa8-bc616b040dd0, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileFromSpecificPillarWithFilePart, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: 955fb78d: 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: 955fb78d: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 955fb78d: GET_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 955fb78d: GET_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID SelectedComponentInfo: componentID=Pillar1, componentTopic=Pillar1_topic-cibuild01, Sending GetFileRequest to
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileRequest@171fea6f[correlationID=955fb78d-6f97-43f6-baa8-bc616b040dd0, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileFromSpecificPillarWithFilePart, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, filePart=org.bitrepository.bitrepositoryelements.FilePart@78fa7f84[partOffSet=1, partLength=10], fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt]
Step: The pillar sends a getFile response to the GetClient.
Result: Received event: 955fb78d: 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: 955fb78d: GET_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1
Result: Received event: 955fb78d: GET_FILE for file default-test-file.txt: COMPLETE:
Test success: getFileFromSpecificPillarWithFilePart
Test starting: noIdentifyResponse
Description: Tests the the GetFileClient handles lack of IdentifyPillarResponses gracefully
Step: Set a 500 ms timeout for identifying pillar.
Step: Make the GetClient ask for fastest pillar.
Stimuli: Calling getFileFromFastestPillar(default-test-file.txt, file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileRequest@755af51e[correlationID=bcce214b-112f-4221-a21c-442fd0d30ad0, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=noIdentifyResponse, to=<null>(default), version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: bcce214b: GET_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetFile
Step: Wait for 1 seconds
Result: Received event: bcce214b: 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: bcce214b: GET_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor
Result: Received event: bcce214b: GET_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor
Result: Received event: bcce214b: GET_FILE for file default-test-file.txt: FAILED: , Unable to continue operation, contributors unavailable.
13:45:07.439 ERROR o.b.a.g.c.IdentifyingPillarsForGetFile - Failing conversation 'GetFileConversationContext{collectionID='TwoPillarCollection', conversationID='bcce214b-112f-4221-a21c-442fd0d30ad0', clientID='noIdentifyResponse', fileID='default-test-file.txt', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='bcce214b', operationType=GET_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@104859e9, contributorCompleteEvents=[], contributorFailedEvents=[bcce214b: GET_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor, bcce214b: 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@5007a931, checksumPillars=[]}' with exception
org.bitrepository.common.exceptions.UnableToFinishException: Unable to continue operation, contributors unavailable.
at org.bitrepository.client.conversation.IdentifyingState.completeState(IdentifyingState.java:76)
at org.bitrepository.client.conversation.GeneralConversationState.changeState(GeneralConversationState.java:147)
at org.bitrepository.client.conversation.GeneralConversationState.access$100(GeneralConversationState.java:48)
at org.bitrepository.client.conversation.GeneralConversationState$TimeoutHandler.run(GeneralConversationState.java:134)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Test success: noIdentifyResponse
Test starting: singleComponentFailureDuringIdentify
Description: Verify that the GetFile reports a complete (not failed), in case of a component failing during the identify phase.
Step: Call getFile from the fastest pillar.
Stimuli: Calling getFileFromFastestPillar(default-test-file.txt, file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileRequest@16241d1[correlationID=d0c63d7d-1246-4090-b8c5-06c697793d9e, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=singleComponentFailureDuringIdentify, to=<null>(default), version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: d0c63d7d: 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: d0c63d7d: 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: d0c63d7d: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: d0c63d7d: GET_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar2]
Result: Received event: d0c63d7d: GET_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID SelectedComponentInfo: componentID=Pillar2, componentTopic=Pillar2_topic-cibuild01, Sending GetFileRequest to
Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileRequest@4c76d705[correlationID=d0c63d7d-1246-4090-b8c5-06c697793d9e, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=singleComponentFailureDuringIdentify, to=<null>(default), version=31, 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: d0c63d7d: GET_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar2
Result: Received event: d0c63d7d: GET_FILE for file default-test-file.txt: COMPLETE:
Test success: singleComponentFailureDuringIdentify
Test starting: testNoSuchFileMultiplePillars
Description: Testing how a request for a non-existing file is handled when all pillars miss the file.
Step: Use the default 2 pillars.
Step: Call getFileFromFastestPillar.
Stimuli: Calling getFileFromFastestPillar(ERROR-NO-SUCH-FILE-ERROR, file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileRequest@33b33c3a[correlationID=241d1757-4ea4-45c7-a555-093c265eeda8, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=testNoSuchFileMultiplePillars, to=<null>(default), version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=ERROR-NO-SUCH-FILE-ERROR]
Result: Received event: 241d1757: 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: 241d1757: 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: 241d1757: 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: 241d1757: GET_FILE for file ERROR-NO-SUCH-FILE-ERROR: FAILED: , Unable to continue operation, contributors unavailable.
13:45:07.675 ERROR o.b.a.g.c.IdentifyingPillarsForGetFile - Failing conversation 'GetFileConversationContext{collectionID='TwoPillarCollection', conversationID='241d1757-4ea4-45c7-a555-093c265eeda8', clientID='testNoSuchFileMultiplePillars', fileID='ERROR-NO-SUCH-FILE-ERROR', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='241d1757', operationType=GET_FILE, fileID='ERROR-NO-SUCH-FILE-ERROR', eventHandler=org.bitrepository.client.TestEventHandler@2987ccc2, contributorCompleteEvents=[], contributorFailedEvents=[241d1757: 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 , 241d1757: GET_FILE for file ERROR-NO-SUCH-FILE-ERROR: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: FILE_NOT_FOUND_FAILURE, File ERROR-NO-SUCH-FILE-ERRORnot present on this pillar ], failOnComponentFailure=false}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@688cbf30, checksumPillars=[]}' with exception
org.bitrepository.common.exceptions.UnableToFinishException: Unable to continue operation, contributors unavailable.
at org.bitrepository.client.conversation.IdentifyingState.completeState(IdentifyingState.java:76)
at org.bitrepository.client.conversation.GeneralConversationState.changeState(GeneralConversationState.java:147)
at org.bitrepository.client.conversation.GeneralConversationState.handleMessage(GeneralConversationState.java:114)
at org.bitrepository.client.conversation.StateBasedConversation.onMessage(StateBasedConversation.java:53)
at org.bitrepository.client.conversation.mediator.CollectionBasedConversationMediator.onMessage(CollectionBasedConversationMediator.java:136)
at org.bitrepository.protocol.messagebus.SimpleMessageBus.lambda$sendMessage$0(SimpleMessageBus.java:73)
at java.lang.Iterable.forEach(Iterable.java:75)
at org.bitrepository.protocol.messagebus.SimpleMessageBus.sendMessage(SimpleMessageBus.java:73)
at org.bitrepository.access.getfile.GetFileClientComponentTest.testNoSuchFileMultiplePillars(GetFileClientComponentTest.java:444)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:134)
at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:597)
at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:173)
at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)
at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:816)
at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:146)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
at java.util.ArrayList.forEach(ArrayList.java:1249)
at org.testng.TestRunner.privateRun(TestRunner.java:766)
at org.testng.TestRunner.run(TestRunner.java:587)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)
at org.testng.SuiteRunner.run(SuiteRunner.java:286)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1187)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1109)
at org.testng.TestNG.runSuites(TestNG.java:1039)
at org.testng.TestNG.run(TestNG.java:1007)
at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:135)
at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeMulti(TestNGDirectoryTestSuite.java:193)
at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:94)
at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:146)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:377)
at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:138)
at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:465)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:451)
Test success: testNoSuchFileMultiplePillars
Test starting: testNoSuchFileSpecificPillar
Description: Testing how a request for a non-existing file is handled on a specific pillar request.
Step: Define 1 pillar.
Step: Call getFileFromSpecificPillar.
Stimuli: Calling getFileFromSpecificPillar(ERROR-NO-SUCH-FILE-ERROR, file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, Pillar1)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileRequest@7d06c68d[correlationID=b12ab0e9-153f-42ab-b952-035816b41d6a, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=testNoSuchFileSpecificPillar, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=ERROR-NO-SUCH-FILE-ERROR]
Result: Received event: b12ab0e9: 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: b12ab0e9: 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: b12ab0e9: GET_FILE for file ERROR-NO-SUCH-FILE-ERROR: FAILED: , Unable to continue operation, contributors unavailable.
13:45:07.776 ERROR o.b.a.g.c.IdentifyingPillarsForGetFile - Failing conversation 'GetFileConversationContext{collectionID='TwoPillarCollection', conversationID='b12ab0e9-153f-42ab-b952-035816b41d6a', clientID='testNoSuchFileSpecificPillar', fileID='ERROR-NO-SUCH-FILE-ERROR', contributors=[Pillar1], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='b12ab0e9', operationType=GET_FILE, fileID='ERROR-NO-SUCH-FILE-ERROR', eventHandler=org.bitrepository.client.TestEventHandler@2d4696a0, contributorCompleteEvents=[], contributorFailedEvents=[b12ab0e9: GET_FILE for file ERROR-NO-SUCH-FILE-ERROR: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FILE_NOT_FOUND_FAILURE, File ERROR-NO-SUCH-FILE-ERROR not present on this pillar Pillar1], failOnComponentFailure=false}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@5cb99a43, checksumPillars=[]}' with exception
org.bitrepository.common.exceptions.UnableToFinishException: Unable to continue operation, contributors unavailable.
at org.bitrepository.client.conversation.IdentifyingState.completeState(IdentifyingState.java:76)
at org.bitrepository.client.conversation.GeneralConversationState.changeState(GeneralConversationState.java:147)
at org.bitrepository.client.conversation.GeneralConversationState.handleMessage(GeneralConversationState.java:114)
at org.bitrepository.client.conversation.StateBasedConversation.onMessage(StateBasedConversation.java:53)
at org.bitrepository.client.conversation.mediator.CollectionBasedConversationMediator.onMessage(CollectionBasedConversationMediator.java:136)
at org.bitrepository.protocol.messagebus.SimpleMessageBus.lambda$sendMessage$0(SimpleMessageBus.java:73)
at java.lang.Iterable.forEach(Iterable.java:75)
at org.bitrepository.protocol.messagebus.SimpleMessageBus.sendMessage(SimpleMessageBus.java:73)
at org.bitrepository.access.getfile.GetFileClientComponentTest.testNoSuchFileSpecificPillar(GetFileClientComponentTest.java:405)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:134)
at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:597)
at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:173)
at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)
at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:816)
at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:146)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
at java.util.ArrayList.forEach(ArrayList.java:1249)
at org.testng.TestRunner.privateRun(TestRunner.java:766)
at org.testng.TestRunner.run(TestRunner.java:587)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)
at org.testng.SuiteRunner.run(SuiteRunner.java:286)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1187)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1109)
at org.testng.TestNG.runSuites(TestNG.java:1039)
at org.testng.TestNG.run(TestNG.java:1007)
at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:135)
at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeMulti(TestNGDirectoryTestSuite.java:193)
at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:94)
at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:146)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:377)
at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:138)
at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:465)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:451)
Test success: testNoSuchFileSpecificPillar
Test starting: verifyGetFileClientFromFactory
Test success: verifyGetFileClientFromFactory
Finished testcase
Finished suite
Finished project
[INFO] Tests run: 156, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 58.817 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 88.2 KB/sec)
[INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20220215.124513-64.jar
[INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20220215.124513-64.jar (191 KB at 4235.2 KB/sec)
[INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20220215.124513-64.pom
[INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20220215.124513-64.pom (2 KB at 62.9 KB/sec)
[INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20220215.124513-64-tests.jar
[INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20220215.124513-64-tests.jar (114 KB at 3350.1 KB/sec)
[INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20220215.124513-64-sources.jar
[INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20220215.124513-64-sources.jar (198 KB at 6360.5 KB/sec)
[INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20220215.124513-64-distribution.tar.gz
[INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20220215.124513-64-distribution.tar.gz (9036 KB at 26731.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 29.5 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 64.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 19.7 KB/sec)
[JENKINS] Archiving disabled