state=org.bitrepository.client.conversation.FinishedState@64a65f68, checksumPillars=[]}' with exception
org.bitrepository.common.exceptions.UnableToFinishException: Can not put file default-test-file.txt, as an file already exists on pillar Pillar1
at org.bitrepository.modify.putfile.conversation.IdentifyPillarsForPutFile.handleFailureResponse(IdentifyPillarsForPutFile.java:84)
at org.bitrepository.client.conversation.IdentifyingState.processMessage(IdentifyingState.java:60)
at org.bitrepository.client.conversation.GeneralConversationState.handleMessage(GeneralConversationState.java:110)
at org.bitrepository.client.conversation.StateBasedConversation.onMessage(StateBasedConversation.java:53)
at org.bitrepository.client.conversation.mediator.CollectionBasedConversationMediator.onMessage(CollectionBasedConversationMediator.java:136)
at org.bitrepository.protocol.messagebus.SimpleMessageBus.lambda$sendMessage$0(SimpleMessageBus.java:73)
at java.lang.Iterable.forEach(Iterable.java:75)
at org.bitrepository.protocol.messagebus.SimpleMessageBus.sendMessage(SimpleMessageBus.java:73)
at org.bitrepository.modify.putfile.PutFileClientComponentTest.fileExistsOnPillarNoChecksumFromPillar(PutFileClientComponentTest.java:363)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:134)
at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:597)
at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:173)
at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)
at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:816)
at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:146)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
at java.util.ArrayList.forEach(ArrayList.java:1249)
at org.testng.TestRunner.privateRun(TestRunner.java:766)
at org.testng.TestRunner.run(TestRunner.java:587)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)
at org.testng.SuiteRunner.run(SuiteRunner.java:286)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1187)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1109)
at org.testng.TestNG.runSuites(TestNG.java:1039)
at org.testng.TestNG.run(TestNG.java:1007)
at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:135)
at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeMulti(TestNGDirectoryTestSuite.java:193)
at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:94)
at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:146)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:377)
at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:138)
at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:465)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:451)
Test success: fileExistsOnPillarNoChecksumFromPillar
Test starting: noPillarsResponding
Description: Tests the handling of missing identification responses from all pillar
Added fixture: Sets the identification timeout to 100 ms.
Step: Request the putting of a file through the PutClient
Stimuli: Calling PutFileWithId(file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, default-test-file.txt, 0, null, null, org.bitrepository.client.TestEventHandler@6517614, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@508a8524[correlationID=f4eabbb7-1af8-4091-8256-e117514ecc03, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=noPillarsResponding, to=<null>(default), version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=0]
Result: Received event: f4eabbb7: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file
Step: Do not respond. Just await the timeout.
Result: Received event: f4eabbb7: PUT_FILE for file default-test-file.txt: IDENTIFY_TIMEOUT: , Time has run out for looking up contributors
The following contributors didn't respond: [Pillar1, Pillar2]
Result: Received event: f4eabbb7: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor
Result: Received event: f4eabbb7: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor
Result: Received event: f4eabbb7: PUT_FILE for file default-test-file.txt: FAILED: , Unable to continue operation, contributors unavailable.
14:32:45.897 ERROR o.b.m.p.c.IdentifyPillarsForPutFile - Failing conversation 'PutFileConversationContext{collectionID='TwoPillarCollection', conversationID='f4eabbb7-1af8-4091-8256-e117514ecc03', clientID='noPillarsResponding', fileID='default-test-file.txt', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='f4eabbb7', operationType=PUT_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@6517614, contributorCompleteEvents=[], contributorFailedEvents=[f4eabbb7: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor, f4eabbb7: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@45870b36, checksumPillars=[]}' with exception
org.bitrepository.common.exceptions.UnableToFinishException: Unable to continue operation, contributors unavailable.
at org.bitrepository.client.conversation.IdentifyingState.completeState(IdentifyingState.java:76)
at org.bitrepository.client.conversation.GeneralConversationState.changeState(GeneralConversationState.java:147)
at org.bitrepository.client.conversation.GeneralConversationState.access$100(GeneralConversationState.java:48)
at org.bitrepository.client.conversation.GeneralConversationState$TimeoutHandler.run(GeneralConversationState.java:134)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Test success: noPillarsResponding
Test starting: noReturnChecksumsWithChecksumPillar
Description: Tests that PutClient handles the presence of a ChecksumPillar correctly, when no return checksum is requested.
Step: Call putFile while requesting a salted checksum to be returned.
Stimuli: Calling PutFileWithId(file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, default-test-file.txt, 0, null, null, org.bitrepository.client.TestEventHandler@37230db, TEST-AUDIT-TRAIL)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@5b358ec8[correlationID=514b7b6c-9ce1-43df-b86b-2a2227a5a741, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=noReturnChecksumsWithChecksumPillar, to=<null>(default), version=31, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, fileID=default-test-file.txt, fileSize=0]
Result: Received event: 514b7b6c: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file
Step: Send an identification response with a PillarChecksumSpec element set, indicating that this is a checksum pillar.
Result: Received event: 514b7b6c: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Step: Send an normal identification response from pillar2.
Result: Received event: 514b7b6c: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: 514b7b6c: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1, Pillar2]
Result: Received event: 514b7b6c: PUT_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1, Pillar2], Sending request for put file
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@5c126571[correlationID=514b7b6c-9ce1-43df-b86b-2a2227a5a741, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=noReturnChecksumsWithChecksumPillar, to=<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@2ba6f3f5[correlationID=514b7b6c-9ce1-43df-b86b-2a2227a5a741, 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@6ab2b2ad, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@450ab544[correlationID=8848a47e-bb3d-4292-a151-e61e7fb8a70c, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=normalPutFile, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=0]
Result: Received event: 8848a47e: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file
Step: Make response for the pillar.
Result: Received event: 8848a47e: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 8848a47e: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 8848a47e: PUT_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for put file
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@1cf855b7[correlationID=8848a47e-bb3d-4292-a151-e61e7fb8a70c, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=normalPutFile, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<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: 8848a47e: PUT_FILE for file default-test-file.txt: PROGRESS: ContributorID Pillar1, First test progress response message
Step: Send a final response message to the PutClient.
Result: Received event: 8848a47e: PUT_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, requestedChecksumResult=null
Result: Received event: 8848a47e: PUT_FILE for file default-test-file.txt: COMPLETE:
Test success: normalPutFile
Test starting: onePillarPutRetryFailure
Reference: <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@d9e8e4, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@2ea78ea5[correlationID=caf42457-0146-4dfa-a53c-bc296be7ec74, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarPutRetryFailure, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=0]
Result: Received event: caf42457: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file
Step: Send an identification response from the one pillar.
Result: Received event: caf42457: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: caf42457: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: caf42457: PUT_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for put file
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@47091b1b[correlationID=caf42457-0146-4dfa-a53c-bc296be7ec74, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarPutRetryFailure, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<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@617659a[correlationID=caf42457-0146-4dfa-a53c-bc296be7ec74, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarPutRetryFailure, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<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: caf42457: PUT_FILE for file default-test-file.txt: WARNING: ContributorID Pillar1, Retrying putfile (attempt number 2)
Step: Send a PutFileFinalResponse indicating a FILE_TRANSFER_FAILURE for the second put attempt
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@1f3f8436[correlationID=caf42457-0146-4dfa-a53c-bc296be7ec74, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarPutRetryFailure, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<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: caf42457: PUT_FILE for file default-test-file.txt: WARNING: ContributorID Pillar1, Retrying putfile (attempt number 3)
Step: Send a PutFileFinalResponse indicating a FILE_TRANSFER_FAILURE for the third put attempt
Result: Received event: caf42457: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FILE_TRANSFER_FAILURE
Result: Received event: caf42457: PUT_FILE for file default-test-file.txt: FAILED: , Failed operation. Cause(s):
[caf42457: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FILE_TRANSFER_FAILURE]
Test success: onePillarPutRetryFailure
Test starting: onePillarPutRetrySuccess
Reference: <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@6ac6c5a6, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@4e3fe64f[correlationID=05cd2c30-ff3d-484c-8d6a-48885b9d1b86, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarPutRetrySuccess, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=0]
Result: Received event: 05cd2c30: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file
Step: Send an identification response from the one pillar.
Result: Received event: 05cd2c30: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 05cd2c30: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 05cd2c30: PUT_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for put file
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@63bd03f3[correlationID=05cd2c30-ff3d-484c-8d6a-48885b9d1b86, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarPutRetrySuccess, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<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@3f8a11d7[correlationID=05cd2c30-ff3d-484c-8d6a-48885b9d1b86, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarPutRetrySuccess, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<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: 05cd2c30: PUT_FILE for file default-test-file.txt: WARNING: ContributorID Pillar1, Retrying putfile (attempt number 2)
Step: A new PutFileRequest is send, pillar responds with success
Result: Received event: 05cd2c30: PUT_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, requestedChecksumResult=null
Result: Received event: 05cd2c30: PUT_FILE for file default-test-file.txt: COMPLETE:
Test success: onePillarPutRetrySuccess
Test starting: onePillarRespondingWithPartialPutAllowed
Reference: <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@cf2f830, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@7e5af44a[correlationID=ae60f37d-1077-477b-9d77-05ecc98f93c0, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarRespondingWithPartialPutAllowed, to=<null>(default), version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=0]
Result: Received event: ae60f37d: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file
Step: Only send an identification response from one pillar.
Result: Received event: ae60f37d: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Step: Await the timeout.
Result: Received event: ae60f37d: PUT_FILE for file default-test-file.txt: IDENTIFY_TIMEOUT: , Time has run out for looking up contributors
The following contributors didn't respond: [Pillar2]
Result: Received event: ae60f37d: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor
Result: Received event: ae60f37d: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: ae60f37d: PUT_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for put file
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@68ca38d7[correlationID=ae60f37d-1077-477b-9d77-05ecc98f93c0, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarRespondingWithPartialPutAllowed, to=<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: ae60f37d: PUT_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, requestedChecksumResult=null
Result: Received event: ae60f37d: PUT_FILE for file default-test-file.txt: FAILED: , Failed operation. Cause(s):
[ae60f37d: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor]
Test success: onePillarRespondingWithPartialPutAllowed
Test starting: onePillarRespondingWithPartialPutDisallowed
Description: Tests the handling of missing identification responses from one pillar, when partial put are allowed
Added fixture: Sets the identification timeout to 100 ms and disallow partial puts.
Step: Request the putting of a file through the PutClient
Stimuli: Calling PutFileWithId(file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, default-test-file.txt, 0, null, null, org.bitrepository.client.TestEventHandler@7bee380f, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@2b14967f[correlationID=9ab22ab2-71d3-4caa-ab41-fb8a428c6c5f, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarRespondingWithPartialPutDisallowed, to=<null>(default), version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=0]
Result: Received event: 9ab22ab2: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file
Step: Only send an identification response from one pillar.
Result: Received event: 9ab22ab2: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Step: Await the timeout.
Result: Received event: 9ab22ab2: PUT_FILE for file default-test-file.txt: IDENTIFY_TIMEOUT: , Time has run out for looking up contributors
The following contributors didn't respond: [Pillar2]
Result: Received event: 9ab22ab2: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor
Result: Received event: 9ab22ab2: PUT_FILE for file default-test-file.txt: FAILED: , Unable to continue operation, contributors unavailable.
14:32:47.170 ERROR o.b.m.p.c.IdentifyPillarsForPutFile - Failing conversation 'PutFileConversationContext{collectionID='TwoPillarCollection', conversationID='9ab22ab2-71d3-4caa-ab41-fb8a428c6c5f', clientID='onePillarRespondingWithPartialPutDisallowed', fileID='default-test-file.txt', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='9ab22ab2', operationType=PUT_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@7bee380f, contributorCompleteEvents=[], contributorFailedEvents=[9ab22ab2: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@377661f2, checksumPillars=[]}' with exception
org.bitrepository.common.exceptions.UnableToFinishException: Unable to continue operation, contributors unavailable.
at org.bitrepository.client.conversation.IdentifyingState.completeState(IdentifyingState.java:76)
at org.bitrepository.client.conversation.GeneralConversationState.changeState(GeneralConversationState.java:147)
at org.bitrepository.client.conversation.GeneralConversationState.access$100(GeneralConversationState.java:48)
at org.bitrepository.client.conversation.GeneralConversationState$TimeoutHandler.run(GeneralConversationState.java:134)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Test success: onePillarRespondingWithPartialPutDisallowed
Test starting: putClientOperationTimeout
Description: Tests the handling of a failed operation for the PutClient
Step: Initialise the number of pillars and the PutClient. Sets the operation timeout to 100 ms.
Step: Request the putting of a file through the PutClient
Stimuli: Calling PutFileWithId(file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, default-test-file.txt, 0, null, null, org.bitrepository.client.TestEventHandler@7700fe65, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@351e85fe[correlationID=aa417c3a-2349-45ff-b200-0748ea6f12ec, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=putClientOperationTimeout, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=0]
Result: Received event: aa417c3a: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file
Step: Make response for the pillar.
Result: Received event: aa417c3a: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: aa417c3a: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: aa417c3a: PUT_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for put file
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@517cee55[correlationID=aa417c3a-2349-45ff-b200-0748ea6f12ec, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=putClientOperationTimeout, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<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: aa417c3a: PUT_FILE for file default-test-file.txt: FAILED: , Failed to receive responses from all contributors before timeout(100ms). Missing contributors [Pillar1]
14:32:47.372 ERROR o.b.m.p.conversation.PuttingFile - Failing conversation 'PutFileConversationContext{collectionID='TwoPillarCollection', conversationID='aa417c3a-2349-45ff-b200-0748ea6f12ec', clientID='putClientOperationTimeout', fileID='default-test-file.txt', contributors=[Pillar1], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='aa417c3a', operationType=PUT_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@7700fe65, contributorCompleteEvents=[], contributorFailedEvents=[], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@7c7c4e9f, checksumPillars=[]}' with exception
org.bitrepository.common.exceptions.UnableToFinishException: Failed to receive responses from all contributors before timeout(100ms). Missing contributors [Pillar1]
at org.bitrepository.client.conversation.PerformingOperationState.logStateTimeout(PerformingOperationState.java:82)
at org.bitrepository.client.conversation.GeneralConversationState$TimeoutHandler.run(GeneralConversationState.java:133)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Test success: putClientOperationTimeout
Test starting: putClientPillarOperationFailed
Description: Tests the handling of a operation failure for the PutClient.
Step: Initialise the number of pillars to one
Step: Ensure that the test-file is placed on the HTTP server.
Step: Request the delivery of a file from a specific pillar. A callback listener should be supplied.
Stimuli: Calling PutFileWithId(file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, default-test-file.txt, 0, null, null, org.bitrepository.client.TestEventHandler@749cad34, TEST-AUDIT-TRAIL)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@3446f434[correlationID=e7c1e4d8-56c8-42da-8e0b-3eb5b73f7586, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=putClientPillarOperationFailed, to=Pillar1, version=31, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, fileID=default-test-file.txt, fileSize=0]
Result: Received event: e7c1e4d8: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file
Step: Send pillar response.
Result: Received event: e7c1e4d8: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: e7c1e4d8: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: e7c1e4d8: PUT_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for put file
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@31f42606[correlationID=e7c1e4d8-56c8-42da-8e0b-3eb5b73f7586, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=putClientPillarOperationFailed, to=Pillar1, version=31, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, pillarID=Pillar1, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=<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: e7c1e4d8: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE, Verifying that a failure can be understood!
Result: Received event: e7c1e4d8: PUT_FILE for file default-test-file.txt: FAILED: , Failed operation. Cause(s):
[e7c1e4d8: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE, Verifying that a failure can be understood!]
Test success: putClientPillarOperationFailed
Test starting: putToOtherCollection
Reference: <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@5db130d4, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@6f557a9f[correlationID=efbb4bdd-a3e6-4280-88fc-c98fa289f27b, collectionID=SinglePillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=putToOtherCollection, to=Pillar2, version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=0]
Result: Received event: efbb4bdd: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file
Step: Send an identification response from pillar2.
Result: Received event: efbb4bdd: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: efbb4bdd: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar2]
Result: Received event: efbb4bdd: PUT_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar2], Sending request for put file
Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@5f60b101[correlationID=efbb4bdd-a3e6-4280-88fc-c98fa289f27b, collectionID=SinglePillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=putToOtherCollection, to=Pillar2, version=31, minVersion=24, auditTrailInformation=<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: efbb4bdd: PUT_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar2, requestedChecksumResult=null
Result: Received event: efbb4bdd: PUT_FILE for file default-test-file.txt: COMPLETE:
Test success: putToOtherCollection
Test starting: saltedReturnChecksumsWithChecksumPillar
Description: Tests that PutClient handles the presence of a ChecksumPillar correctly, when a salted return checksum (which a checksum pillar can't provide) is requested.
Reference: <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@7d3e3ae4[checksumType=HMAC_MD5, checksumSalt={-86}, otherChecksumType=<null>(default)], org.bitrepository.client.TestEventHandler@f831eb8, TEST-AUDIT-TRAIL)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@53c92b14[correlationID=d3c4d41b-08e4-4079-90b2-80a1f8c161e0, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=saltedReturnChecksumsWithChecksumPillar, to=<null>(default), version=31, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, fileID=default-test-file.txt, fileSize=0]
Result: Received event: d3c4d41b: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file
Step: Send an identification response with a PillarChecksumSpec element set, indicating that this is a checksum pillar.
Result: Received event: d3c4d41b: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Step: Send an normal identification response from pillar2.
Result: Received event: d3c4d41b: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: d3c4d41b: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1, Pillar2]
Result: Received event: d3c4d41b: PUT_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1, Pillar2], Sending request for put file
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@63fb00a6[correlationID=d3c4d41b-08e4-4079-90b2-80a1f8c161e0, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=saltedReturnChecksumsWithChecksumPillar, to=<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@133b1d58[correlationID=d3c4d41b-08e4-4079-90b2-80a1f8c161e0, 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@7d3e3ae4[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@75409181[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@3044da1a[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-09-11T14:32:47.842+02:00], null, org.bitrepository.client.TestEventHandler@603e9af6, TEST-AUDIT-TRAIL)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@8132a63[correlationID=ef6e33eb-277c-45fb-b135-a3bb56a7c6be, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=sameFileExistsOnOnePillar, to=<null>(default), version=31, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, fileID=default-test-file.txt, fileSize=0]
Result: Received event: ef6e33eb: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file
Step: Send a DUPLICATE_FILE_FAILURE response with a checksum equal to the one supplied to the client.
Result: Received event: ef6e33eb: PUT_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, requestedChecksumResult=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@7b513165[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@6a004c5e[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-09-11T14:32:47.844+02:00], File already existed on Pillar1
Step: Send an identification response from the second pillar.
Result: Received event: ef6e33eb: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: ef6e33eb: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar2]
Result: Received event: ef6e33eb: PUT_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar2], Sending request for put file
Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@68897f98[correlationID=ef6e33eb-277c-45fb-b135-a3bb56a7c6be, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=sameFileExistsOnOnePillar, to=<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@75409181[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@3044da1a[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-09-11T14:32:47.842+02:00], checksumRequestForNewFile=<null>(default)]
Step: The client should proceed to send a putFileOperation request to the second pillar.
Step: Send a pillar complete event
Result: Received event: ef6e33eb: PUT_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar2, requestedChecksumResult=null
Result: Received event: ef6e33eb: PUT_FILE for file default-test-file.txt: COMPLETE:
Test success: sameFileExistsOnOnePillar
Test starting: verifyPutClientFromFactory
Description: Testing the initialization through the ModifyComponentFactory.
Step: Use the ModifyComponentFactory to instantiate a PutFileClient.
Test success: verifyPutClientFromFactory
Starting testcase AuditTrailQueryTest
Test starting: testBothSequenceNumberFailure
Description: Test the creation of a AuditTrailQuery with both SequenceNumber, where max is smalle than min.
Test success: testBothSequenceNumberFailure
Test starting: testBothSequenceNumberSuccess
Description: Test the creation of a AuditTrailQuery with both SequenceNumber, where max is larger than min.
Test success: testBothSequenceNumberSuccess
Test starting: testNoSequenceNumbers
Description: Test that a AuditTrailQuery can be created without any sequence numbers.
Test success: testNoSequenceNumbers
Test starting: testOnlyMinSequenceNumber
Description: Test the creation of a AuditTrailQuery with only the minSequenceNumber
Test success: testOnlyMinSequenceNumber
Starting testcase DeleteFileClientComponentTest
Test starting: deleteClientIdentificationTimeout
Description: Tests the handling of a failed identification for the DeleteClient
Step: Initialise the number of pillars and the DeleteClient. Sets the identification timeout to 1 sec.
Step: Request a file to be deleted on the default pillar.
Stimuli: Calling deleteFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@2865ddc0[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@73e001e7[checksumType=MD5, checksumSalt=<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@52f2813c[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)], eventHandler, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@29af78e0[correlationID=677ca7d8-2828-498f-bb4f-33d68a0d1c26, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteClientIdentificationTimeout, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: 677ca7d8: DELETE_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for delete file
Step: Do not respond. Just await the timeout.
Result: Received event: 677ca7d8: DELETE_FILE for file default-test-file.txt: IDENTIFY_TIMEOUT: , Time has run out for looking up contributors
The following contributors didn't respond: [Pillar1]
Result: Received event: 677ca7d8: DELETE_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor
Result: Received event: 677ca7d8: DELETE_FILE for file default-test-file.txt: FAILED: , Unable to continue operation, contributors unavailable.
14:32:49.074 ERROR o.b.m.d.c.IdentifyPillarsForDeleteFile - Failing conversation 'DeleteFileConversationContext{collectionID='TwoPillarCollection', conversationID='677ca7d8-2828-498f-bb4f-33d68a0d1c26', clientID='deleteClientIdentificationTimeout', fileID='default-test-file.txt', contributors=[Pillar1], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='677ca7d8', operationType=DELETE_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@1df249d, contributorCompleteEvents=[], contributorFailedEvents=[677ca7d8: DELETE_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@386aa8f1, checksumPillars=[]}' with exception
org.bitrepository.common.exceptions.UnableToFinishException: Unable to continue operation, contributors unavailable.
at org.bitrepository.client.conversation.IdentifyingState.completeState(IdentifyingState.java:76)
at org.bitrepository.client.conversation.GeneralConversationState.changeState(GeneralConversationState.java:147)
at org.bitrepository.client.conversation.GeneralConversationState.access$100(GeneralConversationState.java:48)
at org.bitrepository.client.conversation.GeneralConversationState$TimeoutHandler.run(GeneralConversationState.java:134)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Test success: deleteClientIdentificationTimeout
Test starting: deleteClientOperationTimeout
Description: Tests the handling of a failed operation for the DeleteClient
Step: Initialise the number of pillars and the DeleteClient. Sets the operation timeout to 100 ms.
Step: Request a file to be deleted on the default pillar.
Stimuli: Calling deleteFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@744dc582[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@162a5768[checksumType=MD5, checksumSalt=<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@51f44bb2[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)], eventHandler, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@4279aac1[correlationID=d89dbf4e-40ed-4194-a4bb-05d31e1a8642, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteClientOperationTimeout, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: d89dbf4e: DELETE_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for delete file
Step: Make response for the pillar.
Result: Received event: d89dbf4e: DELETE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: d89dbf4e: DELETE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: d89dbf4e: DELETE_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for deleting file
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.DeleteFileRequest@1c578bb6[correlationID=d89dbf4e-40ed-4194-a4bb-05d31e1a8642, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteClientOperationTimeout, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, checksumDataForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@744dc582[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@162a5768[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@51f44bb2[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)]]
Step: Validate the steps of the DeleteClient by going through the events.
Step: Do not respond. Just await the timeout.
Result: Received event: d89dbf4e: DELETE_FILE for file default-test-file.txt: FAILED: , Failed to receive responses from all contributors before timeout(100ms). Missing contributors [Pillar1]
14:32:49.282 ERROR o.b.m.d.conversation.DeletingFile - Failing conversation 'DeleteFileConversationContext{collectionID='TwoPillarCollection', conversationID='d89dbf4e-40ed-4194-a4bb-05d31e1a8642', clientID='deleteClientOperationTimeout', fileID='default-test-file.txt', contributors=[Pillar1], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='d89dbf4e', operationType=DELETE_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@3c9737ff, contributorCompleteEvents=[], contributorFailedEvents=[], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@22018e44, checksumPillars=[]}' with exception
org.bitrepository.common.exceptions.UnableToFinishException: Failed to receive responses from all contributors before timeout(100ms). Missing contributors [Pillar1]
at org.bitrepository.client.conversation.PerformingOperationState.logStateTimeout(PerformingOperationState.java:82)
at org.bitrepository.client.conversation.GeneralConversationState$TimeoutHandler.run(GeneralConversationState.java:133)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Test success: deleteClientOperationTimeout
Test starting: deleteClientOtherPillarFailedDuringIdentification
Description: Tests the handling of a identification failure for a pillar for the DeleteClient.
Step: Request a file to be deleted on the pillar1.
Stimuli: Calling deleteFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@37becd67[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@2469c437[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-09-11T14:32:49.398+02:00], null, eventHandler, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@24f94d7[correlationID=e1ed0bcc-1e04-4f2d-8a9b-1a91b5070327, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteClientOtherPillarFailedDuringIdentification, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: e1ed0bcc: DELETE_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for delete file
Step: Send a failed response from pillar2.
Step: Send a ok response from pillar1.
Result: Received event: e1ed0bcc: DELETE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: e1ed0bcc: DELETE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: e1ed0bcc: DELETE_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for deleting file
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.DeleteFileRequest@62c4b0c7[correlationID=e1ed0bcc-1e04-4f2d-8a9b-1a91b5070327, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteClientOtherPillarFailedDuringIdentification, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, checksumDataForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@37becd67[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@2469c437[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-09-11T14:32:49.398+02:00], checksumRequestForExistingFile=<null>(default)]
Step: Send a final response message from pillar 1 to the DeleteClient.
Result: Received event: e1ed0bcc: DELETE_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, DeleteFileResult=null
Result: Received event: e1ed0bcc: DELETE_FILE for file default-test-file.txt: COMPLETE:
Test success: deleteClientOtherPillarFailedDuringIdentification
Test starting: deleteClientPillarFailedDuringPerform
Description: Tests the handling of a operation failure for the DeleteClient.
Step: Initialise the number of pillars to one
Step: Request a file to be deleted on the default pillar.
Stimuli: Calling deleteFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@5a0ac551[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@5a468afa[checksumType=MD5, checksumSalt=<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@60e76b0f[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)], eventHandler, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@24bf0a19[correlationID=258460df-00b9-440f-9a05-79877b37f099, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteClientPillarFailedDuringPerform, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: 258460df: DELETE_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for delete file
Step: Make response for the pillar.
Result: Received event: 258460df: DELETE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 258460df: DELETE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 258460df: DELETE_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for deleting file
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.DeleteFileRequest@46ec2d20[correlationID=258460df-00b9-440f-9a05-79877b37f099, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteClientPillarFailedDuringPerform, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, checksumDataForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@5a0ac551[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@5a468afa[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@60e76b0f[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)]]
Step: Validate the steps of the DeleteClient by going through the events.
Step: Send a failed response message to the DeleteClient.
Result: Received event: 258460df: DELETE_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE, Verifying that a failure can be understood!
Result: Received event: 258460df: DELETE_FILE for file default-test-file.txt: FAILED: , Failed operation. Cause(s):
[258460df: DELETE_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE, Verifying that a failure can be understood!]
Test success: deleteClientPillarFailedDuringPerform
Test starting: deleteClientSpecifiedPillarFailedDuringIdentification
Description: Tests the handling of a identification failure for a pillar for the DeleteClient.
Step: Request a file to be deleted on the pillar1.
Stimuli: Calling deleteFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@7e9ec9f[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@72220ba2[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-09-11T14:32:50.616+02:00], null, eventHandler, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@68960e7a[correlationID=e25b4695-35c7-4b3e-85f3-a8f3a11af1e4, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteClientSpecifiedPillarFailedDuringIdentification, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: e25b4695: DELETE_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for delete file
Step: Send a failed response from pillar1.
Result: Received event: e25b4695: DELETE_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: IDENTIFICATION_NEGATIVE
Result: Received event: e25b4695: DELETE_FILE for file default-test-file.txt: FAILED: , Can not continue with delete operation, as Pillar1 is unable to perform the deletion.
14:32:50.619 ERROR o.b.m.d.c.IdentifyPillarsForDeleteFile - Failing conversation 'DeleteFileConversationContext{collectionID='TwoPillarCollection', conversationID='e25b4695-35c7-4b3e-85f3-a8f3a11af1e4', clientID='deleteClientSpecifiedPillarFailedDuringIdentification', fileID='default-test-file.txt', contributors=[Pillar1], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='e25b4695', operationType=DELETE_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@72fcca2e, contributorCompleteEvents=[], contributorFailedEvents=[e25b4695: DELETE_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: IDENTIFICATION_NEGATIVE], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@3ab94dfa, checksumPillars=[]}' with exception
org.bitrepository.common.exceptions.UnableToFinishException: Can not continue with delete operation, as Pillar1 is unable to perform the deletion.
at org.bitrepository.modify.deletefile.conversation.IdentifyPillarsForDeleteFile.handleFailureResponse(IdentifyPillarsForDeleteFile.java:71)
at org.bitrepository.client.conversation.IdentifyingState.processMessage(IdentifyingState.java:60)
at org.bitrepository.client.conversation.GeneralConversationState.handleMessage(GeneralConversationState.java:110)
at org.bitrepository.client.conversation.StateBasedConversation.onMessage(StateBasedConversation.java:53)
at org.bitrepository.client.conversation.mediator.CollectionBasedConversationMediator.onMessage(CollectionBasedConversationMediator.java:136)
at org.bitrepository.protocol.messagebus.SimpleMessageBus.lambda$sendMessage$0(SimpleMessageBus.java:73)
at java.lang.Iterable.forEach(Iterable.java:75)
at org.bitrepository.protocol.messagebus.SimpleMessageBus.sendMessage(SimpleMessageBus.java:73)
at org.bitrepository.modify.deletefile.DeleteFileClientComponentTest.deleteClientSpecifiedPillarFailedDuringIdentification(DeleteFileClientComponentTest.java:357)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:134)
at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:597)
at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:173)
at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)
at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:816)
at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:146)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
at java.util.ArrayList.forEach(ArrayList.java:1249)
at org.testng.TestRunner.privateRun(TestRunner.java:766)
at org.testng.TestRunner.run(TestRunner.java:587)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)
at org.testng.SuiteRunner.run(SuiteRunner.java:286)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1187)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1109)
at org.testng.TestNG.runSuites(TestNG.java:1039)
at org.testng.TestNG.run(TestNG.java:1007)
at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:135)
at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeMulti(TestNGDirectoryTestSuite.java:193)
at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:94)
at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:146)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:377)
at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:138)
at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:465)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:451)
Test success: deleteClientSpecifiedPillarFailedDuringIdentification
Test starting: deleteClientTester
Description: Tests the DeleteClient. Makes a whole conversation for the delete client for a 'good' scenario.
Step: Initialise the number of pillars to one
Step: Request a file to be deleted on all pillars (which means only the default pillar).
Stimuli: Calling deleteFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@7857879c[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@3c0f3d56[checksumType=MD5, checksumSalt=<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@59f1e099[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)], eventHandler, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@5a28a17[correlationID=8a097abf-d688-459d-bb29-819dfe750222, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteClientTester, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: 8a097abf: DELETE_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for delete file
Step: Make response for the pillar.
Result: Received event: 8a097abf: DELETE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 8a097abf: DELETE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 8a097abf: DELETE_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for deleting file
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.DeleteFileRequest@4adf6a2[correlationID=8a097abf-d688-459d-bb29-819dfe750222, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteClientTester, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, checksumDataForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@7857879c[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@3c0f3d56[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@59f1e099[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)]]
Step: Validate the steps of the DeleteClient by going through the events.
Step: The pillar sends a progress response to the DeleteClient.
Result: Received event: 8a097abf: DELETE_FILE for file default-test-file.txt: PROGRESS: ContributorID Pillar1, First test progress response message
Step: Send a final response message to the DeleteClient.
Result: Received event: 8a097abf: DELETE_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, DeleteFileResult=null
Result: Received event: 8a097abf: DELETE_FILE for file default-test-file.txt: COMPLETE:
Test success: deleteClientTester
Test starting: deleteOnChecksumPillar
Description: Verify that the DeleteClient works correctly when a checksum pillar is present.
Step: Request a file to be deleted on the pillar1.
Stimuli: Calling deleteFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@1a46f6f4[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@731a7f02[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-09-11T14:32:50.997+02:00], null, eventHandler, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@bdc8448[correlationID=9c698ebc-d07f-454a-8a04-805fb56bca49, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteOnChecksumPillar, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: 9c698ebc: DELETE_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for delete file
Step: Send an identification response from pillar2.
Step: Send a response from pillar1 with PillarChecksumSpec element set, indicating that this is a checksum pillar.
Result: Received event: 9c698ebc: DELETE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 9c698ebc: DELETE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 9c698ebc: DELETE_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for deleting file
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.DeleteFileRequest@2e8a3352[correlationID=9c698ebc-d07f-454a-8a04-805fb56bca49, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteOnChecksumPillar, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, checksumDataForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@1a46f6f4[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@731a7f02[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-09-11T14:32:50.997+02:00], checksumRequestForExistingFile=<null>(default)]
Test success: deleteOnChecksumPillar
Test starting: deleteOnChecksumPillarWithDefaultReturnChecksumType
Description: Verify that the DeleteClient works correctly when a return checksum of the default typeis requested.
Step: Request a file to be deleted on the pillar1. The call should include a request for a check sum of the default type
Stimuli: Calling deleteFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@5e542369[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@51c4bd9c[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-09-11T14:32:53.102+02:00], org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@4cae4f19[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], eventHandler, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@322dca49[correlationID=fb51099b-8d6c-4b84-baf4-5af0e1355057, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteOnChecksumPillarWithDefaultReturnChecksumType, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: fb51099b: DELETE_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for delete file
Step: Send a response from pillar1 with PillarChecksumSpec element set, indicating that this is a checksum pillar.
Result: Received event: fb51099b: DELETE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: fb51099b: DELETE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: fb51099b: DELETE_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for deleting file
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.DeleteFileRequest@39c1946c[correlationID=fb51099b-8d6c-4b84-baf4-5af0e1355057, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteOnChecksumPillarWithDefaultReturnChecksumType, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, checksumDataForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@5e542369[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@51c4bd9c[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-09-11T14:32:53.102+02:00], checksumRequestForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@4cae4f19[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)]]
Test success: deleteOnChecksumPillarWithDefaultReturnChecksumType
Test starting: deleteOnChecksumPillarWithSaltedReturnChecksumType
Description: Verify that the DeleteClient works correctly when a return checksum with a salt is requested.
Step: Request a file to be deleted on the pillar1. The call should include a request for a salted check sum
Stimuli: Calling deleteFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@59bb65b1[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@4858d2ab[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-09-11T14:32:53.203+02:00], org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@166ed1a3[checksumType=MD5, checksumSalt={-86}, otherChecksumType=<null>(default)], eventHandler, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@16280a24[correlationID=e385d7fc-45af-4930-8db8-c0837eb71991, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteOnChecksumPillarWithSaltedReturnChecksumType, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: e385d7fc: DELETE_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for delete file
Step: Send a response from pillar1 with PillarChecksumSpec element set, indicating that this is a checksum pillar.
Result: Received event: e385d7fc: DELETE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: e385d7fc: DELETE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: e385d7fc: DELETE_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for deleting file
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.DeleteFileRequest@1a7f261b[correlationID=e385d7fc-45af-4930-8db8-c0837eb71991, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteOnChecksumPillarWithSaltedReturnChecksumType, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, checksumDataForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@59bb65b1[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@4858d2ab[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-09-11T14:32:53.203+02:00], checksumRequestForExistingFile=<null>(default)]
Test success: deleteOnChecksumPillarWithSaltedReturnChecksumType
Test starting: fileAlreadyDeletedFromPillar
Description: Test that a delete on a pillar completes successfully when the file is missing (has already been deleted). This is a test of the Idempotent behaviour of the delete client
Step: Request a file to be deleted on pillar1.
Stimuli: Calling deleteFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@7a4c92f9[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@319e49d5[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-09-11T14:32:53.315+02:00], null, eventHandler, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@6dfffacc[correlationID=ff14040f-168d-4219-9822-95a20504b89d, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=fileAlreadyDeletedFromPillar, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: ff14040f: DELETE_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for delete file
Step: Send a identify response from Pillar1 with a missing file response.
Result: Received event: ff14040f: DELETE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: ff14040f: DELETE_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, DeleteFileResult=null
Result: Received event: ff14040f: DELETE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: []
Result: Received event: ff14040f: DELETE_FILE for file default-test-file.txt: COMPLETE:
Step: The client should then continue to the performing phase and finish immediately as the pillar has already had the file removed apparently .
Step: Send a identify response from Pillar2
Test success: fileAlreadyDeletedFromPillar
Test starting: verifyDeleteClientFromFactory
Description: Testing the initialization through the ModifyComponentFactory.
Step: Use the ModifyComponentFactory to instantiate a PutFileClient.
Test success: verifyDeleteClientFromFactory
Starting testcase GetFileIDsCmdTest
Test starting: defaultSuccessScenarioTest
Description: Tests simplest arguments for running the CmdLineClient
Test success: defaultSuccessScenarioTest
Test starting: fileArgumentTest
Description: Tests the argument for a specific file.
Test success: fileArgumentTest
Test starting: missingCollectionArgumentTest
Description: Tests the scenario, where the collection arguments is missing.
Takes the following arguments:
-s The path to the directory with the settings files for the client
-k The path to the file containing the private key.
-v Makes the client more verbose
-c The id for the collection to perform the operation on.
-i The id for the file to perform the operation on.
-p [OPTIONAL] The id of the pillar where the operation should be performed. If undefined the operation is performed on all pillars.
Missing argument: Missing required option: c
Test success: missingCollectionArgumentTest
Test starting: specificPillarArgumentTest
Description: Test argument for a specific pillar
Test success: specificPillarArgumentTest
Test starting: unknownPillarArgumentTest
Description: Testing against a non-existing pillar id -> Should fail
Invalid argument: Random1599827575156pillar is not a valid pillar for collection TwoPillarCollection
The collection contains the following pillars: [Pillar1, Pillar2]
Test success: unknownPillarArgumentTest
Starting testcase GetStatusClientComponentTest
Test starting: getAllStatuses
Description: Tests the simplest case of getting status for all contributers.
Step: Create a GetStatusClient.
Step: Retrieve from all contributors in the collection
Stimuli: Calling getAuditTrails()
Result: Received event: 70688c2f: GET_STATUS: IDENTIFY_REQUEST_SENT: , Identifying contributors for getting status
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyContributorsForGetStatusRequest@6d2c516e[correlationID=70688c2f-ae0a-47b5-a5d5-8bce393d61b3, collectionID=<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: 70688c2f: GET_STATUS: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 70688c2f: GET_STATUS: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: 70688c2f: GET_STATUS: IDENTIFICATION_COMPLETE: Contributors: [Pillar1, Pillar2]
Result: Received event: 70688c2f: GET_STATUS: REQUEST_SENT: ContributorID [Pillar1, Pillar2], Sending GetStatusRequest
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetStatusRequest@6af6dfb[correlationID=70688c2f-ae0a-47b5-a5d5-8bce393d61b3, collectionID=<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@405df511[correlationID=70688c2f-ae0a-47b5-a5d5-8bce393d61b3, 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: 70688c2f: GET_STATUS: COMPONENT_COMPLETE: ContributorID Pillar1, resulting status: org.bitrepository.bitrepositoryelements.ResultingStatus@22150412[statusInfo=org.bitrepository.bitrepositoryelements.StatusInfo@36a885b4[statusCode=OK, statusText=Everythings fine..], statusTimestamp=2020-09-11T14:32:55.356+02:00]
Step: Send a final response from pillar 2
Result: Received event: 70688c2f: GET_STATUS: COMPONENT_COMPLETE: ContributorID Pillar2, resulting status: org.bitrepository.bitrepositoryelements.ResultingStatus@20507fc3[statusInfo=org.bitrepository.bitrepositoryelements.StatusInfo@219bdfb9[statusCode=OK, statusText=Everythings fine..], statusTimestamp=2020-09-11T14:32:55.356+02:00]
Result: Received event: 70688c2f: GET_STATUS: COMPLETE:
Test success: getAllStatuses
Test starting: incompleteSetOfIdendifyResponses
Description: Verify that the GetStatus client works correct without receiving responses from all contributers.
Step: Configure 1 second timeout for identifying contributers. The default 2 contributers collection is used
Stimuli: Calling getAuditTrails()
Result: Received event: 18e70305: GET_STATUS: IDENTIFY_REQUEST_SENT: , Identifying contributors for getting status
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyContributorsForGetStatusRequest@60baef0f[correlationID=18e70305-e4ea-4cd2-83fc-b0cd197316bb, collectionID=<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: 18e70305: GET_STATUS: COMPONENT_IDENTIFIED: ContributorID Pillar1
Step: Wait for timeout event
Result: Received event: 18e70305: GET_STATUS: IDENTIFY_TIMEOUT: , Time has run out for looking up contributors
The following contributors didn't respond: [Pillar2]
Result: Received event: 18e70305: GET_STATUS: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor
Result: Received event: 18e70305: GET_STATUS: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 18e70305: GET_STATUS: REQUEST_SENT: ContributorID [Pillar1], Sending GetStatusRequest
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetStatusRequest@5a02ad55[correlationID=18e70305-e4ea-4cd2-83fc-b0cd197316bb, collectionID=<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 ReplaceFileCmdTest
Test starting: URLSuccessScenarioTest
Description: Tests the scenario, where a URL instead of a file is used for the replacement file.
Test success: URLSuccessScenarioTest
Test starting: bothFileAndURLArgumentTest
Description: Tests the scenario, where both arguments for file or url is given.
Invalid argument: Cannot take both a file (-f) and an URL (-u) as argument.
Test success: bothFileAndURLArgumentTest
Test starting: checksumArgumentNonSaltAlgorithmWitoutSaltTest
Description: Test MD5 checksum without salt -> no failure
Test success: checksumArgumentNonSaltAlgorithmWitoutSaltTest
Test starting: checksumArgumentSaltAlgorithmWithSaltTest
Description: Test HMAC_SHA256 checksum with salt -> No failure
Test success: checksumArgumentSaltAlgorithmWithSaltTest
Test starting: defaultSuccessScenarioTest
Description: Tests simplest arguments for running the CmdLineClient
Test success: defaultSuccessScenarioTest
Test starting: missingChecksumForExistingFileWhenUsingFileArgumentTest
Description: Tests the scenario, where no checksum argument is given, but a File is given.
Invalid argument: Checksum argument (-C) are mandatory for Replace and replace operations as defined in RepositorySettings.
Test success: missingChecksumForExistingFileWhenUsingFileArgumentTest
Test starting: missingChecksumForExistingFileWhenUsingURLArgumentTest
Description: Tests the scenario, where no checksum argument is given, but a URL is given.
Invalid argument: Checksum argument (-C) are mandatory for Replace and replace operations as defined in RepositorySettings.
Test success: missingChecksumForExistingFileWhenUsingURLArgumentTest
Test starting: missingChecksumForNewFileWhenUsingFileArgumentTest
Description: Tests the scenario, where no checksum argument is given, but a File is given.
Test success: missingChecksumForNewFileWhenUsingFileArgumentTest
Test starting: missingChecksumForNewFileWhenUsingURLArgumentTest
Description: Tests the scenario, where no checksum argument is given, but a URL is given.
Invalid argument: The URL argument requires also the checksum argument for the file to replace with (-r).
Test success: missingChecksumForNewFileWhenUsingURLArgumentTest
Test starting: missingCollectionArgumentTest
Description: Tests the scenario, where the collection arguments is missing.
Takes the following arguments:
-s The path to the directory with the settings files for the client
-k The path to the file containing the private key.
-v Makes the client more verbose
-c The id for the collection to perform the operation on.
-i The id for the file to perform the operation on.
-p [OPTIONAL] The id of the pillar where the operation should be performed. If undefined the operation is performed on all pillars.
-C [OPTIONAL] The checksum of the file to be replaced.
-f The path to the new file for the replacement. Required unless using the URL argument.
-u The URL for the file to be retreived. Is required, unless the actual file is given.
-r The checksum for the file to replace with. Required when using the URL argument.
-R [OPTIONAL] The algorithm of checksum to request in the response from the pillars.
-S [OPTIONAL] The salt of checksum to request in the response. Requires the ChecksumType argument.
-d If this argument is present, then the file will be removed from the server, when the operation is complete.
Missing argument: Missing required option: c
Test success: missingCollectionArgumentTest
Test starting: missingFileIDWhenFileArgumentTest
Description: Tests the scenario, where no checksum argument is given, but a URL is given.
Test success: missingFileIDWhenFileArgumentTest
Test starting: missingFileIDWhenURLArgumentTest
Description: Tests the scenario, where no checksum argument is given, but a URL is given.
Invalid argument: The URL argument requires also the argument for the ID of the file (-i).
Test success: missingFileIDWhenURLArgumentTest
Test starting: missingFileOrURLArgumentTest
Description: Tests the scenario, where no arguments for file or url is given.
Invalid argument: Requires either the file argument (-f) or the URL argument (-u).
Test success: missingFileOrURLArgumentTest
Test starting: missingPillarArgumentTest
Description: Tests the different scenarios, with the pillar argument.
Invalid argument: The pillar argument (-p) must defined for the Replace operation, only single pillar Replaces are allowed
Test success: missingPillarArgumentTest
Test starting: unknownPillarArgumentTest
Step: Testing against a non-existing pillar id
Invalid argument: Random1599827578992pillar is not a valid pillar for collection TwoPillarCollection
The collection contains the following pillars: [Pillar1, Pillar2]
Test success: unknownPillarArgumentTest
Starting testcase CommandLineTest
Test starting: argumentsTesterUnknownArgument
Description: Test the handling of arguments by the CommandLineArgumentHandler.
Step: Validate arguments without any options.
Test success: argumentsTesterUnknownArgument
Test starting: argumentsTesterWrongArgument
Description: Test the handling of arguments by the CommandLineArgumentHandler.
Step: Validate the default options
Test success: argumentsTesterWrongArgument
Test starting: newArgumentTester
Description: Test the handling of a new argument.
Step: Test the option
Test success: newArgumentTester
Starting testcase GetFileClientComponentTest
Test starting: chooseFastestPillarGetFileClient
Description: Set the GetClient to retrieve a file as fast as possible, where it has to choose between to pillars with different times. The messages should be delivered at the same time.
Step: Create a GetFileClient configured to use a fast and a slow pillar.
Step: Defining the variables for the GetFileClient and defining them in the configuration
Step: Make the GetClient ask for fastest pillar.
Stimuli: Calling getFileFromFastestPillar(default-test-file.txt, file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileRequest@78a20bb8[correlationID=bb31e17b-63ee-442e-93c0-d8c930033fb6, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=chooseFastestPillarGetFileClient, to=<null>(default), version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: bb31e17b: GET_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetFile
Step: Three pillars send responses. First an average timeToDeliver, then a fast timeToDeliver and last a slow timeToDeliver.
Result: Received event: bb31e17b: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID THE-AVERAGE-PILLAR
Result: Received event: bb31e17b: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID THE-FAST-PILLAR
Result: Received event: bb31e17b: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID THE-SLOW-PILLAR
Result: Received event: bb31e17b: GET_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [THE-FAST-PILLAR]
Result: Received event: bb31e17b: GET_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID SelectedComponentInfo: componentID=THE-FAST-PILLAR, componentTopic=Pillar1_topic-cibuild01, Sending GetFileRequest to
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileRequest@7a22dd94[correlationID=bb31e17b-63ee-442e-93c0-d8c930033fb6, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=chooseFastestPillarGetFileClient, to=<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=816a707f-df77-4a14-b185-d3fa0e46e5c6, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=conversationTimeout, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: 816a707f: GET_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetFile
Step: The pillar sends a response to the identify message.
Result: Received event: 816a707f: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 816a707f: GET_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 816a707f: GET_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID SelectedComponentInfo: componentID=Pillar1, componentTopic=Pillar1_topic-cibuild01, Sending GetFileRequest to
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileRequest@4fa8e353[correlationID=816a707f-df77-4a14-b185-d3fa0e46e5c6, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=conversationTimeout, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<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
14:33:00.271 WARN o.b.c.c.m.CollectionBasedConversationMediator - Failing timed out conversation 816a707f-df77-4a14-b185-d3fa0e46e5c6 (Age 998ms)
Result: Received event: 816a707f: GET_FILE for file default-test-file.txt: FAILED: , Failing timed out conversation 816a707f-df77-4a14-b185-d3fa0e46e5c6
Test success: conversationTimeout
Test starting: failureDuringPerform
Description: Verify that the GetFile reports a failed operation, in case of a component failing during the performing phase.
Step: Request a getFile from the fastest pillar.
Stimuli: Calling getFileFromFastestPillar(default-test-file.txt, file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileRequest@44752276[correlationID=5ce5425a-e18f-446a-975a-27c3cd6bd9df, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=failureDuringPerform, to=<null>(default), version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: 5ce5425a: GET_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetFile
Step: Send a identification response from pillar1 and pillar2 with pillar1 the fastest.
Result: Received event: 5ce5425a: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 5ce5425a: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: 5ce5425a: GET_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 5ce5425a: GET_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID SelectedComponentInfo: componentID=Pillar1, componentTopic=Pillar1_topic-cibuild01, Sending GetFileRequest to
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileRequest@677c98e1[correlationID=5ce5425a-e18f-446a-975a-27c3cd6bd9df, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=failureDuringPerform, to=<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: 5ce5425a: GET_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE
Result: Received event: 5ce5425a: GET_FILE for file default-test-file.txt: FAILED: , Failed to get file from Pillar1, org.bitrepository.bitrepositoryelements.ResponseInfo@34a33be8[responseCode=FAILURE, responseText=<null>(default)]
14:33:00.390 ERROR o.b.a.g.conversation.GettingFile - Failing conversation 'GetFileConversationContext{collectionID='TwoPillarCollection', conversationID='5ce5425a-e18f-446a-975a-27c3cd6bd9df', clientID='failureDuringPerform', fileID='default-test-file.txt', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='5ce5425a', operationType=GET_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@5928c998, contributorCompleteEvents=[], contributorFailedEvents=[5ce5425a: GET_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE], failOnComponentFailure=false}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@566a052e, checksumPillars=[]}' with exception
org.bitrepository.common.exceptions.UnableToFinishException: Failed to get file from Pillar1, org.bitrepository.bitrepositoryelements.ResponseInfo@34a33be8[responseCode=FAILURE, responseText=<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=11b4337e-ef91-4ce3-90e7-98f07864a0e2, 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: 11b4337e: GET_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetFile
Step: Send a identification response from pillar1 with a REQUEST_NOT_SUPPORTED response code.
Step: Send a identification response from pillar2 with a IDENTIFICATION_POSITIVE response code .
Result: Received event: 11b4337e: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: 11b4337e: GET_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar2]
Result: Received event: 11b4337e: GET_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID SelectedComponentInfo: componentID=Pillar2, componentTopic=Pillar2_topic-cibuild01, Sending GetFileRequest to
Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileRequest@777d7ac1[correlationID=11b4337e-ef91-4ce3-90e7-98f07864a0e2, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileClientWithChecksumPillarInvolved, to=<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: 11b4337e: GET_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar2
Result: Received event: 11b4337e: GET_FILE for file default-test-file.txt: COMPLETE:
Test success: getFileClientWithChecksumPillarInvolved
Test starting: getFileClientWithIdentifyTimeout
Description: Verify that the GetFile works correct without receiving responses from all pillars.
Added fixture: Set the identification timeout to 500ms
Step: Call getFile form fastest pillar.
Stimuli: Calling getFileFromFastestPillar(default-test-file.txt, file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileRequest@8ac656c[correlationID=4708b53a-be6d-4fff-a799-3649fa61da91, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileClientWithIdentifyTimeout, to=<null>(default), version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: 4708b53a: GET_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetFile
Step: Send a identification response from pillar1.
Result: Received event: 4708b53a: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Step: Wait 1 second.
Result: Received event: 4708b53a: GET_FILE for file default-test-file.txt: IDENTIFY_TIMEOUT: , Time has run out for looking up contributors
The following contributors didn't respond: [Pillar2]
Result: Received event: 4708b53a: GET_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor
Result: Received event: 4708b53a: GET_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 4708b53a: GET_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID SelectedComponentInfo: componentID=Pillar1, componentTopic=Pillar1_topic-cibuild01, Sending GetFileRequest to
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileRequest@37c2abc4[correlationID=4708b53a-be6d-4fff-a799-3649fa61da91, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileClientWithIdentifyTimeout, to=<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: 4708b53a: GET_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1
Result: Received event: 4708b53a: GET_FILE for file default-test-file.txt: COMPLETE:
Test success: getFileClientWithIdentifyTimeout
Test starting: getFileFromOtherCollection
Description: Tests the getFiles client will correctly try to get from a second collection if required
Added fixture: Configure collection1 to contain both pillars and collection 2 to only contain pillar2
Step: Request the getting of a file through the client for collection2
Stimuli: Calling getFileFromFastestPillar(default-test-file.txt, file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileRequest@2b8d1741[correlationID=06c8d6ee-733f-41f6-8432-a3c1d0ed261d, collectionID=SinglePillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileFromOtherCollection, to=Pillar2, version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: 06c8d6ee: GET_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetFile
Step: Send an identification response from pillar2.
Result: Received event: 06c8d6ee: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: 06c8d6ee: GET_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar2]
Result: Received event: 06c8d6ee: GET_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID SelectedComponentInfo: componentID=Pillar2, componentTopic=Pillar2_topic-cibuild01, Sending GetFileRequest to
Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileRequest@37e2e6a[correlationID=06c8d6ee-733f-41f6-8432-a3c1d0ed261d, collectionID=SinglePillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileFromOtherCollection, to=Pillar2, version=31, minVersion=24, auditTrailInformation=<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: 06c8d6ee: GET_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar2
Result: Received event: 06c8d6ee: GET_FILE for file default-test-file.txt: COMPLETE:
Test success: getFileFromOtherCollection
Test starting: getFileFromSpecificPillar
Description: Tests that the GetClient client works correctly when requesting a file from a specific pillar
Step: Request the delivery of a file from pillar2.
Stimuli: Calling getFileFromSpecificPillar(default-test-file.txt, file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, Pillar2)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileRequest@67ac21bc[correlationID=acd45f31-7f22-4a8f-adde-4a1e9547113e, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileFromSpecificPillar, to=Pillar2, version=31, minVersion=24, auditTrailInformation=AuditTrailInfo for getFileFromSpecificPillarTest, fileID=default-test-file.txt]
Result: Received event: acd45f31: GET_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetFile
Step: Send a response from pillar1
Step: Send a response from pillar2
Result: Received event: acd45f31: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: acd45f31: GET_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar2]
Result: Received event: acd45f31: GET_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID SelectedComponentInfo: componentID=Pillar2, componentTopic=Pillar2_topic-cibuild01, Sending GetFileRequest to
Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileRequest@5121cd7f[correlationID=acd45f31-7f22-4a8f-adde-4a1e9547113e, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileFromSpecificPillar, to=Pillar2, version=31, minVersion=24, auditTrailInformation=AuditTrailInfo for getFileFromSpecificPillarTest, pillarID=Pillar2, fileID=default-test-file.txt, filePart=<null>(default), fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt]
Step: Send a GetFileProgressResponse.
Result: Received event: acd45f31: GET_FILE for file default-test-file.txt: PROGRESS: ContributorID Pillar2, First test progress response message
Step: Send a GetFileFinalResponse.
Result: Received event: acd45f31: GET_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar2
Result: Received event: acd45f31: GET_FILE for file default-test-file.txt: COMPLETE:
Test success: getFileFromSpecificPillar
Test starting: getFileFromSpecificPillarWithFilePart
Description: Tests that the GetClient client works for a single pillar participates. Also validate, that the 'FilePart' can be used.
Step: Set the number of pillars to 1
Step: Request the delivery of a file from a specific pillar. A callback listener should be supplied.
Stimuli: Calling getFileFromSpecificPillar(default-test-file.txt, file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, Pillar1)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileRequest@4207c0f[correlationID=77d371d6-f48e-48a4-9924-141d48b113d3, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileFromSpecificPillarWithFilePart, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: 77d371d6: GET_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetFile
Step: The pillar sends a response to the identify message.
Result: Received event: 77d371d6: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 77d371d6: GET_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 77d371d6: GET_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID SelectedComponentInfo: componentID=Pillar1, componentTopic=Pillar1_topic-cibuild01, Sending GetFileRequest to
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileRequest@171fea6f[correlationID=77d371d6-f48e-48a4-9924-141d48b113d3, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=getFileFromSpecificPillarWithFilePart, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<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: 77d371d6: GET_FILE for file default-test-file.txt: PROGRESS: ContributorID Pillar1, First test progress response message
Step: The file is uploaded to the indicated url and the pillar sends a final response upload message
Result: Received event: 77d371d6: GET_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1
Result: Received event: 77d371d6: GET_FILE for file default-test-file.txt: COMPLETE:
Test success: getFileFromSpecificPillarWithFilePart
Test starting: noIdentifyResponse
Description: Tests the the GetFileClient handles lack of IdentifyPillarResponses gracefully
Step: Set a 500 ms timeout for identifying pillar.
Step: Make the GetClient ask for fastest pillar.
Stimuli: Calling getFileFromFastestPillar(default-test-file.txt, file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileRequest@755af51e[correlationID=0921381a-4559-4140-9825-d8bc40434a4c, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=noIdentifyResponse, to=<null>(default), version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: 0921381a: GET_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetFile
Step: Wait for 1 seconds
Result: Received event: 0921381a: GET_FILE for file default-test-file.txt: IDENTIFY_TIMEOUT: , Time has run out for looking up contributors
The following contributors didn't respond: [Pillar1, Pillar2]
Result: Received event: 0921381a: GET_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor
Result: Received event: 0921381a: GET_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor
Result: Received event: 0921381a: GET_FILE for file default-test-file.txt: FAILED: , Unable to continue operation, contributors unavailable.
14:33:03.002 ERROR o.b.a.g.c.IdentifyingPillarsForGetFile - Failing conversation 'GetFileConversationContext{collectionID='TwoPillarCollection', conversationID='0921381a-4559-4140-9825-d8bc40434a4c', clientID='noIdentifyResponse', fileID='default-test-file.txt', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='0921381a', operationType=GET_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@326f5a0c, contributorCompleteEvents=[], contributorFailedEvents=[0921381a: GET_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor, 0921381a: GET_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor], failOnComponentFailure=false}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@1cb281ab, checksumPillars=[]}' with exception
org.bitrepository.common.exceptions.UnableToFinishException: Unable to continue operation, contributors unavailable.
at org.bitrepository.client.conversation.IdentifyingState.completeState(IdentifyingState.java:76)
at org.bitrepository.client.conversation.GeneralConversationState.changeState(GeneralConversationState.java:147)
at org.bitrepository.client.conversation.GeneralConversationState.access$100(GeneralConversationState.java:48)
at org.bitrepository.client.conversation.GeneralConversationState$TimeoutHandler.run(GeneralConversationState.java:134)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Test success: noIdentifyResponse
Test starting: singleComponentFailureDuringIdentify
Description: Verify that the GetFile reports a complete (not failed), in case of a component failing during the identify phase.
Step: Call getFile from the fastest pillar.
Stimuli: Calling getFileFromFastestPillar(default-test-file.txt, file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileRequest@16241d1[correlationID=9ae6e3e9-261e-48da-92b9-78ff775d8ac7, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=singleComponentFailureDuringIdentify, to=<null>(default), version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: 9ae6e3e9: GET_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetFile
Step: Send a identification response from pillar1 with a IDENTIFICATION_NEGATIVE response code .
Result: Received event: 9ae6e3e9: GET_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: IDENTIFICATION_NEGATIVE
Step: Send a identification response from pillar2 with a IDENTIFICATION_POSITIVE response code .
Result: Received event: 9ae6e3e9: GET_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: 9ae6e3e9: GET_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar2]
Result: Received event: 9ae6e3e9: GET_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID SelectedComponentInfo: componentID=Pillar2, componentTopic=Pillar2_topic-cibuild01, Sending GetFileRequest to
Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileRequest@4c76d705[correlationID=9ae6e3e9-261e-48da-92b9-78ff775d8ac7, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=singleComponentFailureDuringIdentify, to=<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: 9ae6e3e9: GET_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar2
Result: Received event: 9ae6e3e9: GET_FILE for file default-test-file.txt: COMPLETE:
Test success: singleComponentFailureDuringIdentify
Test starting: testNoSuchFileMultiplePillars
Description: Testing how a request for a non-existing file is handled when all pillars miss the file.
Step: Use the default 2 pillars.
Step: Call getFileFromFastestPillar.
Stimuli: Calling getFileFromFastestPillar(ERROR-NO-SUCH-FILE-ERROR, file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileRequest@33b33c3a[correlationID=33f9512c-cf55-4cb2-abe1-c04b80e4cfdc, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=testNoSuchFileMultiplePillars, to=<null>(default), version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=ERROR-NO-SUCH-FILE-ERROR]
Result: Received event: 33f9512c: GET_FILE for file ERROR-NO-SUCH-FILE-ERROR: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetFile
Step: Both pillars sends a FILE_NOT_FOUND response
Result: Received event: 33f9512c: GET_FILE for file ERROR-NO-SUCH-FILE-ERROR: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FILE_NOT_FOUND_FAILURE, File ERROR-NO-SUCH-FILE-ERROR not present on this pillar
Result: Received event: 33f9512c: GET_FILE for file ERROR-NO-SUCH-FILE-ERROR: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: FILE_NOT_FOUND_FAILURE, File ERROR-NO-SUCH-FILE-ERRORnot present on this pillar
Result: Received event: 33f9512c: GET_FILE for file ERROR-NO-SUCH-FILE-ERROR: FAILED: , Unable to continue operation, contributors unavailable.
14:33:03.213 ERROR o.b.a.g.c.IdentifyingPillarsForGetFile - Failing conversation 'GetFileConversationContext{collectionID='TwoPillarCollection', conversationID='33f9512c-cf55-4cb2-abe1-c04b80e4cfdc', clientID='testNoSuchFileMultiplePillars', fileID='ERROR-NO-SUCH-FILE-ERROR', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='33f9512c', operationType=GET_FILE, fileID='ERROR-NO-SUCH-FILE-ERROR', eventHandler=org.bitrepository.client.TestEventHandler@2987ccc2, contributorCompleteEvents=[], contributorFailedEvents=[33f9512c: GET_FILE for file ERROR-NO-SUCH-FILE-ERROR: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FILE_NOT_FOUND_FAILURE, File ERROR-NO-SUCH-FILE-ERROR not present on this pillar , 33f9512c: GET_FILE for file ERROR-NO-SUCH-FILE-ERROR: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: FILE_NOT_FOUND_FAILURE, File ERROR-NO-SUCH-FILE-ERRORnot present on this pillar ], failOnComponentFailure=false}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@688cbf30, checksumPillars=[]}' with exception
org.bitrepository.common.exceptions.UnableToFinishException: Unable to continue operation, contributors unavailable.
at org.bitrepository.client.conversation.IdentifyingState.completeState(IdentifyingState.java:76)
at org.bitrepository.client.conversation.GeneralConversationState.changeState(GeneralConversationState.java:147)
at org.bitrepository.client.conversation.GeneralConversationState.handleMessage(GeneralConversationState.java:114)
at org.bitrepository.client.conversation.StateBasedConversation.onMessage(StateBasedConversation.java:53)
at org.bitrepository.client.conversation.mediator.CollectionBasedConversationMediator.onMessage(CollectionBasedConversationMediator.java:136)
at org.bitrepository.protocol.messagebus.SimpleMessageBus.lambda$sendMessage$0(SimpleMessageBus.java:73)
at java.lang.Iterable.forEach(Iterable.java:75)
at org.bitrepository.protocol.messagebus.SimpleMessageBus.sendMessage(SimpleMessageBus.java:73)
at org.bitrepository.access.getfile.GetFileClientComponentTest.testNoSuchFileMultiplePillars(GetFileClientComponentTest.java:444)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:134)
at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:597)
at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:173)
at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)
at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:816)
at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:146)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
at java.util.ArrayList.forEach(ArrayList.java:1249)
at org.testng.TestRunner.privateRun(TestRunner.java:766)
at org.testng.TestRunner.run(TestRunner.java:587)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)
at org.testng.SuiteRunner.run(SuiteRunner.java:286)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1187)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1109)
at org.testng.TestNG.runSuites(TestNG.java:1039)
at org.testng.TestNG.run(TestNG.java:1007)
at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:135)
at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeMulti(TestNGDirectoryTestSuite.java:193)
at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:94)
at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:146)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:377)
at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:138)
at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:465)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:451)
Test success: testNoSuchFileMultiplePillars
Test starting: testNoSuchFileSpecificPillar
Description: Testing how a request for a non-existing file is handled on a specific pillar request.
Step: Define 1 pillar.
Step: Call getFileFromSpecificPillar.
Stimuli: Calling getFileFromSpecificPillar(ERROR-NO-SUCH-FILE-ERROR, file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, Pillar1)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileRequest@7d06c68d[correlationID=f1658717-6120-4e33-a27a-1a15fb3a1897, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileClientComponentTest-cibuild01, from=testNoSuchFileSpecificPillar, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), fileID=ERROR-NO-SUCH-FILE-ERROR]
Result: Received event: f1658717: GET_FILE for file ERROR-NO-SUCH-FILE-ERROR: IDENTIFY_REQUEST_SENT: , Identifying pillars for GetFile
Step: The specified pillars sends a FILE_NOT_FOUND response
Result: Received event: f1658717: GET_FILE for file ERROR-NO-SUCH-FILE-ERROR: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FILE_NOT_FOUND_FAILURE, File ERROR-NO-SUCH-FILE-ERROR not present on this pillar Pillar1
Result: Received event: f1658717: GET_FILE for file ERROR-NO-SUCH-FILE-ERROR: FAILED: , Unable to continue operation, contributors unavailable.
14:33:03.301 ERROR o.b.a.g.c.IdentifyingPillarsForGetFile - Failing conversation 'GetFileConversationContext{collectionID='TwoPillarCollection', conversationID='f1658717-6120-4e33-a27a-1a15fb3a1897', clientID='testNoSuchFileSpecificPillar', fileID='ERROR-NO-SUCH-FILE-ERROR', contributors=[Pillar1], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='f1658717', operationType=GET_FILE, fileID='ERROR-NO-SUCH-FILE-ERROR', eventHandler=org.bitrepository.client.TestEventHandler@2d4696a0, contributorCompleteEvents=[], contributorFailedEvents=[f1658717: GET_FILE for file ERROR-NO-SUCH-FILE-ERROR: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FILE_NOT_FOUND_FAILURE, File ERROR-NO-SUCH-FILE-ERROR not present on this pillar Pillar1], failOnComponentFailure=false}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@5cb99a43, checksumPillars=[]}' with exception
org.bitrepository.common.exceptions.UnableToFinishException: Unable to continue operation, contributors unavailable.
at org.bitrepository.client.conversation.IdentifyingState.completeState(IdentifyingState.java:76)
at org.bitrepository.client.conversation.GeneralConversationState.changeState(GeneralConversationState.java:147)
at org.bitrepository.client.conversation.GeneralConversationState.handleMessage(GeneralConversationState.java:114)
at org.bitrepository.client.conversation.StateBasedConversation.onMessage(StateBasedConversation.java:53)
at org.bitrepository.client.conversation.mediator.CollectionBasedConversationMediator.onMessage(CollectionBasedConversationMediator.java:136)
at org.bitrepository.protocol.messagebus.SimpleMessageBus.lambda$sendMessage$0(SimpleMessageBus.java:73)
at java.lang.Iterable.forEach(Iterable.java:75)
at org.bitrepository.protocol.messagebus.SimpleMessageBus.sendMessage(SimpleMessageBus.java:73)
at org.bitrepository.access.getfile.GetFileClientComponentTest.testNoSuchFileSpecificPillar(GetFileClientComponentTest.java:405)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:134)
at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:597)
at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:173)
at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)
at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:816)
at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:146)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
at java.util.ArrayList.forEach(ArrayList.java:1249)
at org.testng.TestRunner.privateRun(TestRunner.java:766)
at org.testng.TestRunner.run(TestRunner.java:587)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)
at org.testng.SuiteRunner.run(SuiteRunner.java:286)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1187)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1109)
at org.testng.TestNG.runSuites(TestNG.java:1039)
at org.testng.TestNG.run(TestNG.java:1007)
at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:135)
at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeMulti(TestNGDirectoryTestSuite.java:193)
at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:94)
at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:146)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:377)
at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:138)
at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:465)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:451)
Test success: testNoSuchFileSpecificPillar
Test starting: verifyGetFileClientFromFactory
Test success: verifyGetFileClientFromFactory
Finished testcase
Finished suite
Finished project
[INFO] Tests run: 156, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 55.616 s - in TestSuite
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 156, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[JENKINS] Recording test results
[INFO]
[INFO] --- jacoco-maven-plugin:0.8.5:report (report) @ bitrepository-client ---
[INFO] Loading execution data file /home/cibuild01/workspace/Bitrepository-reference-test/bitrepository-client/target/jacoco.exec
[INFO] Analyzed bundle 'Bitrepository Client' with 114 classes
[INFO]
[INFO] --- maven-jar-plugin:3.2.0:jar (default-jar) @ bitrepository-client ---
[INFO] Building jar: /home/cibuild01/workspace/Bitrepository-reference-test/bitrepository-client/target/bitrepository-client-1.10-SNAPSHOT.jar
[INFO]
[INFO] --- maven-jar-plugin:3.2.0:test-jar (default) @ bitrepository-client ---
[INFO] Building jar: /home/cibuild01/workspace/Bitrepository-reference-test/bitrepository-client/target/bitrepository-client-1.10-SNAPSHOT-tests.jar
[INFO]
[INFO] --- maven-source-plugin:3.2.1:jar-no-fork (attach-sources-no-fork) @ bitrepository-client ---
[INFO] Building jar: /home/cibuild01/workspace/Bitrepository-reference-test/bitrepository-client/target/bitrepository-client-1.10-SNAPSHOT-sources.jar
[INFO]
[INFO] --- maven-assembly-plugin:3.3.0:single (make-assembly) @ bitrepository-client ---
[INFO] Reading assembly descriptor: src/main/assembly/assembly.xml
[INFO] Building tar: /home/cibuild01/workspace/Bitrepository-reference-test/bitrepository-client/target/bitrepository-client-1.10-SNAPSHOT-distribution.tar.gz
[INFO]
[INFO] --- maven-install-plugin:3.0.0-M1:install (default-install) @ bitrepository-client ---
[INFO] Installing /home/cibuild01/workspace/Bitrepository-reference-test/bitrepository-client/target/bitrepository-client-1.10-SNAPSHOT.jar to /home/cibuild01/.m2/repository/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-SNAPSHOT.jar
[INFO] Installing /home/cibuild01/workspace/Bitrepository-reference-test/bitrepository-client/pom.xml to /home/cibuild01/.m2/repository/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-SNAPSHOT.pom
[INFO] Installing /home/cibuild01/workspace/Bitrepository-reference-test/bitrepository-client/target/bitrepository-client-1.10-SNAPSHOT-tests.jar to /home/cibuild01/.m2/repository/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-SNAPSHOT-tests.jar
[INFO] Installing /home/cibuild01/workspace/Bitrepository-reference-test/bitrepository-client/target/bitrepository-client-1.10-SNAPSHOT-sources.jar to /home/cibuild01/.m2/repository/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-SNAPSHOT-sources.jar
[INFO] Installing /home/cibuild01/workspace/Bitrepository-reference-test/bitrepository-client/target/bitrepository-client-1.10-SNAPSHOT-distribution.tar.gz to /home/cibuild01/.m2/repository/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-SNAPSHOT-distribution.tar.gz
[INFO]
[INFO] --- maven-deploy-plugin:3.0.0-M1:deploy (default-deploy) @ bitrepository-client ---
[INFO] Downloading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/maven-metadata.xml
[INFO] Downloaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/maven-metadata.xml (2 KB at 70.6 KB/sec)
[INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200911.123308-57.jar
[INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200911.123308-57.jar (191 KB at 4764.3 KB/sec)
[INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200911.123308-57.pom
[INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200911.123308-57.pom (2 KB at 121.8 KB/sec)
[INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200911.123308-57-tests.jar
[INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200911.123308-57-tests.jar (114 KB at 6328.0 KB/sec)
[INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200911.123308-57-sources.jar
[INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200911.123308-57-sources.jar (198 KB at 9858.5 KB/sec)
[INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200911.123308-57-distribution.tar.gz
[INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200911.123308-57-distribution.tar.gz (9036 KB at 30836.2 KB/sec)
[INFO] Downloading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/maven-metadata.xml
[INFO] Downloaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/maven-metadata.xml (484 B at 33.8 KB/sec)
[INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/maven-metadata.xml
[INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/maven-metadata.xml (2 KB at 78.4 KB/sec)
[INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/maven-metadata.xml
[INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/maven-metadata.xml (484 B at 33.8 KB/sec)
[JENKINS] Archiving disabled