SuccessConsole Output

Skipping 191 KB.. Full Log
-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