ull>(default)], org.bitrepository.client.TestEventHandler@1f08913d, TEST-AUDIT-TRAIL)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@3e051aa3[correlationID=22f95c9c-daa6-438a-8ee6-361d66d0ff42, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=defaultReturnChecksumsWithChecksumPillar, to=<null>(default), version=30, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, fileID=default-test-file.txt, fileSize=0]
Result: Received event: 22f95c9c: 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: 22f95c9c: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Step: Send an normal identification response from pillar2.
Result: Received event: 22f95c9c: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: 22f95c9c: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1, Pillar2]
Result: Received event: 22f95c9c: 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@6ffaf63[correlationID=22f95c9c-daa6-438a-8ee6-361d66d0ff42, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=defaultReturnChecksumsWithChecksumPillar, to=<null>(default), version=30, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, pillarID=Pillar1, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=<null>(default), checksumRequestForNewFile=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@626299bc[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)]]
Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@4a210d59[correlationID=22f95c9c-daa6-438a-8ee6-361d66d0ff42, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=defaultReturnChecksumsWithChecksumPillar, to=<null>(default), version=30, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, pillarID=Pillar2, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=<null>(default), checksumRequestForNewFile=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@626299bc[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@6fd46a7e, TEST-AUDIT-TRAIL)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@226ccc83[correlationID=3f351ed2-9da7-4cb6-a3b3-ad79a10e91d5, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=fileExistsOnPillarChecksumFromPillarNoClientChecksum, to=<null>(default), version=30, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, fileID=default-test-file.txt, fileSize=0]
Result: Received event: 3f351ed2: 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: 3f351ed2: 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@19361ab[responseCode=DUPLICATE_FILE_FAILURE, responseText=Testing the handling of 'DUPLICATE FILE' identification.] (existing file checksum does not match)
Result: Received event: 3f351ed2: 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
08:57:10.724 ERROR o.b.m.p.c.IdentifyPillarsForPutFile - Failing conversation 'PutFileConversationContext{collectionID='TwoPillarCollection', conversationID='3f351ed2-9da7-4cb6-a3b3-ad79a10e91d5', clientID='fileExistsOnPillarChecksumFromPillarNoClientChecksum', fileID='default-test-file.txt', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='3f351ed2', operationType=PUT_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@6fd46a7e, contributorCompleteEvents=[], contributorFailedEvents=[3f351ed2: 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@19361ab[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@476e7057, 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:86)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:643)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:820)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1128)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)
at org.testng.TestRunner.privateRun(TestRunner.java:782)
at org.testng.TestRunner.run(TestRunner.java:632)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:366)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:361)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:319)
at org.testng.SuiteRunner.run(SuiteRunner.java:268)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1244)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1169)
at org.testng.TestNG.run(TestNG.java:1064)
at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:115)
at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeMulti(TestNGDirectoryTestSuite.java:204)
at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:107)
at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:112)
at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
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@6542a5cf[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@76c4e8f0[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={-70}, calculationTimestamp=2020-06-03T08:57:10.929+02:00], null, org.bitrepository.client.TestEventHandler@61d05537, TEST-AUDIT-TRAIL)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@b60341a[correlationID=aedd500b-0a92-44ba-aaeb-fa0a5fd4cb06, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=fileExistsOnPillarDifferentChecksumFromPillar, to=<null>(default), version=30, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, fileID=default-test-file.txt, fileSize=0]
Result: Received event: aedd500b: 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: aedd500b: 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@49b4e11c[responseCode=DUPLICATE_FILE_FAILURE, responseText=Testing the handling of 'DUPLICATE FILE' identification.] (existing file checksum does not match)
Result: Received event: aedd500b: 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
08:57:10.936 ERROR o.b.m.p.c.IdentifyPillarsForPutFile - Failing conversation 'PutFileConversationContext{collectionID='TwoPillarCollection', conversationID='aedd500b-0a92-44ba-aaeb-fa0a5fd4cb06', clientID='fileExistsOnPillarDifferentChecksumFromPillar', fileID='default-test-file.txt', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='aedd500b', operationType=PUT_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@61d05537, contributorCompleteEvents=[], contributorFailedEvents=[aedd500b: 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@49b4e11c[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@43fedcd4, 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:86)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:643)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:820)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1128)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)
at org.testng.TestRunner.privateRun(TestRunner.java:782)
at org.testng.TestRunner.run(TestRunner.java:632)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:366)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:361)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:319)
at org.testng.SuiteRunner.run(SuiteRunner.java:268)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1244)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1169)
at org.testng.TestNG.run(TestNG.java:1064)
at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:115)
at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeMulti(TestNGDirectoryTestSuite.java:204)
at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:107)
at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:112)
at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
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@4179173d, TEST-AUDIT-TRAIL)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@328439ce[correlationID=ca15ba96-38f9-4ee4-874e-2defd9206f62, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=fileExistsOnPillarNoChecksumFromPillar, to=<null>(default), version=30, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, fileID=default-test-file.txt, fileSize=0]
Result: Received event: ca15ba96: 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: ca15ba96: 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@1df10f52[responseCode=DUPLICATE_FILE_FAILURE, responseText=Testing the handling of 'DUPLICATE FILE' identification.]
Result: Received event: ca15ba96: 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
08:57:11.132 ERROR o.b.m.p.c.IdentifyPillarsForPutFile - Failing conversation 'PutFileConversationContext{collectionID='TwoPillarCollection', conversationID='ca15ba96-38f9-4ee4-874e-2defd9206f62', clientID='fileExistsOnPillarNoChecksumFromPillar', fileID='default-test-file.txt', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='ca15ba96', operationType=PUT_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@4179173d, contributorCompleteEvents=[], contributorFailedEvents=[ca15ba96: 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@1df10f52[responseCode=DUPLICATE_FILE_FAILURE, responseText=Testing the handling of 'DUPLICATE FILE' identification.]], failOnComponentFailure=true}, auditTrailInformation='TEST-AUDIT-TRAIL', state=org.bitrepository.client.conversation.FinishedState@501d07c5, 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:86)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:643)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:820)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1128)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)
at org.testng.TestRunner.privateRun(TestRunner.java:782)
at org.testng.TestRunner.run(TestRunner.java:632)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:366)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:361)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:319)
at org.testng.SuiteRunner.run(SuiteRunner.java:268)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1244)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1169)
at org.testng.TestNG.run(TestNG.java:1064)
at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:115)
at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeMulti(TestNGDirectoryTestSuite.java:204)
at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:107)
at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:112)
at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
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@799058fd, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@7c7d3581[correlationID=85ed6326-e35b-49fe-9bb8-b2b51713a96f, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=noPillarsResponding, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=0]
Result: Received event: 85ed6326: 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: 85ed6326: 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: 85ed6326: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor
Result: Received event: 85ed6326: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor
Result: Received event: 85ed6326: PUT_FILE for file default-test-file.txt: FAILED: , Unable to continue operation, contributors unavailable.
08:57:11.438 ERROR o.b.m.p.c.IdentifyPillarsForPutFile - Failing conversation 'PutFileConversationContext{collectionID='TwoPillarCollection', conversationID='85ed6326-e35b-49fe-9bb8-b2b51713a96f', clientID='noPillarsResponding', fileID='default-test-file.txt', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='85ed6326', operationType=PUT_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@799058fd, contributorCompleteEvents=[], contributorFailedEvents=[85ed6326: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor, 85ed6326: 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@1ccc06d5, 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@2db66b49, TEST-AUDIT-TRAIL)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@1c1dbaff[correlationID=29488a8c-8895-44fa-a42f-4c64e15ca04b, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=noReturnChecksumsWithChecksumPillar, to=<null>(default), version=30, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, fileID=default-test-file.txt, fileSize=0]
Result: Received event: 29488a8c: 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: 29488a8c: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Step: Send an normal identification response from pillar2.
Result: Received event: 29488a8c: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: 29488a8c: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1, Pillar2]
Result: Received event: 29488a8c: 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@6a68159e[correlationID=29488a8c-8895-44fa-a42f-4c64e15ca04b, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=noReturnChecksumsWithChecksumPillar, to=<null>(default), version=30, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, pillarID=Pillar1, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=<null>(default), checksumRequestForNewFile=<null>(default)]
Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@1bd3906e[correlationID=29488a8c-8895-44fa-a42f-4c64e15ca04b, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=noReturnChecksumsWithChecksumPillar, to=<null>(default), version=30, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, pillarID=Pillar2, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=<null>(default), checksumRequestForNewFile=<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@32b2f9a4, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@273c7993[correlationID=6a53923b-300d-4243-b85a-3cb0a38df6cf, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=normalPutFile, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=0]
Result: Received event: 6a53923b: 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: 6a53923b: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 6a53923b: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 6a53923b: 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@3994c5fa[correlationID=6a53923b-300d-4243-b85a-3cb0a38df6cf, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=normalPutFile, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=<null>(default), checksumRequestForNewFile=<null>(default)]
Step: Validate the steps of the PutClient by going through the events.
Step: The pillar sends a progress response to the PutClient.
Result: Received event: 6a53923b: 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: 6a53923b: PUT_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, requestedChecksumResult=null
Result: Received event: 6a53923b: 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@7f0f12a9, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@5e78e4d4[correlationID=47065058-1011-4be7-af27-1e432bb9dfb8, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarPutRetryFailure, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=0]
Result: Received event: 47065058: 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: 47065058: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 47065058: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 47065058: 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@4a9d4ec5[correlationID=47065058-1011-4be7-af27-1e432bb9dfb8, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarPutRetryFailure, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=<null>(default), checksumRequestForNewFile=<null>(default)]
Step: The client should proceed to send a putFileOperation request to the responding pillar.
Step: Send a PutFileFinalResponse indicating a FILE_TRANSFER_FAILURE
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@7b77b0ea[correlationID=47065058-1011-4be7-af27-1e432bb9dfb8, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarPutRetryFailure, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=<null>(default), checksumRequestForNewFile=<null>(default)]
Result: Received event: 47065058: 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@32052b5e[correlationID=47065058-1011-4be7-af27-1e432bb9dfb8, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarPutRetryFailure, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=<null>(default), checksumRequestForNewFile=<null>(default)]
Result: Received event: 47065058: 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: 47065058: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FILE_TRANSFER_FAILURE
Result: Received event: 47065058: PUT_FILE for file default-test-file.txt: FAILED: , Failed operation. Cause(s):
[47065058: 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@3e231755, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@44f6b9c5[correlationID=25f374c4-447b-40d3-9a3b-972560e724b4, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarPutRetrySuccess, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=0]
Result: Received event: 25f374c4: 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: 25f374c4: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 25f374c4: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 25f374c4: 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@128c36c0[correlationID=25f374c4-447b-40d3-9a3b-972560e724b4, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarPutRetrySuccess, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=<null>(default), checksumRequestForNewFile=<null>(default)]
Step: The client should proceed to send a putFileOperation request to the responding pillar.
Step: Send a PutFileFinalResponse indicating a FILE_TRANSFER_FAILURE
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@34b3127b[correlationID=25f374c4-447b-40d3-9a3b-972560e724b4, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarPutRetrySuccess, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=<null>(default), checksumRequestForNewFile=<null>(default)]
Result: Received event: 25f374c4: 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: 25f374c4: PUT_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, requestedChecksumResult=null
Result: Received event: 25f374c4: 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@7327749c, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@5541f4d2[correlationID=6b5a0c13-57c7-470d-9c54-a46c1949f783, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarRespondingWithPartialPutAllowed, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=0]
Result: Received event: 6b5a0c13: 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: 6b5a0c13: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Step: Await the timeout.
Result: Received event: 6b5a0c13: 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: 6b5a0c13: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor
Result: Received event: 6b5a0c13: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 6b5a0c13: 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@59a544e8[correlationID=6b5a0c13-57c7-470d-9c54-a46c1949f783, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarRespondingWithPartialPutAllowed, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=<null>(default), checksumRequestForNewFile=<null>(default)]
Step: The client should proceed to send a putFileOperation request to the responding pillar.
Step: Send a pillar complete event
Result: Received event: 6b5a0c13: PUT_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, requestedChecksumResult=null
Result: Received event: 6b5a0c13: PUT_FILE for file default-test-file.txt: FAILED: , Failed operation. Cause(s):
[6b5a0c13: 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@28e20e0b, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@2d5541ef[correlationID=a59d231a-a1ce-4de8-8abb-d4797878c861, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=onePillarRespondingWithPartialPutDisallowed, to=<null>(default), version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=0]
Result: Received event: a59d231a: 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: a59d231a: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Step: Await the timeout.
Result: Received event: a59d231a: 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: a59d231a: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor
Result: Received event: a59d231a: PUT_FILE for file default-test-file.txt: FAILED: , Unable to continue operation, contributors unavailable.
08:57:12.578 ERROR o.b.m.p.c.IdentifyPillarsForPutFile - Failing conversation 'PutFileConversationContext{collectionID='TwoPillarCollection', conversationID='a59d231a-a1ce-4de8-8abb-d4797878c861', clientID='onePillarRespondingWithPartialPutDisallowed', fileID='default-test-file.txt', contributors=[Pillar1, Pillar2], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='a59d231a', operationType=PUT_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@28e20e0b, contributorCompleteEvents=[], contributorFailedEvents=[a59d231a: 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@22cb0eeb, 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@1e53fdd9, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@7a8b1b10[correlationID=2bd83a1e-50aa-4bbf-b269-a3a7929645ae, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=putClientOperationTimeout, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=0]
Result: Received event: 2bd83a1e: 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: 2bd83a1e: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 2bd83a1e: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 2bd83a1e: 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@36a0cf2b[correlationID=2bd83a1e-50aa-4bbf-b269-a3a7929645ae, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=putClientOperationTimeout, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=<null>(default), checksumRequestForNewFile=<null>(default)]
Step: Validate the steps of the PutClient by going through the events.
Step: Do not respond. Just await the timeout.
Result: Received event: 2bd83a1e: PUT_FILE for file default-test-file.txt: FAILED: , Failed to receive responses from all contributors before timeout(100ms). Missing contributors [Pillar1]
08:57:12.874 ERROR o.b.m.p.conversation.PuttingFile - Failing conversation 'PutFileConversationContext{collectionID='TwoPillarCollection', conversationID='2bd83a1e-50aa-4bbf-b269-a3a7929645ae', clientID='putClientOperationTimeout', fileID='default-test-file.txt', contributors=[Pillar1], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='2bd83a1e', operationType=PUT_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@1e53fdd9, contributorCompleteEvents=[], contributorFailedEvents=[], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@b803fb3, 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@6f240c3, TEST-AUDIT-TRAIL)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@3a439ff7[correlationID=d17f6f8a-f163-40bd-9ff6-0f1751d72d44, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=putClientPillarOperationFailed, to=Pillar1, version=30, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, fileID=default-test-file.txt, fileSize=0]
Result: Received event: d17f6f8a: PUT_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for put file
Step: Send pillar response.
Result: Received event: d17f6f8a: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: d17f6f8a: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: d17f6f8a: 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@3b97b2ae[correlationID=d17f6f8a-f163-40bd-9ff6-0f1751d72d44, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=putClientPillarOperationFailed, to=Pillar1, version=30, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, pillarID=Pillar1, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=<null>(default), checksumRequestForNewFile=<null>(default)]
Step: Validate the steps of the PutClient by going through the events.
Step: Send a failed response message to the PutClient.
Result: Received event: d17f6f8a: PUT_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE, Verifying that a failure can be understood!
Result: Received event: d17f6f8a: PUT_FILE for file default-test-file.txt: FAILED: , Failed operation. Cause(s):
[d17f6f8a: 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@9fa9d4c, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@102310f6[correlationID=d8508541-e351-4f4a-a80c-2b7f63961073, collectionID=SinglePillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=putToOtherCollection, to=Pillar2, version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=0]
Result: Received event: d8508541: 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: d8508541: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: d8508541: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar2]
Result: Received event: d8508541: 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@3b99ed6a[correlationID=d8508541-e351-4f4a-a80c-2b7f63961073, collectionID=SinglePillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=putToOtherCollection, to=Pillar2, version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar2, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=<null>(default), checksumRequestForNewFile=<null>(default)]
Step: Send a put complete event from the pillar
Result: Received event: d8508541: PUT_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar2, requestedChecksumResult=null
Result: Received event: d8508541: 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@bd65915[checksumType=HMAC_MD5, checksumSalt={-86}, otherChecksumType=<null>(default)], org.bitrepository.client.TestEventHandler@a737e06, TEST-AUDIT-TRAIL)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@61b1bb0e[correlationID=bf0a4946-7a9c-4ebb-8073-96054d6e3f06, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=saltedReturnChecksumsWithChecksumPillar, to=<null>(default), version=30, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, fileID=default-test-file.txt, fileSize=0]
Result: Received event: bf0a4946: 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: bf0a4946: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Step: Send an normal identification response from pillar2.
Result: Received event: bf0a4946: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: bf0a4946: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar2, Pillar1]
Result: Received event: bf0a4946: 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@b85cb0c[correlationID=bf0a4946-7a9c-4ebb-8073-96054d6e3f06, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=saltedReturnChecksumsWithChecksumPillar, to=<null>(default), version=30, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, pillarID=Pillar1, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=<null>(default), checksumRequestForNewFile=<null>(default)]
Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.PutFileRequest@30f5f9ab[correlationID=bf0a4946-7a9c-4ebb-8073-96054d6e3f06, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=saltedReturnChecksumsWithChecksumPillar, to=<null>(default), version=30, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, pillarID=Pillar2, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=<null>(default), checksumRequestForNewFile=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@bd65915[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@3b03551d[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@2857f730[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-06-03T08:57:13.375+02:00], null, org.bitrepository.client.TestEventHandler@155e21a3, TEST-AUDIT-TRAIL)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForPutFileRequest@377b8c99[correlationID=dbb05586-d8b3-48d5-8a6b-ca43c7b7906b, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=sameFileExistsOnOnePillar, to=<null>(default), version=30, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, fileID=default-test-file.txt, fileSize=0]
Result: Received event: dbb05586: 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: dbb05586: PUT_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, requestedChecksumResult=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@65bf7de4[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@e4b3a8e[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-06-03T08:57:13.377+02:00], File already existed on Pillar1
Step: Send an identification response from the second pillar.
Result: Received event: dbb05586: PUT_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: dbb05586: PUT_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar2]
Result: Received event: dbb05586: 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@5535df95[correlationID=dbb05586-d8b3-48d5-8a6b-ca43c7b7906b, collectionID=TwoPillarCollection, destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-PutFileClientComponentTest-cibuild01, from=sameFileExistsOnOnePillar, to=<null>(default), version=30, minVersion=24, auditTrailInformation=TEST-AUDIT-TRAIL, pillarID=Pillar2, fileID=default-test-file.txt, fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@3b03551d[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@2857f730[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-06-03T08:57:13.375+02:00], checksumRequestForNewFile=<null>(default)]
Step: The client should proceed to send a putFileOperation request to the second pillar.
Step: Send a pillar complete event
Result: Received event: dbb05586: PUT_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar2, requestedChecksumResult=null
Result: Received event: dbb05586: 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: Random1591167436203pillar is not a valid pillar for collection TwoPillarCollection
The collection contains the following pillars: [Pillar1, Pillar2]
Test success: unknownPillarArgumentTest
Test starting: urlSuccessScenarioTest
Description: Tests arguments for putting a file on a given URL
Test success: urlSuccessScenarioTest
Starting testcase ReplaceFileCmdTest
Test starting: URLSuccessScenarioTest
Description: Tests the scenario, where a URL instead of a file is used for the replacement file.
Test success: URLSuccessScenarioTest
Test starting: bothFileAndURLArgumentTest
Description: Tests the scenario, where both arguments for file or url is given.
Invalid argument: Cannot take both a file (-f) and an URL (-u) as argument.
Test success: bothFileAndURLArgumentTest
Test starting: checksumArgumentNonSaltAlgorithmWitoutSaltTest
Description: Test MD5 checksum without salt -> no failure
Test success: checksumArgumentNonSaltAlgorithmWitoutSaltTest
Test starting: checksumArgumentSaltAlgorithmWithSaltTest
Description: Test HMAC_SHA256 checksum with salt -> No failure
Test success: checksumArgumentSaltAlgorithmWithSaltTest
Test starting: defaultSuccessScenarioTest
Description: Tests simplest arguments for running the CmdLineClient
Test success: defaultSuccessScenarioTest
Test starting: missingChecksumForExistingFileWhenUsingFileArgumentTest
Description: Tests the scenario, where no checksum argument is given, but a File is given.
Invalid argument: Checksum argument (-C) are mandatory for Replace and replace operations as defined in RepositorySettings.
Test success: missingChecksumForExistingFileWhenUsingFileArgumentTest
Test starting: missingChecksumForExistingFileWhenUsingURLArgumentTest
Description: Tests the scenario, where no checksum argument is given, but a URL is given.
Invalid argument: Checksum argument (-C) are mandatory for Replace and replace operations as defined in RepositorySettings.
Test success: missingChecksumForExistingFileWhenUsingURLArgumentTest
Test starting: missingChecksumForNewFileWhenUsingFileArgumentTest
Description: Tests the scenario, where no checksum argument is given, but a File is given.
Test success: missingChecksumForNewFileWhenUsingFileArgumentTest
Test starting: missingChecksumForNewFileWhenUsingURLArgumentTest
Description: Tests the scenario, where no checksum argument is given, but a URL is given.
Invalid argument: The URL argument requires also the checksum argument for the file to replace with (-r).
Test success: missingChecksumForNewFileWhenUsingURLArgumentTest
Test starting: missingCollectionArgumentTest
Description: Tests the scenario, where the collection arguments is missing.
Takes the following arguments:
-s The path to the directory with the settings files for the client
-k The path to the file containing the private key.
-v Makes the client more verbose
-c The id for the collection to perform the operation on.
-i The id for the file to perform the operation on.
-p [OPTIONAL] The id of the pillar where the operation should be performed. If undefined the operation is performed on all pillars.
-C [OPTIONAL] The checksum of the file to be replaced.
-f The path to the new file for the replacement. Required unless using the URL argument.
-u The URL for the file to be retreived. Is required, unless the actual file is given.
-r The checksum for the file to replace with. Required when using the URL argument.
-R [OPTIONAL] The algorithm of checksum to request in the response from the pillars.
-S [OPTIONAL] The salt of checksum to request in the response. Requires the ChecksumType argument.
-d If this argument is present, then the file will be removed from the server, when the operation is complete.
Missing argument: Missing required option: c
Test success: missingCollectionArgumentTest
Test starting: missingFileIDWhenFileArgumentTest
Description: Tests the scenario, where no checksum argument is given, but a URL is given.
Test success: missingFileIDWhenFileArgumentTest
Test starting: missingFileIDWhenURLArgumentTest
Description: Tests the scenario, where no checksum argument is given, but a URL is given.
Invalid argument: The URL argument requires also the argument for the ID of the file (-i).
Test success: missingFileIDWhenURLArgumentTest
Test starting: missingFileOrURLArgumentTest
Description: Tests the scenario, where no arguments for file or url is given.
Invalid argument: Requires either the file argument (-f) or the URL argument (-u).
Test success: missingFileOrURLArgumentTest
Test starting: missingPillarArgumentTest
Description: Tests the different scenarios, with the pillar argument.
Invalid argument: The pillar argument (-p) must defined for the Replace operation, only single pillar Replaces are allowed
Test success: missingPillarArgumentTest
Test starting: unknownPillarArgumentTest
Step: Testing against a non-existing pillar id
Invalid argument: Random1591167439607pillar is not a valid pillar for collection TwoPillarCollection
The collection contains the following pillars: [Pillar1, Pillar2]
Test success: unknownPillarArgumentTest
Starting testcase ReplaceFileClientComponentTest
Test starting: replaceClientIdentificationTimeout
Description: Tests the handling of a failed identification for the ReplaceClient
Step: Initialise the number of pillars and the DeleteClient. Sets the identification timeout to 100 ms.
Step: Request a file to be replaced on the default pillar.
Stimuli: replaceFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@2f9920dd[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@6fae359c[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@5133b6a0[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)], file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, 10, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@219f91bf[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@6fae359c[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@5133b6a0[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)], org.bitrepository.client.TestEventHandler@47e6c299, null
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForReplaceFileRequest@67aa46d0[correlationID=b0d3d1fa-e606-42f6-a3ae-ee265858a90c, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-ReplaceFileClientComponentTest-cibuild01, from=replaceClientIdentificationTimeout, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=<null>(default)]
Result: Received event: b0d3d1fa: REPLACE_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for replace file
Step: Do not respond. Just await the timeout.
Result: Received event: b0d3d1fa: REPLACE_FILE for file default-test-file.txt: IDENTIFY_TIMEOUT: , Time has run out for looking up contributors
The following contributors didn't respond: [Pillar1]
Result: Received event: b0d3d1fa: REPLACE_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor
Result: Received event: b0d3d1fa: REPLACE_FILE for file default-test-file.txt: FAILED: , Unable to continue operation, contributors unavailable.
08:57:19.863 ERROR o.b.m.r.c.IdentifyPillarsForReplaceFile - Failing conversation 'ReplaceFileConversationContext{collectionID='TwoPillarCollection', conversationID='b0d3d1fa-e606-42f6-a3ae-ee265858a90c', clientID='replaceClientIdentificationTimeout', fileID='default-test-file.txt', contributors=[Pillar1], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='b0d3d1fa', operationType=REPLACE_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@47e6c299, contributorCompleteEvents=[], contributorFailedEvents=[b0d3d1fa: REPLACE_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@77866ab8, checksumPillars=[]}' with exception
org.bitrepository.common.exceptions.UnableToFinishException: Unable to continue operation, contributors unavailable.
at org.bitrepository.client.conversation.IdentifyingState.completeState(IdentifyingState.java:76)
at org.bitrepository.client.conversation.GeneralConversationState.changeState(GeneralConversationState.java:147)
at org.bitrepository.client.conversation.GeneralConversationState.access$100(GeneralConversationState.java:48)
at org.bitrepository.client.conversation.GeneralConversationState$TimeoutHandler.run(GeneralConversationState.java:134)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Test success: replaceClientIdentificationTimeout
Test starting: replaceClientOperationTimeout
Description: Tests the handling of a failed operation for the ReplaceClient
Step: Initialise the number of pillars and the DeleteClient. Sets the operation timeout to 100 ms.
Step: Request a file to be replaced on the default pillar.
Stimuli: replaceFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@41ebc752[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@1c796ce2[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@57bc7fc0[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)], file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, 10, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@231bbbf2[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@1c796ce2[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@57bc7fc0[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)], org.bitrepository.client.TestEventHandler@3cd52994, null
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForReplaceFileRequest@6b9c5c90[correlationID=e20adf0c-76c9-4cbc-8a62-1aecc7c9082d, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-ReplaceFileClientComponentTest-cibuild01, from=replaceClientOperationTimeout, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=<null>(default)]
Result: Received event: e20adf0c: REPLACE_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for replace file
Step: Make response for the pillar.
Result: Received event: e20adf0c: REPLACE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: e20adf0c: REPLACE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: e20adf0c: REPLACE_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for replace file
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.ReplaceFileRequest@34dc8c4f[correlationID=e20adf0c-76c9-4cbc-8a62-1aecc7c9082d, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-ReplaceFileClientComponentTest-cibuild01, from=replaceClientOperationTimeout, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, checksumDataForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@41ebc752[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@1c796ce2[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@57bc7fc0[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)], fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=10, checksumDataForNewFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@231bbbf2[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@1c796ce2[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], checksumRequestForNewFile=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@57bc7fc0[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)]]
Step: Validate the steps of the ReplaceClient by going through the events.
Step: Do not respond. Just await the timeout.
Result: Received event: e20adf0c: REPLACE_FILE for file default-test-file.txt: FAILED: , Failed to receive responses from all contributors before timeout(100ms). Missing contributors [Pillar1]
08:57:20.117 ERROR o.b.m.r.conversation.ReplacingFile - Failing conversation 'ReplaceFileConversationContext{collectionID='TwoPillarCollection', conversationID='e20adf0c-76c9-4cbc-8a62-1aecc7c9082d', clientID='replaceClientOperationTimeout', fileID='default-test-file.txt', contributors=[Pillar1], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='e20adf0c', operationType=REPLACE_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@3cd52994, contributorCompleteEvents=[], contributorFailedEvents=[], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@4f7f2a4, checksumPillars=[]}' with exception
org.bitrepository.common.exceptions.UnableToFinishException: Failed to receive responses from all contributors before timeout(100ms). Missing contributors [Pillar1]
at org.bitrepository.client.conversation.PerformingOperationState.logStateTimeout(PerformingOperationState.java:82)
at org.bitrepository.client.conversation.GeneralConversationState$TimeoutHandler.run(GeneralConversationState.java:133)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Test success: replaceClientOperationTimeout
Test starting: replaceClientPillarFailed
Description: Tests the handling of a operation failure for the ReplaceClient.
Step: Initialise the number of pillars to one
Step: Request a file to be replaced on the default pillar.
Stimuli: replaceFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@3c1f4bf1[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@10f65aa2[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@1183f35c[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)], file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, 0, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@6ab1fc0b[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@10f65aa2[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@1183f35c[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)], org.bitrepository.client.TestEventHandler@2c37626f, null
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForReplaceFileRequest@e360e01[correlationID=4102f146-a44b-453b-87c9-23be5ea2398f, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-ReplaceFileClientComponentTest-cibuild01, from=replaceClientPillarFailed, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=<null>(default)]
Result: Received event: 4102f146: REPLACE_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for replace file
Step: Make response for the pillar.
Result: Received event: 4102f146: REPLACE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 4102f146: REPLACE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 4102f146: REPLACE_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for replace file
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.ReplaceFileRequest@6515f023[correlationID=4102f146-a44b-453b-87c9-23be5ea2398f, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-ReplaceFileClientComponentTest-cibuild01, from=replaceClientPillarFailed, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, checksumDataForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@3c1f4bf1[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@10f65aa2[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@1183f35c[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)], fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@6ab1fc0b[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@10f65aa2[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], checksumRequestForNewFile=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@1183f35c[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)]]
Step: Validate the steps of the ReplaceClient by going through the events.
Step: Send a failed response message to the ReplaceClient.
Result: Received event: 4102f146: REPLACE_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE, Verifying that a failure can be understood!
Result: Received event: 4102f146: REPLACE_FILE for file default-test-file.txt: FAILED: , Failed operation. Cause(s):
[4102f146: REPLACE_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE, Verifying that a failure can be understood!]
Test success: replaceClientPillarFailed
Test starting: replaceClientTester
Description: Tests the ReplaceFileClient. Makes a whole conversation for the replace client for a 'good' scenario.
Step: Initialise the number of pillars to one
Step: Request a file to be replaced on all pillars (which means only the default pillar).
Stimuli: replaceFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@4dc622f6[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@172fac69[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@425e2b8b[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)], file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, 10, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@3819065e[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@172fac69[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@425e2b8b[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)], org.bitrepository.client.TestEventHandler@44344239, null
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForReplaceFileRequest@2e92f232[correlationID=958d58ad-d5ba-4ba1-94e9-9828f4ad4b51, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-ReplaceFileClientComponentTest-cibuild01, from=replaceClientTester, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=<null>(default)]
Result: Received event: 958d58ad: REPLACE_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for replace file
Step: Make response for the pillar.
Result: Received event: 958d58ad: REPLACE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 958d58ad: REPLACE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 958d58ad: REPLACE_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for replace file
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.ReplaceFileRequest@6d785804[correlationID=958d58ad-d5ba-4ba1-94e9-9828f4ad4b51, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-ReplaceFileClientComponentTest-cibuild01, from=replaceClientTester, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, checksumDataForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@4dc622f6[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@172fac69[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@425e2b8b[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)], fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=10, checksumDataForNewFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@3819065e[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@172fac69[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], checksumRequestForNewFile=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@425e2b8b[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)]]
Step: Validate the steps of the ReplaceClient by going through the events.
Step: The pillar sends a progress response to the ReplaceClient.
Result: Received event: 958d58ad: REPLACE_FILE for file default-test-file.txt: PROGRESS: ContributorID Pillar1, First test progress response message
Step: Send a final response message to the ReplaceClient.
Result: Received event: 958d58ad: REPLACE_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, checksum for new file: 'org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@3819065e[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@172fac69[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00]',checksum for replaced file: 'null'
Result: Received event: 958d58ad: REPLACE_FILE for file default-test-file.txt: COMPLETE:
Test success: replaceClientTester
Test starting: saltedReturnChecksumsForNewFileWithChecksumPillar
Description: Tests that the ReplaceClient handles the presence of a ChecksumPillar correctly, when a salted return checksum (which a checksum pillar can't provide) is requested for the new file.
Step: Call replaceFile while requesting a salted checksum to be returned.
Stimuli: replaceFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@7c895f3a[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@14df81b[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], null, file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, 0, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@20595d1[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@14df81b[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@7e22e547[checksumType=MD5, checksumSalt={-86}, otherChecksumType=<null>(default)], org.bitrepository.client.TestEventHandler@48640536, null
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForReplaceFileRequest@2687b101[correlationID=5454d911-7f33-4ec0-8dad-c932dd4c3304, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-ReplaceFileClientComponentTest-cibuild01, from=saltedReturnChecksumsForNewFileWithChecksumPillar, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt, fileSize=<null>(default)]
Result: Received event: 5454d911: REPLACE_FILE for file default-test-file.txt: IDENTIFY_REQUEST_SENT: , Identifying pillars for replace file
Step: Send an identification response with a PillarChecksumSpec element set, indicating that this is a checksum pillar.
Result: Received event: 5454d911: REPLACE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 5454d911: REPLACE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 5454d911: REPLACE_FILE for file default-test-file.txt: REQUEST_SENT: ContributorID [Pillar1], Sending request for replace file
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.ReplaceFileRequest@61e3d787[correlationID=5454d911-7f33-4ec0-8dad-c932dd4c3304, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-ReplaceFileClientComponentTest-cibuild01, from=saltedReturnChecksumsForNewFileWithChecksumPillar, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, checksumDataForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@7c895f3a[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@14df81b[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], checksumRequestForExistingFile=<null>(default), fileAddress=file:../bitrepository-core/src/test/resources/test-files//default-test-file.txt, fileSize=0, checksumDataForNewFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@20595d1[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@14df81b[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={49,50,51,99,104,101,99,107,115,117,109,51,50,49}, calculationTimestamp=1970-01-01T01:00:00.000+01:00], checksumRequestForNewFile=<null>(default)]
Test success: saltedReturnChecksumsForNewFileWithChecksumPillar
Test starting: verifyReplaceFileClientFromFactory
Description: Testing the initialization through the ModifyComponentFactory.
Step: Use the ModifyComponentFactory to instantiate a ReplaceFileClient.
Test success: verifyReplaceFileClientFromFactory
Starting testcase 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: 79941cae: GET_STATUS: IDENTIFY_REQUEST_SENT: , Identifying contributors for getting status
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyContributorsForGetStatusRequest@ce0c2b3[correlationID=79941cae-9bf2-4a95-bc49-46bd10a88cdf, collectionID=<null>(default), destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetStatusClientComponentTest-cibuild01, from=getAllStatuses, to=<null>(default), version=30, minVersion=24, auditTrailInformation=]
Step: Send a identifyResponse from each pillar
Result: Received event: 79941cae: GET_STATUS: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 79941cae: GET_STATUS: COMPONENT_IDENTIFIED: ContributorID Pillar2
Result: Received event: 79941cae: GET_STATUS: IDENTIFICATION_COMPLETE: Contributors: [Pillar2, Pillar1]
Result: Received event: 79941cae: GET_STATUS: REQUEST_SENT: ContributorID [Pillar1, Pillar2], Sending GetStatusRequest
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetStatusRequest@6d81acb[correlationID=79941cae-9bf2-4a95-bc49-46bd10a88cdf, collectionID=<null>(default), destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetStatusClientComponentTest-cibuild01, from=getAllStatuses, to=<null>(default), version=30, minVersion=24, auditTrailInformation=, contributor=Pillar1]
Result: Received message on Pillar2_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetStatusRequest@61b1db7f[correlationID=79941cae-9bf2-4a95-bc49-46bd10a88cdf, collectionID=<null>(default), destination=Pillar2_topic-cibuild01, replyTo=TEST-TOPIC-GetStatusClientComponentTest-cibuild01, from=getAllStatuses, to=<null>(default), version=30, minVersion=24, auditTrailInformation=, contributor=Pillar2]
Step: Send a final response from pillar 1
Result: Received event: 79941cae: GET_STATUS: COMPONENT_COMPLETE: ContributorID Pillar1, resulting status: org.bitrepository.bitrepositoryelements.ResultingStatus@5d93265d[statusInfo=org.bitrepository.bitrepositoryelements.StatusInfo@23631f41[statusCode=OK, statusText=Everythings fine..], statusTimestamp=2020-06-03T08:57:20.650+02:00]
Step: Send a final response from pillar 2
Result: Received event: 79941cae: GET_STATUS: COMPONENT_COMPLETE: ContributorID Pillar2, resulting status: org.bitrepository.bitrepositoryelements.ResultingStatus@517ae14b[statusInfo=org.bitrepository.bitrepositoryelements.StatusInfo@131e79b9[statusCode=OK, statusText=Everythings fine..], statusTimestamp=2020-06-03T08:57:20.652+02:00]
Result: Received event: 79941cae: 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: fe9f72e0: GET_STATUS: IDENTIFY_REQUEST_SENT: , Identifying contributors for getting status
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyContributorsForGetStatusRequest@23e2af42[correlationID=fe9f72e0-d230-4a57-ad7e-b409bfb9cae4, collectionID=<null>(default), destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-GetStatusClientComponentTest-cibuild01, from=incompleteSetOfIdendifyResponses, to=<null>(default), version=30, minVersion=24, auditTrailInformation=]
Step: Send a identifyResponse from pillar 1
Result: Received event: fe9f72e0: GET_STATUS: COMPONENT_IDENTIFIED: ContributorID Pillar1
Step: Wait for timeout event
Result: Received event: fe9f72e0: GET_STATUS: IDENTIFY_TIMEOUT: , Time has run out for looking up contributors
The following contributors didn't respond: [Pillar2]
Result: Received event: fe9f72e0: GET_STATUS: COMPONENT_FAILED: ContributorID Pillar2 ResponseCode: null, Timeout for identifying contributor
Result: Received event: fe9f72e0: GET_STATUS: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: fe9f72e0: GET_STATUS: REQUEST_SENT: ContributorID [Pillar1], Sending GetStatusRequest
Result: Received message on Pillar1_topic-cibuild01 : org.bitrepository.bitrepositorymessages.GetStatusRequest@7e311887[correlationID=fe9f72e0-d230-4a57-ad7e-b409bfb9cae4, collectionID=<null>(default), destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-GetStatusClientComponentTest-cibuild01, from=incompleteSetOfIdendifyResponses, to=<null>(default), version=30, 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@8ca5fdb[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@615b1457[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@54cdbbdc[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)], eventHandler, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@23898a54[correlationID=13764227-433a-4108-a6cc-c978c45a5209, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteClientIdentificationTimeout, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: 13764227: 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: 13764227: 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: 13764227: DELETE_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: null, Timeout for identifying contributor
Result: Received event: 13764227: DELETE_FILE for file default-test-file.txt: FAILED: , Unable to continue operation, contributors unavailable.
08:57:23.030 ERROR o.b.m.d.c.IdentifyPillarsForDeleteFile - Failing conversation 'DeleteFileConversationContext{collectionID='TwoPillarCollection', conversationID='13764227-433a-4108-a6cc-c978c45a5209', clientID='deleteClientIdentificationTimeout', fileID='default-test-file.txt', contributors=[Pillar1], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='13764227', operationType=DELETE_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@7446cd55, contributorCompleteEvents=[], contributorFailedEvents=[13764227: 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@3051bacf, 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@2665c04b[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@2d736089[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@647e2687[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)], eventHandler, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@1ac94794[correlationID=90fb2f1c-3d04-462a-b5c8-293727b1eb31, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteClientOperationTimeout, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: 90fb2f1c: 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: 90fb2f1c: DELETE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 90fb2f1c: DELETE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 90fb2f1c: 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@24e7f6fb[correlationID=90fb2f1c-3d04-462a-b5c8-293727b1eb31, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteClientOperationTimeout, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, checksumDataForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@2665c04b[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@2d736089[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@647e2687[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: 90fb2f1c: DELETE_FILE for file default-test-file.txt: FAILED: , Failed to receive responses from all contributors before timeout(100ms). Missing contributors [Pillar1]
08:57:23.241 ERROR o.b.m.d.conversation.DeletingFile - Failing conversation 'DeleteFileConversationContext{collectionID='TwoPillarCollection', conversationID='90fb2f1c-3d04-462a-b5c8-293727b1eb31', clientID='deleteClientOperationTimeout', fileID='default-test-file.txt', contributors=[Pillar1], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='90fb2f1c', operationType=DELETE_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@b881cb3, contributorCompleteEvents=[], contributorFailedEvents=[], failOnComponentFailure=true}, auditTrailInformation='null', state=org.bitrepository.client.conversation.FinishedState@7d8bc865, 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@59c9bc88[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@68876539[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-06-03T08:57:23.359+02:00], null, eventHandler, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@7b8c32c3[correlationID=95cc335f-c690-4dca-afed-0304b45b8890, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteClientOtherPillarFailedDuringIdentification, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: 95cc335f: 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: 95cc335f: DELETE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 95cc335f: DELETE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 95cc335f: 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@65853853[correlationID=95cc335f-c690-4dca-afed-0304b45b8890, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteClientOtherPillarFailedDuringIdentification, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, checksumDataForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@59c9bc88[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@68876539[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-06-03T08:57:23.359+02:00], checksumRequestForExistingFile=<null>(default)]
Step: Send a final response message from pillar 1 to the DeleteClient.
Result: Received event: 95cc335f: DELETE_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, DeleteFileResult=null
Result: Received event: 95cc335f: 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@79b002d2[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@24049c2d[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@3ca9a3fb[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)], eventHandler, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@657a617f[correlationID=07630395-240d-4102-9386-6e3971a94cbb, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteClientPillarFailedDuringPerform, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: 07630395: 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: 07630395: DELETE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 07630395: DELETE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 07630395: 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@1cc05bcd[correlationID=07630395-240d-4102-9386-6e3971a94cbb, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteClientPillarFailedDuringPerform, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, checksumDataForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@79b002d2[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@24049c2d[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@3ca9a3fb[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: 07630395: DELETE_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: FAILURE, Verifying that a failure can be understood!
Result: Received event: 07630395: DELETE_FILE for file default-test-file.txt: FAILED: , Failed operation. Cause(s):
[07630395: 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@7850c76e[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@422f1031[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-06-03T08:57:24.569+02:00], null, eventHandler, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@83451d9[correlationID=c2c9af8d-6235-407d-88e5-5877c6183dc9, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteClientSpecifiedPillarFailedDuringIdentification, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: c2c9af8d: 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: c2c9af8d: DELETE_FILE for file default-test-file.txt: COMPONENT_FAILED: ContributorID Pillar1 ResponseCode: IDENTIFICATION_NEGATIVE
Result: Received event: c2c9af8d: DELETE_FILE for file default-test-file.txt: FAILED: , Can not continue with delete operation, as Pillar1 is unable to perform the deletion.
08:57:24.571 ERROR o.b.m.d.c.IdentifyPillarsForDeleteFile - Failing conversation 'DeleteFileConversationContext{collectionID='TwoPillarCollection', conversationID='c2c9af8d-6235-407d-88e5-5877c6183dc9', clientID='deleteClientSpecifiedPillarFailedDuringIdentification', fileID='default-test-file.txt', contributors=[Pillar1], monitor=ConversationEventMonitor{, collectionID='TwoPillarCollection', conversationID='c2c9af8d', operationType=DELETE_FILE, fileID='default-test-file.txt', eventHandler=org.bitrepository.client.TestEventHandler@18065201, contributorCompleteEvents=[], contributorFailedEvents=[c2c9af8d: 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@66938dd8, 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:356)
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:86)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:643)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:820)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1128)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)
at org.testng.TestRunner.privateRun(TestRunner.java:782)
at org.testng.TestRunner.run(TestRunner.java:632)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:366)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:361)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:319)
at org.testng.SuiteRunner.run(SuiteRunner.java:268)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1244)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1169)
at org.testng.TestNG.run(TestNG.java:1064)
at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:115)
at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeMulti(TestNGDirectoryTestSuite.java:204)
at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:107)
at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:112)
at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
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@6fcdb669[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@6b4ca166[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@246ba501[checksumType=SHA1, checksumSalt=<null>(default), otherChecksumType=<null>(default)], eventHandler, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@5f45100a[correlationID=f8fbdd54-212b-4d39-b6a5-ab20fa1e99a7, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteClientTester, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: f8fbdd54: 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: f8fbdd54: DELETE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: f8fbdd54: DELETE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: f8fbdd54: 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@53705635[correlationID=f8fbdd54-212b-4d39-b6a5-ab20fa1e99a7, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteClientTester, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, checksumDataForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@6fcdb669[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@6b4ca166[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@246ba501[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: f8fbdd54: 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: f8fbdd54: DELETE_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, DeleteFileResult=null
Result: Received event: f8fbdd54: 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@c6969b2[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@784ae08f[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-06-03T08:57:24.799+02:00], null, eventHandler, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@7804c542[correlationID=a3e15ed4-15bc-4177-8b84-35353ce5c828, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteOnChecksumPillar, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: a3e15ed4: 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: a3e15ed4: DELETE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: a3e15ed4: DELETE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: a3e15ed4: 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@2504a5a1[correlationID=a3e15ed4-15bc-4177-8b84-35353ce5c828, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteOnChecksumPillar, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, checksumDataForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@c6969b2[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@784ae08f[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-06-03T08:57:24.799+02:00], checksumRequestForExistingFile=<null>(default)]
Test success: deleteOnChecksumPillar
Test starting: deleteOnChecksumPillarWithDefaultReturnChecksumType
Description: Verify that the DeleteClient works correctly when a return checksum of the default typeis requested.
Step: Request a file to be deleted on the pillar1. The call should include a request for a check sum of the default type
Stimuli: Calling deleteFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@aa0b5ce[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@38018eab[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-06-03T08:57:26.900+02:00], org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@399feaba[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], eventHandler, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@61579df0[correlationID=1fc8efcd-b0db-42a4-92be-e0249ccf1b9e, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteOnChecksumPillarWithDefaultReturnChecksumType, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: 1fc8efcd: 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: 1fc8efcd: DELETE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 1fc8efcd: DELETE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 1fc8efcd: 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@5a16f566[correlationID=1fc8efcd-b0db-42a4-92be-e0249ccf1b9e, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteOnChecksumPillarWithDefaultReturnChecksumType, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, checksumDataForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@aa0b5ce[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@38018eab[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-06-03T08:57:26.900+02:00], checksumRequestForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@399feaba[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@3e59b12c[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@7949384a[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-06-03T08:57:27.007+02:00], org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@224f5ef4[checksumType=MD5, checksumSalt={-86}, otherChecksumType=<null>(default)], eventHandler, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@3f3134d4[correlationID=09ab6da2-5ccf-4841-8168-80cf3c93406f, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteOnChecksumPillarWithSaltedReturnChecksumType, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: 09ab6da2: 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: 09ab6da2: DELETE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 09ab6da2: DELETE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: [Pillar1]
Result: Received event: 09ab6da2: 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@7c29d87f[correlationID=09ab6da2-5ccf-4841-8168-80cf3c93406f, collectionID=TwoPillarCollection, destination=Pillar1_topic-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=deleteOnChecksumPillarWithSaltedReturnChecksumType, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), pillarID=Pillar1, fileID=default-test-file.txt, checksumDataForExistingFile=org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@3e59b12c[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@7949384a[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-06-03T08:57:27.007+02:00], checksumRequestForExistingFile=<null>(default)]
Test success: deleteOnChecksumPillarWithSaltedReturnChecksumType
Test starting: fileAlreadyDeletedFromPillar
Description: Test that a delete on a pillar completes successfully when the file is missing (has already been deleted). This is a test of the Idempotent behaviour of the delete client
Step: Request a file to be deleted on pillar1.
Stimuli: Calling deleteFile(default-test-file.txt, Pillar1, org.bitrepository.bitrepositoryelements.ChecksumDataForFileTYPE@5a05332e[checksumSpec=org.bitrepository.bitrepositoryelements.ChecksumSpecTYPE@156531f1[checksumType=MD5, checksumSalt=<null>(default), otherChecksumType=<null>(default)], checksumValue={-108,10,81,-78,80,-25,-86,-126,-40,-24,-22,49,33,127,-14,103}, calculationTimestamp=2020-06-03T08:57:27.174+02:00], null, eventHandler, null)
Result: Received message on TEST-TOPIC-cibuild01 : org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest@2ed7296f[correlationID=2837c206-a418-4055-8b8c-7d2fdebf2e7c, collectionID=TwoPillarCollection, destination=TEST-TOPIC-cibuild01, replyTo=TEST-TOPIC-DeleteFileClientComponentTest-cibuild01, from=fileAlreadyDeletedFromPillar, to=Pillar1, version=30, minVersion=24, auditTrailInformation=<null>(default), fileID=default-test-file.txt]
Result: Received event: 2837c206: 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: 2837c206: DELETE_FILE for file default-test-file.txt: COMPONENT_IDENTIFIED: ContributorID Pillar1
Result: Received event: 2837c206: DELETE_FILE for file default-test-file.txt: COMPONENT_COMPLETE: ContributorID Pillar1, DeleteFileResult=null
Result: Received event: 2837c206: DELETE_FILE for file default-test-file.txt: IDENTIFICATION_COMPLETE: Contributors: []
Result: Received event: 2837c206: 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
Finished testcase
Finished suite
Finished project
Tests run: 156, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 57.785 sec - in TestSuite
Results :
Tests run: 156, Failures: 0, Errors: 0, Skipped: 0
[JENKINS] Recording test results
[INFO]
[INFO] --- jacoco-maven-plugin:0.7.5.201505241946:report (report) @ bitrepository-client ---
[INFO] Analyzed bundle 'Bitrepository Client' with 116 classes
[INFO]
[INFO] --- maven-jar-plugin:2.4: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:2.4: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:2.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:2.4: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:2.5.1: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:2.8.1: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 54.3 KB/sec)
[INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200603.065732-37.jar
[INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200603.065732-37.jar (191 KB at 5446.3 KB/sec)
[INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200603.065732-37.pom
[INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200603.065732-37.pom (2 KB at 75.0 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 74.3 KB/sec)
[INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/maven-metadata.xml
[INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/maven-metadata.xml (484 B at 33.8 KB/sec)
[INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200603.065732-37-tests.jar
[INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200603.065732-37-tests.jar (114 KB at 5422.9 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 100.8 KB/sec)
[INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200603.065732-37-sources.jar
[INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200603.065732-37-sources.jar (196 KB at 5287.1 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 70.6 KB/sec)
[INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200603.065732-37-distribution.tar.gz
[INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/bitrepository-client-1.10-20200603.065732-37-distribution.tar.gz (7826 KB at 29642.9 KB/sec)
[INFO] Uploading: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/maven-metadata.xml
[INFO] Uploaded: https://sbforge.org/nexus/content/repositories/snapshots/org/bitrepository/reference/bitrepository-client/1.10-SNAPSHOT/maven-metadata.xml (2 KB at 94.1 KB/sec)
[JENKINS] Archiving disabled