lient.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@7046a503[correlationID=2e58cf7f-b569-43e5-920a-21f4c21c256d, 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: 2e58cf7f: 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: 2e58cf7f: 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: 2e58cf7f: GET_FILE for file ERROR-NO-SUCH-FILE-ERROR: FAILED: , Unable to continue operation, contributors unavailable.
11:30:48.645 ERROR o.b.a.g.c.IdentifyingPillarsForGetFile - Failing conversation 'GetFileConversationContext{collectionID='TwoPillarCollection', conversationID='2e58cf7f-b569-43e5-920a-21f4c21c256d', clientID='testNoSuchFileSpecificPillar', fileID='ERROR-NO-SUCH-FILE-ERROR', contributors=[Pillar1], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='2e58cf7f', operationType=GET_FILE, fileID='ERROR-NO-SUCH-FILE-ERROR', eventHandler=org.bitrepository.client.TestEventHandler@64e95bb0, contributorCompleteEvents=[], contributorFailedEvents=[2e58cf7f: 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@60bb599b, 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
Test starting: getFileIDsDeliveredAtUrl
Description: Tests the delivery of fileIDs from a pillar at a given URL.
Step: Initialise the variables for this test.
Step: Request the delivery of the file ids of a file from the pillar(s). A callback listener should be supplied.
Stimuli: Calling getFileIDs(null, default-test-file.txt, file:../bitrepository-core/src/test/resources/test-files//TEST-FILE-IDS-DELIVERY.xml, org.bitrepository.client.TestEventHandler@a123d8e)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileIDsRequest@aa817b6[correlationID=581105de-26af-4de5-975b-5a37c1908b57, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileIDsClientComponentTest-cibuild01, from=getFileIDsDeliveredAtUrl, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@cb419c6[fileID=default-test-file.txt, allFileIDs=<null>(default)]]
Result: Received event: 581105de: GET_FILE_IDS for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying contributers for get fileIDs
Step: The pillar sends a response to the identify message.
Result: Received event: 581105de: GET_FILE_IDS for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 581105de: GET_FILE_IDS for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 581105de: GET_FILE_IDS for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for get fileIDs
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileIDsRequest@59d4bb2d[correlationID=581105de-26af-4de5-975b-5a37c1908b57, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetFileIDsClientComponentTest-cibuild01, from=getFileIDsDeliveredAtUrl, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@130b0206[fileID=default-test-file.txt, allFileIDs=<null>(default)], minTimestamp=<null>(default), maxTimestamp=<null>(default), maxNumberOfResults=<null>(default), resultAddress=file:../bitrepository-core/src/test/resources/test-files//TEST-FILE-IDS-DELIVERY.xml-Pillar1]
Step: The pillar sends a getFileIDsProgressResponse to the GetFileIDsClient.
Result: Received event: 581105de: GET_FILE_IDS for file default-test-file.txt: PROGRESS: ContributorID Pillar1, First test progress response message
Step: The resulting file is uploaded to the indicated url and the pillar sends a final response upload message
Result: Received event: 581105de: GET_FILE_IDS for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, PartialResult=false
Result: Received event: 581105de: GET_FILE_IDS for file default-test-file.txt: COMPLETE:
Step: Receive and validate event results for the pillar.
Test success: getFileIDsDeliveredAtUrl
Test starting: getFileIDsDeliveredThroughMessage
Description: Tests the delivery of fileIDs from a pillar at a given URL.
Step: Initialise the variables for this test.
Step: Ensure the delivery file isn't already present on the http server
Step: Request the delivery of the file ids of a file from the pillar(s). A callback listener should be supplied.
Stimuli: Calling getFileIDs(null, default-test-file.txt, null, org.bitrepository.client.TestEventHandler@a123d8e)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileIDsRequest@62c2da9e[correlationID=82784c24-7afe-4a36-809e-41c83dddee12, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileIDsClientComponentTest-cibuild01, from=getFileIDsDeliveredThroughMessage, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@2dab244d[fileID=default-test-file.txt, allFileIDs=<null>(default)]]
Result: Received event: 82784c24: GET_FILE_IDS for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying contributers for get fileIDs
Step: The pillar sends a response to the identify message.
Result: Received event: 82784c24: GET_FILE_IDS for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 82784c24: GET_FILE_IDS for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 82784c24: GET_FILE_IDS for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for get fileIDs
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileIDsRequest@38aa815b[correlationID=82784c24-7afe-4a36-809e-41c83dddee12, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetFileIDsClientComponentTest-cibuild01, from=getFileIDsDeliveredThroughMessage, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@4c48bafa[fileID=default-test-file.txt, allFileIDs=<null>(default)], minTimestamp=<null>(default), maxTimestamp=<null>(default), maxNumberOfResults=<null>(default), resultAddress=<null>(default)]
Step: The pillar sends a getFileIDsProgressResponse to the GetFileIDsClient.
Result: Received event: 82784c24: GET_FILE_IDS for file default-test-file.txt: PROGRESS: ContributorID Pillar1, First test progress response message
Step: The resulting file is uploaded to the indicated url and the pillar sends a final response upload message
Result: Received event: 82784c24: GET_FILE_IDS for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, NumberOfFileIDs=1, PartialResult=false
Result: Received event: 82784c24: GET_FILE_IDS for file default-test-file.txt: COMPLETE:
Step: Receive and validate event results for the pillar.
Test success: getFileIDsDeliveredThroughMessage
Test starting: getFileIDsFromOtherCollection
Description: Tests the getFileIDs client will correctly try to get from a second collection if required
Added fixture: Configure collection1 to contain both pillars and collection 2 to only contain pillar2
Step: Request the putting of a file through the PutClient for collection2
Stimuli: Calling getFileIDs(null, default-test-file.txt, null, org.bitrepository.client.TestEventHandler@386c31ea)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileIDsRequest@488924ea[correlationID=12720f3d-43c7-407d-9cec-1bf9e4a2e9a5, collectionID=SinglePillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileIDsClientComponentTest-cibuild01, from=getFileIDsFromOtherCollection, to=Pillar2, version=31, minVersion=24, auditTrailInformation=<null>(default), fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@704f5049[fileID=default-test-file.txt, allFileIDs=<null>(default)]]
Result: Received event: 12720f3d: GET_FILE_IDS for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying contributers for get fileIDs
Step: Send an identification response from pillar2.
Result: Received event: 12720f3d: GET_FILE_IDS for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: 12720f3d: GET_FILE_IDS for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar2]
Result: Received event: 12720f3d: GET_FILE_IDS for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar2], Sending request for get fileIDs
Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileIDsRequest@89bc8cb[correlationID=12720f3d-43c7-407d-9cec-1bf9e4a2e9a5, collectionID=SinglePillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-GetFileIDsClientComponentTest-cibuild01, from=getFileIDsFromOtherCollection, to=Pillar2, version=31, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar2, fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@9341346[fileID=default-test-file.txt, allFileIDs=<null>(default)], minTimestamp=<null>(default), maxTimestamp=<null>(default), maxNumberOfResults=<null>(default), resultAddress=<null>(default)]
Step: Send a complete event from the pillar
Result: Received event: 12720f3d: GET_FILE_IDS for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar2, PartialResult=false
Result: Received event: 12720f3d: GET_FILE_IDS for file default-test-file.txt: COMPLETE:
Test success: getFileIDsFromOtherCollection
Test starting: testNoSuchFile
Description: Testing how a request for a non-existing file is handled.
Step: Setting up variables and such.
Step: Request the delivery of the file id of a file from the pillar(s). A callback listener should be supplied.
Stimuli: Calling getFileIDs(null, default-test-file.txt, file:../bitrepository-core/src/test/resources/test-files//TEST-FILE-IDS-DELIVERY.xml, org.bitrepository.client.TestEventHandler@a123d8e)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileIDsRequest@6e4aacb4[correlationID=fbe85078-0a5f-44e9-8207-886056b05c59, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileIDsClientComponentTest-cibuild01, from=testNoSuchFile, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@21f36116[fileID=default-test-file.txt, allFileIDs=<null>(default)]]
Result: Received event: fbe85078: GET_FILE_IDS for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying contributers for get fileIDs
Step: The pillar sends a response to the identify message.
Result: Received event: fbe85078: GET_FILE_IDS for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: fbe85078: GET_FILE_IDS for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: fbe85078: GET_FILE_IDS for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for get fileIDs
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileIDsRequest@7f34036a[correlationID=fbe85078-0a5f-44e9-8207-886056b05c59, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetFileIDsClientComponentTest-cibuild01, from=testNoSuchFile, to=Pillar1, version=31, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@44a03f34[fileID=default-test-file.txt, allFileIDs=<null>(default)], minTimestamp=<null>(default), maxTimestamp=<null>(default), maxNumberOfResults=<null>(default), resultAddress=file:../bitrepository-core/src/test/resources/test-files//TEST-FILE-IDS-DELIVERY.xml-Pillar1]
Step: Send a error that the file cannot be found.
Result: Received event: fbe85078: GET_FILE_IDS for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FILE_NOT_FOUND_FAILURE, No such file.
Result: Received event: fbe85078: GET_FILE_IDS for file default-test-file.txt: FAILED: , Failed operation. Cause(s):
[fbe85078: GET_FILE_IDS for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FILE_NOT_FOUND_FAILURE, No such file.]
Test success: testNoSuchFile
Test starting: testPaging
Description: Tests the GetFileIDs client correctly handles functionality for limiting results, either by timestamp or result count.
Step: Request fileIDs from with MinTimestamp, MaxTimestamp, MaxNumberOfResults set for both pillars .
Stimuli: Calling getFileIDs([ContributorQuery{componentID='Pillar1, minTimestamp=Thu Jan 07 11:30:48 CET 2021, maxTimestamp=Thu Jan 07 11:30:49 CET 2021, maxNumberOfResults=1}, ContributorQuery{componentID='Pillar2, minTimestamp=Thu Jan 07 11:30:49 CET 2021, maxTimestamp=Thu Jan 07 11:30:49 CET 2021, maxNumberOfResults=2}], null, null, org.bitrepository.client.TestEventHandler@a123d8e)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileIDsRequest@7d399d58[correlationID=05632cef-dc3e-4a85-b610-f54c3cc868ca, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetFileIDsClientComponentTest-cibuild01, from=testPaging, to=<null>(default), version=31, minVersion=24, auditTrailInformation=<null>(default), fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@4096b97e[fileID=<null>(default), allFileIDs=true]]
Result: Received event: 05632cef: GET_FILE_IDS: IDENTIFY_REQUEST_SENT: , Identifying contributers for get fileIDs
Step: Send a IdentifyPillarsForGetFileIDsResponse from both pillars.
Result: Received event: 05632cef: GET_FILE_IDS: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 05632cef: GET_FILE_IDS: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: 05632cef: GET_FILE_IDS: IDENTIFICATION_COMPLETE: Contributors: [Pillar2, Pillar1]
Result: Received event: 05632cef: GET_FILE_IDS: REQUEST_SENT: ContributorID [Pillar1, Pillar2], Sending request for get fileIDs
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileIDsRequest@2e243043[correlationID=05632cef-dc3e-4a85-b610-f54c3cc868ca, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetFileIDsClientComponentTest-cibuild01, from=testPaging, to=<null>(default), version=31, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@5b8c31b0[fileID=<null>(default), allFileIDs=true], minTimestamp=2021-01-07T11:30:48.509+01:00, maxTimestamp=2021-01-07T11:30:49.409+01:00, maxNumberOfResults=1, resultAddress=<null>(default)]
Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetFileIDsRequest@2013ec5b[correlationID=05632cef-dc3e-4a85-b610-f54c3cc868ca, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-GetFileIDsClientComponentTest-cibuild01, from=testPaging, to=<null>(default), version=31, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar2, fileIDs=org.bitrepository.bitrepositoryelements.FileIDs@a928e3a[fileID=<null>(default), allFileIDs=true], minTimestamp=2021-01-07T11:30:49.409+01:00, maxTimestamp=2021-01-07T11:30:49.509+01:00, maxNumberOfResults=2, resultAddress=<null>(default)]
Test success: testPaging
Test starting: verifyGetFileIDsClientFromFactory
Test success: verifyGetFileIDsClientFromFactory
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: 6bb484b7: GET_STATUS: IDENTIFY_REQUEST_SENT: , Identifying contributors for getting status
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyContributorsForGetStatusRequest@15d1c3ac[correlationID=6bb484b7-0ae9-4b20-a5d3-5224ba52cb31, 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: 6bb484b7: GET_STATUS: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 6bb484b7: GET_STATUS: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: 6bb484b7: GET_STATUS: IDENTIFICATION_COMPLETE: Contributors: [Pillar2, Pillar1]
Result: Received event: 6bb484b7: GET_STATUS: REQUEST_SENT: ContributorID [Pillar1, Pillar2], Sending GetStatusRequest
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetStatusRequest@6d719589[correlationID=6bb484b7-0ae9-4b20-a5d3-5224ba52cb31, 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@6f35c40a[correlationID=6bb484b7-0ae9-4b20-a5d3-5224ba52cb31, 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: 6bb484b7: GET_STATUS: COMPONENT_COMPLETE: ContributorID Pillar1, resulting status: org.bitrepository.bitrepositoryelements.ResultingStatus@64b03060[statusInfo=org.bitrepository.bitrepositoryelements.StatusInfo@5f504ae6[statusCode=OK, statusText=Everythings fine..], statusTimestamp=2021-01-07T11:30:49.893+01:00]
Step: Send a final response from pillar 2
Result: Received event: 6bb484b7: GET_STATUS: COMPONENT_COMPLETE: ContributorID Pillar2, resulting status: org.bitrepository.bitrepositoryelements.ResultingStatus@7eeb1661[statusInfo=org.bitrepository.bitrepositoryelements.StatusInfo@6298f57a[statusCode=OK, statusText=Everythings fine..], statusTimestamp=2021-01-07T11:30:49.894+01:00]
Result: Received event: 6bb484b7: 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: fb718f80: GET_STATUS: IDENTIFY_REQUEST_SENT: , Identifying contributors for getting status
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyContributorsForGetStatusRequest@49dafb3[correlationID=fb718f80-847e-4370-a7bb-22570ec94bed, 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: fb718f80: GET_STATUS: COMPONENT_IDENTIFIED: ContributorID Pillar1
Step: Wait for timeout event
Result: Received event: fb718f80: GET_STATUS: IDENTIFY_TIMEOUT: , Time has run out for looking up contributors
The following contributors didn't respond: [Pillar2]
Result: Received event: fb718f80: GET_STATUS: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor
Result: Received event: fb718f80: GET_STATUS: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: fb718f80: GET_STATUS: REQUEST_SENT: ContributorID [Pillar1], Sending GetStatusRequest
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetStatusRequest@60286231[correlationID=fb718f80-847e-4370-a7bb-22570ec94bed, 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 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@717fe18a[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@7faf855c[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@38b582c7[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)], eventHandler, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@77c16f87[correlationID=e54ab93c-7d62-40d1-8324-91f75c6a1a6a, 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: e54ab93c: 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: e54ab93c: 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: e54ab93c: DELETE_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor
Result: Received event: e54ab93c: DELETE_FILE for file default-test-file.txt: FAILED: , Unable to continue operation, contributors unavailable.
11:30:52.340 ERROR o.b.m.d.c.IdentifyPillarsForDeleteFile - Failing conversation 'DeleteFileConversationContext{collectionID='TwoPillarCollection', conversationID='e54ab93c-7d62-40d1-8324-91f75c6a1a6a', clientID='deleteClientIdentificationTimeout', fileID='default-test-file.txt', contributors=[Pillar1], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='e54ab93c', operationType=DELETE_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@28dfd91a, contributorCompleteEvents=[], contributorFailedEvents=[e54ab93c: 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@4be9a1af, 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@718186ce[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@1f512be2[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@1f57655e[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)], eventHandler, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@2fbfa545[correlationID=d2e055bc-026f-4120-b24e-7ebe6afd8811, 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: d2e055bc: 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: d2e055bc: DELETE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: d2e055bc: DELETE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: d2e055bc: 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@44edde1d[correlationID=d2e055bc-026f-4120-b24e-7ebe6afd8811, 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@718186ce[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@1f512be2[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@1f57655e[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: d2e055bc: DELETE_FILE for file default-test-file.txt: FAILED: , Failed to receive responses from all contributors before timeout(100ms). Missing contributors [Pillar1]
11:30:52.539 ERROR o.b.m.d.conversation.DeletingFile - Failing conversation 'DeleteFileConversationContext{collectionID='TwoPillarCollection', conversationID='d2e055bc-026f-4120-b24e-7ebe6afd8811', clientID='deleteClientOperationTimeout', fileID='default-test-file.txt', contributors=[Pillar1], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='d2e055bc', operationType=DELETE_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@155b953e, contributorCompleteEvents=[], contributorFailedEvents=[], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@3641544e, 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@1adc1d78[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@71374cca[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=2021-01-07T11:30:52.711+01:00], null, eventHandler, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@1034c679[correlationID=65e95964-4af6-4f46-8c43-1efdd18d9eb7, 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: 65e95964: 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: 65e95964: DELETE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 65e95964: DELETE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 65e95964: 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@6632d616[correlationID=65e95964-4af6-4f46-8c43-1efdd18d9eb7, 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@1adc1d78[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@71374cca[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=2021-01-07T11:30:52.711+01:00], checksumRequestForExistingFile=<null>(default)]
Step: Send a final response message from pillar 1 to the DeleteClient.
Result: Received event: 65e95964: DELETE_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, DeleteFileResult=null
Result: Received event: 65e95964: 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@285ba452[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@23514624[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@5c38cac3[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)], eventHandler, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@3fbc9b86[correlationID=7101909a-826d-446a-8f1d-e5ec622cb48c, 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: 7101909a: 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: 7101909a: DELETE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 7101909a: DELETE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 7101909a: 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@63f9ce13[correlationID=7101909a-826d-446a-8f1d-e5ec622cb48c, 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@285ba452[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@23514624[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@5c38cac3[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: 7101909a: DELETE_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE, Verifying that a failure can be understood!
Result: Received event: 7101909a: DELETE_FILE for file default-test-file.txt: FAILED: , Failed operation. Cause(s):
[7101909a: 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@a5eade4[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@2e5d0a8f[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=2021-01-07T11:30:53.996+01:00], null, eventHandler, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@1021d941[correlationID=e9d5ec89-9690-4941-a8e3-01536b9749d9, 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: e9d5ec89: 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: e9d5ec89: DELETE_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: IDENTIFICATION_NEGATIVE
Result: Received event: e9d5ec89: DELETE_FILE for file default-test-file.txt: FAILED: , Can not continue with delete operation, as Pillar1 is unable to perform the deletion.
11:30:54.001 ERROR o.b.m.d.c.IdentifyPillarsForDeleteFile - Failing conversation 'DeleteFileConversationContext{collectionID='TwoPillarCollection', conversationID='e9d5ec89-9690-4941-a8e3-01536b9749d9', clientID='deleteClientSpecifiedPillarFailedDuringIdentification', fileID='default-test-file.txt', contributors=[Pillar1], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='e9d5ec89', operationType=DELETE_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@6d26d7e8, contributorCompleteEvents=[], contributorFailedEvents=[e9d5ec89: 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@12686625, 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@1dba7c92[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@18132abc[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@365a0614[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)], eventHandler, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@1afdc3f4[correlationID=a7a89194-c6bd-4997-99d3-ed1cf7c7e3f6, 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: a7a89194: 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: a7a89194: DELETE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: a7a89194: DELETE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: a7a89194: 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@552ae42e[correlationID=a7a89194-c6bd-4997-99d3-ed1cf7c7e3f6, 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@1dba7c92[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@18132abc[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@365a0614[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: a7a89194: 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: a7a89194: DELETE_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, DeleteFileResult=null
Result: Received event: a7a89194: 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@618f3bf1[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@4a1317dc[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=2021-01-07T11:30:54.386+01:00], null, eventHandler, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@148c112a[correlationID=343a47a8-ee34-475b-bef6-3b0329ad9e33, 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: 343a47a8: 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: 343a47a8: DELETE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 343a47a8: DELETE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 343a47a8: 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@786b4190[correlationID=343a47a8-ee34-475b-bef6-3b0329ad9e33, 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@618f3bf1[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@4a1317dc[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=2021-01-07T11:30:54.386+01: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@2835309d[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@1ec7db43[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=2021-01-07T11:30:56.487+01:00], org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@4a146d79[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], eventHandler, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@75ad66e6[correlationID=49efd2e4-a645-44cb-a0b1-abe39909afa7, 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: 49efd2e4: 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: 49efd2e4: DELETE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 49efd2e4: DELETE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 49efd2e4: 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@5420c105[correlationID=49efd2e4-a645-44cb-a0b1-abe39909afa7, 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@2835309d[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@1ec7db43[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=2021-01-07T11:30:56.487+01:00], checksumRequestForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@4a146d79[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@7781d5cc[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@76e44262[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=2021-01-07T11:30:56.663+01:00], org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@3ba33398[checksumType=MD5, checksumSalt={-86}, otherChecksumType=<null>(default)], eventHandler, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@42f494b0[correlationID=728f6278-3499-4d62-9440-7b337d5e64d0, 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: 728f6278: 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: 728f6278: DELETE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 728f6278: DELETE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 728f6278: 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@6f81a4d3[correlationID=728f6278-3499-4d62-9440-7b337d5e64d0, 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@7781d5cc[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@76e44262[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=2021-01-07T11:30:56.663+01: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@6c950810[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@464a5994[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=2021-01-07T11:30:56.767+01:00], null, eventHandler, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@5d4608a4[correlationID=61fd2499-9f02-439c-8339-49381e8fbcb1, 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: 61fd2499: 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: 61fd2499: DELETE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 61fd2499: DELETE_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, DeleteFileResult=null
Result: Received event: 61fd2499: DELETE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: []
Result: Received event: 61fd2499: 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 GetChecksumsCmdTest
Test starting: checksumArgumentNonSaltAlgorithmWitoutSaltTest
Description: Test MD5 checksum without salt -> no failure
Test success: checksumArgumentNonSaltAlgorithmWitoutSaltTest
Test starting: checksumArgumentSaltAlgorithmWithSaltTest
Description: Test HMAC_SHA256 checksum with salt -> No failure
Test success: checksumArgumentSaltAlgorithmWithSaltTest
Test starting: defaultSuccessScenarioTest
Description: Tests simplest arguments for running the CmdLineClient
Test success: defaultSuccessScenarioTest
Test starting: fileArgumentTest
Description: Tests the argument for a specific file.
Test success: fileArgumentTest
Test starting: missingCollectionArgumentTest
Description: Tests the scenario, where the collection arguments is missing.
Takes the following arguments:
-s The path to the directory with the settings files for the client
-k The path to the file containing the private key.
-v Makes the client more verbose
-c The id for the collection to perform the operation on.
-i The id for the file to perform the operation on.
-p [OPTIONAL] The id of the pillar where the operation should be performed. If undefined the operation is performed on all pillars.
-R [OPTIONAL] The algorithm of checksum to request in the response from the pillars. If no such argument is given, then the default from settings is retrieved.
-S [OPTIONAL] The salt of checksum to request in the response. Requires the ChecksumType argument.
Missing argument: Missing required option: c
Test success: missingCollectionArgumentTest
Test starting: specificPillarArgumentTest
Description: Test argument for a specific pillar
Test success: specificPillarArgumentTest
Test starting: unknownPillarArgumentTest
Description: Testing against a non-existing pillar id -> Should fail
Invalid argument: Random1610015458955pillar is not a valid pillar for collection TwoPillarCollection
The collection contains the following pillars: [Pillar1, Pillar2]
Test success: unknownPillarArgumentTest
Starting testcase GetFileCmdTest
Test starting: defaultSuccessScenarioTest
Description: Tests simplest arguments for running the CmdLineClient
Test success: defaultSuccessScenarioTest
Test starting: missingCollectionArgumentTest
Description: Tests the scenario, where the collection arguments is missing.
Takes the following arguments:
-s The path to the directory with the settings files for the client
-k The path to the file containing the private key.
-v Makes the client more verbose
-c The id for the collection to perform the operation on.
-i The id for the file to perform the operation on.
-p [OPTIONAL] The id of the pillar where the operation should be performed. If undefined the operation is performed on all pillars.
-l [OPTIONAL] The location where the file should be placed (either total path or directory). If no argument, then the file is placed in the directory where the script is located.
Missing argument: Missing required option: c
Test success: missingCollectionArgumentTest
Test starting: missingFileIDArgumentTest
Description: Tests the scenario, where no arguments for file id argument is given.
Takes the following arguments:
-s The path to the directory with the settings files for the client
-k The path to the file containing the private key.
-v Makes the client more verbose
-c The id for the collection to perform the operation on.
-i The id for the file to perform the operation on.
-p [OPTIONAL] The id of the pillar where the operation should be performed. If undefined the operation is performed on all pillars.
-l [OPTIONAL] The location where the file should be placed (either total path or directory). If no argument, then the file is placed in the directory where the script is located.
Missing argument: Missing required option: i
Test success: missingFileIDArgumentTest
Test starting: specificPillarArgumentTest
Description: Test argument for a specific pillar
Test success: specificPillarArgumentTest
Test starting: unknownPillarArgumentTest
Description: Testing against a non-existing pillar id -> Should fail
Invalid argument: Random1610015459618pillar is not a valid pillar for collection TwoPillarCollection
The collection contains the following pillars: [Pillar1, Pillar2]
Test success: unknownPillarArgumentTest
Starting testcase PutFileClientComponentTest
Test starting: defaultReturnChecksumsWithChecksumPillar
Description: Tests that PutClient handles the presence of a ChecksumPillar correctly, when a return checksum of default type is requested (which a checksum pillar can provide).
Step: Call putFile while requesting a salted checksum to be returned.
Stimuli: Calling PutFileWithId(file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, default-test-file.txt, 0, null, org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@5dcc738b[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], org.bitrepository.client.TestEventHandler@23896b44, TEST-AUDIT-TRAIL)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@1673cbc0[correlationID=b324488d-d76e-4753-b8c6-6c14caf6ddba, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=defaultReturnChecksumsWithChecksumPillar, to=<null>(default), version=31, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, fileID=default-test-file.txt, fileSize=0]
Result: Received event: b324488d: 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: b324488d: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Step: Send an normal identification response from pillar2.
Result: Received event: b324488d: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: b324488d: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1, Pillar2]
Result: Received event: b324488d: 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@54af3522[correlationID=b324488d-d76e-4753-b8c6-6c14caf6ddba, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=defaultReturnChecksumsWithChecksumPillar, 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=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@5dcc738b[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)]]
Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@436fab93[correlationID=b324488d-d76e-4753-b8c6-6c14caf6ddba, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=defaultReturnChecksumsWithChecksumPillar, 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@5dcc738b[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)]]
Test success: defaultReturnChecksumsWithChecksumPillar
Test starting: fileExistsOnPillarChecksumFromPillarNoClientChecksum
Description: Tests that PutClient handles the presence of a file correctly, when the pillar returns a checksum but the putFile was called without a checksum.
Step: Call putFile.
Stimuli: Calling PutFileWithId(file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, default-test-file.txt, 0, null, null, org.bitrepository.client.TestEventHandler@f31b75f, TEST-AUDIT-TRAIL)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@2c7507f0[correlationID=2c844387-18f2-4fa6-93ed-937c20a2b529, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=fileExistsOnPillarChecksumFromPillarNoClientChecksum, to=<null>(default), version=31, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, fileID=default-test-file.txt, fileSize=0]
Result: Received event: 2c844387: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file
Step: Send a DUPLICATE_FILE_FAILURE response with a random checksum.
Result: Received event: 2c844387: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: DUPLICATE_FILE_FAILURE, Received negative response from component Pillar1: org.bitrepository.bitrepositoryelements.ResponseInfo@127df224[responseCode=DUPLICATE_FILE_FAILURE, responseText=Testing the handling of 'DUPLICATE FILE' identification.] (existing file checksum does not match)
Result: Received event: 2c844387: PUT_FILE for file default-test-file.txt: FAILED: , Can not put file default-test-file.txt, as an different file already exists on pillar Pillar1
11:31:00.003 ERROR o.b.m.p.c.IdentifyPillarsForPutFile - Failing conversation 'PutFileConversationContext{collectionID='TwoPillarCollection', conversationID='2c844387-18f2-4fa6-93ed-937c20a2b529', clientID='fileExistsOnPillarChecksumFromPillarNoClientChecksum', fileID='default-test-file.txt', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='2c844387', operationType=PUT_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@f31b75f, contributorCompleteEvents=[], contributorFailedEvents=[2c844387: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: DUPLICATE_FILE_FAILURE, Received negative response from component Pillar1: org.bitrepository.bitrepositoryelements.ResponseInfo@127df224[responseCode=DUPLICATE_FILE_FAILURE, responseText=Testing the handling of 'DUPLICATE FILE' identification.] (existing file checksum does not match)], failOnComponentFailure=true}, auditTrailInformation='TEST-AUDIT-TRAIL', state=org.bitrepository.client.conversation.FinishedState@5ace150, checksumPillars=[]}' with exception
org.bitrepository.common.exceptions.UnableToFinishException: Can not put file default-test-file.txt, as an different file already exists on pillar Pillar1
at org.bitrepository.modify.putfile.conversation.IdentifyPillarsForPutFile.handleFailureResponse(IdentifyPillarsForPutFile.java:76)
at org.bitrepository.client.conversation.IdentifyingState.processMessage(IdentifyingState.java:60)
at org.bitrepository.client.conversation.GeneralConversationState.handleMessage(GeneralConversationState.java:110)
at org.bitrepository.client.conversation.StateBasedConversation.onMessage(StateBasedConversation.java:53)
at org.bitrepository.client.conversation.mediator.CollectionBasedConversationMediator.onMessage(CollectionBasedConversationMediator.java:136)
at org.bitrepository.protocol.messagebus.SimpleMessageBus.lambda$sendMessage$0(SimpleMessageBus.java:73)
at java.lang.Iterable.forEach(Iterable.java:75)
at org.bitrepository.protocol.messagebus.SimpleMessageBus.sendMessage(SimpleMessageBus.java:73)
at org.bitrepository.modify.putfile.PutFileClientComponentTest.fileExistsOnPillarChecksumFromPillarNoClientChecksum(PutFileClientComponentTest.java:492)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:134)
at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:597)
at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:173)
at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)
at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:816)
at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:146)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
at java.util.ArrayList.forEach(ArrayList.java:1249)
at org.testng.TestRunner.privateRun(TestRunner.java:766)
at org.testng.TestRunner.run(TestRunner.java:587)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)
at org.testng.SuiteRunner.run(SuiteRunner.java:286)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1187)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1109)
at org.testng.TestNG.runSuites(TestNG.java:1039)
at org.testng.TestNG.run(TestNG.java:1007)
at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:135)
at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeMulti(TestNGDirectoryTestSuite.java:193)
at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:94)
at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:146)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:377)
at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:138)
at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:465)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:451)
Test success: fileExistsOnPillarChecksumFromPillarNoClientChecksum
Test starting: fileExistsOnPillarDifferentChecksumFromPillar
Description: Tests that PutClient handles the presence of a file correctly, when the pillar returns a checksum different from the file being put.
Step: Call putFile.
Stimuli: Calling PutFileWithId(file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, default-test-file.txt, 0, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@74c01ddf[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@93a1f77[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={-70}, calculationTimestamp=2021-01-07T11:31:00.117+01:00], null, org.bitrepository.client.TestEventHandler@6d19a109, TEST-AUDIT-TRAIL)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@3fc35891[correlationID=182204a5-00e9-409c-9af6-3738ee908d56, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=fileExistsOnPillarDifferentChecksumFromPillar, to=<null>(default), version=31, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, fileID=default-test-file.txt, fileSize=0]
Result: Received event: 182204a5: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file
Step: Send a DUPLICATE_FILE_FAILURE response with a random checksum.
Result: Received event: 182204a5: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: DUPLICATE_FILE_FAILURE, Received negative response from component Pillar1: org.bitrepository.bitrepositoryelements.ResponseInfo@32300150[responseCode=DUPLICATE_FILE_FAILURE, responseText=Testing the handling of 'DUPLICATE FILE' identification.] (existing file checksum does not match)
Result: Received event: 182204a5: PUT_FILE for file default-test-file.txt: FAILED: , Can not put file default-test-file.txt, as an different file already exists on pillar Pillar1
11:31:00.127 ERROR o.b.m.p.c.IdentifyPillarsForPutFile - Failing conversation 'PutFileConversationContext{collectionID='TwoPillarCollection', conversationID='182204a5-00e9-409c-9af6-3738ee908d56', clientID='fileExistsOnPillarDifferentChecksumFromPillar', fileID='default-test-file.txt', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='182204a5', operationType=PUT_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@6d19a109, contributorCompleteEvents=[], contributorFailedEvents=[182204a5: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: DUPLICATE_FILE_FAILURE, Received negative response from component Pillar1: org.bitrepository.bitrepositoryelements.ResponseInfo@32300150[responseCode=DUPLICATE_FILE_FAILURE, responseText=Testing the handling of 'DUPLICATE FILE' identification.] (existing file checksum does not match)], failOnComponentFailure=true}, auditTrailInformation='TEST-AUDIT-TRAIL', state=org.bitrepository.client.conversation.FinishedState@1712d057, checksumPillars=[]}' with exception
org.bitrepository.common.exceptions.UnableToFinishException: Can not put file default-test-file.txt, as an different file already exists on pillar Pillar1
at org.bitrepository.modify.putfile.conversation.IdentifyPillarsForPutFile.handleFailureResponse(IdentifyPillarsForPutFile.java:76)
at org.bitrepository.client.conversation.IdentifyingState.processMessage(IdentifyingState.java:60)
at org.bitrepository.client.conversation.GeneralConversationState.handleMessage(GeneralConversationState.java:110)
at org.bitrepository.client.conversation.StateBasedConversation.onMessage(StateBasedConversation.java:53)
at org.bitrepository.client.conversation.mediator.CollectionBasedConversationMediator.onMessage(CollectionBasedConversationMediator.java:136)
at org.bitrepository.protocol.messagebus.SimpleMessageBus.lambda$sendMessage$0(SimpleMessageBus.java:73)
at java.lang.Iterable.forEach(Iterable.java:75)
at org.bitrepository.protocol.messagebus.SimpleMessageBus.sendMessage(SimpleMessageBus.java:73)
at org.bitrepository.modify.putfile.PutFileClientComponentTest.fileExistsOnPillarDifferentChecksumFromPillar(PutFileClientComponentTest.java:401)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:134)
at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:597)
at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:173)
at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)
at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:816)
at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:146)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
at java.util.ArrayList.forEach(ArrayList.java:1249)
at org.testng.TestRunner.privateRun(TestRunner.java:766)
at org.testng.TestRunner.run(TestRunner.java:587)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)
at org.testng.SuiteRunner.run(SuiteRunner.java:286)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1187)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1109)
at org.testng.TestNG.runSuites(TestNG.java:1039)
at org.testng.TestNG.run(TestNG.java:1007)
at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:135)
at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeMulti(TestNGDirectoryTestSuite.java:193)
at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:94)
at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:146)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:377)
at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:138)
at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:465)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:451)
Test success: fileExistsOnPillarDifferentChecksumFromPillar
Test starting: fileExistsOnPillarNoChecksumFromPillar
Description: Tests that PutClient handles the presence of a file correctly, when the pillar doesn't return a checksum in the identification response.
Step: Call putFile.
Stimuli: Calling PutFileWithId(file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, default-test-file.txt, 0, null, null, org.bitrepository.client.TestEventHandler@9862647, TEST-AUDIT-TRAIL)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@1883a602[correlationID=7e2d4f96-eace-463c-9535-533ea8c14a88, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=fileExistsOnPillarNoChecksumFromPillar, to=<null>(default), version=31, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, fileID=default-test-file.txt, fileSize=0]
Result: Received event: 7e2d4f96: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file
Step: Send a DUPLICATE_FILE_FAILURE response without a checksum.
Result: Received event: 7e2d4f96: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: DUPLICATE_FILE_FAILURE, Received negative response from component Pillar1: org.bitrepository.bitrepositoryelements.ResponseInfo@46250560[responseCode=DUPLICATE_FILE_FAILURE, responseText=Testing the handling of 'DUPLICATE FILE' identification.]
Result: Received event: 7e2d4f96: PUT_FILE for file default-test-file.txt: FAILED: , Can not put file default-test-file.txt, as an file already exists on pillar Pillar1
11:31:00.233 ERROR o.b.m.p.c.IdentifyPillarsForPutFile - Failing conversation 'PutFileConversationContext{collectionID='TwoPillarCollection', conversationID='7e2d4f96-eace-463c-9535-533ea8c14a88', clientID='fileExistsOnPillarNoChecksumFromPillar', fileID='default-test-file.txt', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='7e2d4f96', operationType=PUT_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@9862647, contributorCompleteEvents=[], contributorFailedEvents=[7e2d4f96: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: DUPLICATE_FILE_FAILURE, Received negative response from component Pillar1: org.bitrepository.bitrepositoryelements.ResponseInfo@46250560[responseCode=DUPLICATE_FILE_FAILURE, responseText=Testing the handling of 'DUPLICATE FILE' identification.]], failOnComponentFailure=true}, auditTrailInformation='TEST-AUDIT-TRAIL', state=org.bitrepository.client.conversation.FinishedState@6b497b3a, 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@67601131, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@20e5da27[correlationID=74a79f47-25cd-4f62-a54e-310789158a7b, 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: 74a79f47: 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: 74a79f47: 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: 74a79f47: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor
Result: Received event: 74a79f47: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor
Result: Received event: 74a79f47: PUT_FILE for file default-test-file.txt: FAILED: , Unable to continue operation, contributors unavailable.
11:31:00.437 ERROR o.b.m.p.c.IdentifyPillarsForPutFile - Failing conversation 'PutFileConversationContext{collectionID='TwoPillarCollection', conversationID='74a79f47-25cd-4f62-a54e-310789158a7b', clientID='noPillarsResponding', fileID='default-test-file.txt', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='74a79f47', operationType=PUT_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@67601131, contributorCompleteEvents=[], contributorFailedEvents=[74a79f47: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor, 74a79f47: 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@60805c95, 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@39390c7c, TEST-AUDIT-TRAIL)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@280fbfbd[correlationID=e76d86e0-a72a-42fd-b6f7-3baf2018bd7e, 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: e76d86e0: 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: e76d86e0: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Step: Send an normal identification response from pillar2.
Result: Received event: e76d86e0: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: e76d86e0: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar2, Pillar1]
Result: Received event: e76d86e0: 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@4a099b04[correlationID=e76d86e0-a72a-42fd-b6f7-3baf2018bd7e, 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@1fae37af[correlationID=e76d86e0-a72a-42fd-b6f7-3baf2018bd7e, 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@70ebd55d, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@1ffaa04[correlationID=122a22b5-2072-4975-a690-0b79ec4cd6fe, 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: 122a22b5: 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: 122a22b5: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 122a22b5: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 122a22b5: 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@5ce93bc6[correlationID=122a22b5-2072-4975-a690-0b79ec4cd6fe, 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: 122a22b5: 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: 122a22b5: PUT_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, requestedChecksumResult=null
Result: Received event: 122a22b5: 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@3c31492b, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@2af77f9e[correlationID=e1e8e68d-9bd8-4311-a23a-ef312a502e89, 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: e1e8e68d: 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: e1e8e68d: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: e1e8e68d: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: e1e8e68d: 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@16ae1509[correlationID=e1e8e68d-9bd8-4311-a23a-ef312a502e89, 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@1aae6be8[correlationID=e1e8e68d-9bd8-4311-a23a-ef312a502e89, 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: e1e8e68d: 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@2904d889[correlationID=e1e8e68d-9bd8-4311-a23a-ef312a502e89, 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: e1e8e68d: 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: e1e8e68d: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FILE_TRANSFER_FAILURE
Result: Received event: e1e8e68d: PUT_FILE for file default-test-file.txt: FAILED: , Failed operation. Cause(s):
[e1e8e68d: 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@3a5e238b, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@7c6e24f9[correlationID=f0706b42-4625-4e58-aa81-91b69b91cdf3, 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: f0706b42: 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: f0706b42: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: f0706b42: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: f0706b42: 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@1f74a719[correlationID=f0706b42-4625-4e58-aa81-91b69b91cdf3, 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@547d9d07[correlationID=f0706b42-4625-4e58-aa81-91b69b91cdf3, 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: f0706b42: 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: f0706b42: PUT_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, requestedChecksumResult=null
Result: Received event: f0706b42: 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@b5b829a, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@18d8b96a[correlationID=e6d08882-f6c3-49fa-a7e9-cff7ccd9a48c, 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: e6d08882: 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: e6d08882: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Step: Await the timeout.
Result: Received event: e6d08882: 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: e6d08882: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor
Result: Received event: e6d08882: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: e6d08882: 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@66626df3[correlationID=e6d08882-f6c3-49fa-a7e9-cff7ccd9a48c, 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: e6d08882: PUT_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, requestedChecksumResult=null
Result: Received event: e6d08882: PUT_FILE for file default-test-file.txt: FAILED: , Failed operation. Cause(s):
[e6d08882: 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@21271911, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@23bbb357[correlationID=621d0005-e38a-44ab-984f-35b676da0d05, 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: 621d0005: 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: 621d0005: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Step: Await the timeout.
Result: Received event: 621d0005: 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: 621d0005: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor
Result: Received event: 621d0005: PUT_FILE for file default-test-file.txt: FAILED: , Unable to continue operation, contributors unavailable.
11:31:01.248 ERROR o.b.m.p.c.IdentifyPillarsForPutFile - Failing conversation 'PutFileConversationContext{collectionID='TwoPillarCollection', conversationID='621d0005-e38a-44ab-984f-35b676da0d05', clientID='onePillarRespondingWithPartialPutDisallowed', fileID='default-test-file.txt', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='621d0005', operationType=PUT_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@21271911, contributorCompleteEvents=[], contributorFailedEvents=[621d0005: 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@2fd9f664, 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@2952ecec, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@2396a989[correlationID=0eb7dd0b-99d7-4d5f-a5e2-8da73da619ec, 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: 0eb7dd0b: 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: 0eb7dd0b: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 0eb7dd0b: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 0eb7dd0b: 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@34298781[correlationID=0eb7dd0b-99d7-4d5f-a5e2-8da73da619ec, 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: 0eb7dd0b: PUT_FILE for file default-test-file.txt: FAILED: , Failed to receive responses from all contributors before timeout(100ms). Missing contributors [Pillar1]
11:31:01.469 ERROR o.b.m.p.conversation.PuttingFile - Failing conversation 'PutFileConversationContext{collectionID='TwoPillarCollection', conversationID='0eb7dd0b-99d7-4d5f-a5e2-8da73da619ec', clientID='putClientOperationTimeout', fileID='default-test-file.txt', contributors=[Pillar1], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='0eb7dd0b', operationType=PUT_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@2952ecec, contributorCompleteEvents=[], contributorFailedEvents=[], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@138634f5, 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@30fdf490, TEST-AUDIT-TRAIL)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@7baaaf30[correlationID=6e34c680-0fd3-40bb-b5dd-7a16a8caedff, 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: 6e34c680: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file
Step: Send pillar response.
Result: Received event: 6e34c680: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 6e34c680: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 6e34c680: 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@a0a9f46[correlationID=6e34c680-0fd3-40bb-b5dd-7a16a8caedff, 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: 6e34c680: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE, Verifying that a failure can be understood!
Result: Received event: 6e34c680: PUT_FILE for file default-test-file.txt: FAILED: , Failed operation. Cause(s):
[6e34c680: 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@493c257e, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@5599be56[correlationID=b700f829-e541-4424-9742-a4955bf0fe30, 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: b700f829: 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: b700f829: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: b700f829: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar2]
Result: Received event: b700f829: 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@4592eca7[correlationID=b700f829-e541-4424-9742-a4955bf0fe30, 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: b700f829: PUT_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar2, requestedChecksumResult=null
Result: Received event: b700f829: 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@356c41fd[checksumType=HMAC_MD5, checksumSalt={-86}, otherChecksumType=<null>(default)], org.bitrepository.client.TestEventHandler@43a51f81, TEST-AUDIT-TRAIL)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@6f0d645e[correlationID=c52f99ae-2ed4-4657-87df-bfe870fe69f2, 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: c52f99ae: 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: c52f99ae: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Step: Send an normal identification response from pillar2.
Result: Received event: c52f99ae: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: c52f99ae: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1, Pillar2]
Result: Received event: c52f99ae: 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@533a6430[correlationID=c52f99ae-2ed4-4657-87df-bfe870fe69f2, 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@69b7d41f[correlationID=c52f99ae-2ed4-4657-87df-bfe870fe69f2, 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@356c41fd[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@12f1c97a[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@6cb3135[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=2021-01-07T11:31:01.904+01:00], null, org.bitrepository.client.TestEventHandler@5ebe41ef, TEST-AUDIT-TRAIL)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@71203870[correlationID=108a8b61-1ec5-4b7c-8a51-ba8ce197a7c4, 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: 108a8b61: 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: 108a8b61: PUT_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, requestedChecksumResult=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@1e06cdae[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@6e9595a6[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=2021-01-07T11:31:01.907+01:00], File already existed on Pillar1
Step: Send an identification response from the second pillar.
Result: Received event: 108a8b61: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: 108a8b61: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar2]
Result: Received event: 108a8b61: 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@5f090522[correlationID=108a8b61-1ec5-4b7c-8a51-ba8ce197a7c4, 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@12f1c97a[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@6cb3135[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=2021-01-07T11:31:01.904+01:00], checksumRequestForNewFile=<null>(default)]
Step: The client should proceed to send a putFileOperation request to the second pillar.
Step: Send a pillar complete event
Result: Received event: 108a8b61: PUT_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar2, requestedChecksumResult=null
Result: Received event: 108a8b61: PUT_FILE for file default-test-file.txt: COMPLETE:
Test success: sameFileExistsOnOnePillar
Test starting: verifyPutClientFromFactory
Description: Testing the initialization through the ModifyComponentFactory.
Step: Use the ModifyComponentFactory to instantiate a PutFileClient.
Test success: verifyPutClientFromFactory
Starting testcase PutFileCmdTest
Test starting: checksumArgumentNonSaltAlgorithmWitoutSaltTest
Description: Test MD5 checksum without salt -> no failure
Test success: checksumArgumentNonSaltAlgorithmWitoutSaltTest
Test starting: checksumArgumentSaltAlgorithmWithSaltTest
Description: Test HMAC_SHA256 checksum with salt -> No failure
Test success: checksumArgumentSaltAlgorithmWithSaltTest
Test starting: defaultSuccessScenarioTest
Description: Tests simplest arguments for running the CmdLineClient
Test success: defaultSuccessScenarioTest
Test starting: missingChecksumWhenFileArgumentTest
Description: Tests the scenario, where no checksum argument is given, but a file is given.
Test success: missingChecksumWhenFileArgumentTest
Test starting: missingChecksumWhenURLArgumentTest
Description: Tests the scenario, where no checksum argument is given, but a URL is given.
Invalid argument: The URL argument requires also the checksum argument (-c).
Test success: missingChecksumWhenURLArgumentTest
Test starting: missingCollectionArgumentTest
Description: Tests the scenario, where the collection arguments is missing.
Takes the following arguments:
-s The path to the directory with the settings files for the client
-k The path to the file containing the private key.
-v Makes the client more verbose
-c The id for the collection to perform the operation on.
-i The id for the file to perform the operation on.
-p [OPTIONAL] The id of the pillar where the operation should be performed. If undefined the operation is performed on all pillars.
-f The path to the file, which needs to be uploaded. Is required, unless a URL is given.
-u The URL for the file to be put. Is required, unless the actual file is given.
-C The checksum for the file to be retrieved. Required if using an URL.
-R [OPTIONAL] The algorithm of checksum to request in the response from the pillars.
-S [OPTIONAL] The salt of checksum to request in the response. Requires the ChecksumType argument.
-d If this argument is present, then the file will be removed from the server, when the operation is complete.
Missing argument: Missing required option: c
Test success: missingCollectionArgumentTest
Test starting: missingFileIDWhenFileArgumentTest
Description: Tests the scenario, where no checksum argument is given, but a URL is given.
Test success: missingFileIDWhenFileArgumentTest
Test starting: missingFileIDWhenURLArgumentTest
Description: Tests the scenario, where no checksum argument is given, but a URL is given.
Invalid argument: The URL argument requires also the argument for the ID of the file (-i).
Test success: missingFileIDWhenURLArgumentTest
Test starting: missingFileOrURLArgumentTest
Description: Tests the scenario, where no arguments for file or url is given.
Invalid argument: Requires either the file argument (-f) or the URL argument (-u).
Test success: missingFileOrURLArgumentTest
Test starting: specificPillarArgumentTest
Description: Test argument for a specific pillar
Test success: specificPillarArgumentTest
Test starting: unknownPillarArgumentTest
Description: Testing against a non-existing pillar id -> Should fail
Invalid argument: Random1610015463516pillar is not a valid pillar for collection TwoPillarCollection
The collection contains the following pillars: [Pillar1, Pillar2]
Test success: unknownPillarArgumentTest
Test starting: urlSuccessScenarioTest
Description: Tests arguments for putting a file on a given URL
Test success: urlSuccessScenarioTest
Starting testcase UnexpectedResponseExceptionTest
Test starting: testUnexpectedResponse
Description: Test the instantiation of the exception
Step: Setup
Step: Try to throw such an exception
Step: Throw the exception with an embedded exception
Test success: testUnexpectedResponse
Starting testcase 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
Finished testcase
Finished suite
Finished project
[INFO] Tests run: 156, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 56.094 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 108.5 KB/sec)
[INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20210107.103108-58.jar
[INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20210107.103108-58.jar (191 KB at 3970.3 KB/sec)
[INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20210107.103108-58.pom
[INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20210107.103108-58.pom (2 KB at 81.2 KB/sec)
[INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20210107.103108-58-tests.jar
[INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20210107.103108-58-tests.jar (114 KB at 3559.5 KB/sec)
[INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20210107.103108-58-sources.jar
[INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20210107.103108-58-sources.jar (198 KB at 6799.0 KB/sec)
[INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20210107.103108-58-distribution.tar.gz
[INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20210107.103108-58-distribution.tar.gz (9035 KB at 24287.4 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 36.4 KB/sec)
[INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/maven-metadata.xml
[INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/maven-metadata.xml (2 KB at 64.1 KB/sec)
[INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/maven-metadata.xml
[INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/maven-metadata.xml (484 B at 22.5 KB/sec)
[JENKINS] Archiving disabled