From ca363e0d79aa218bbe14dad72fa506ec8967daa9 Mon Sep 17 00:00:00 2001 From: Paulo Lobo Date: Wed, 1 Aug 2018 23:15:51 -0300 Subject: [PATCH] For #1232: Implement heapdump tests. --- .../stk/internal/update_heapdump.groovy | 12 ++---------- .../bundles/update_heapdump/_after.groovy | 17 ++++++++++------- .../bundles/update_heapdump/_before.groovy | 6 ++---- 3 files changed, 14 insertions(+), 21 deletions(-) diff --git a/src/main/groovy/com/zerocracy/stk/internal/update_heapdump.groovy b/src/main/groovy/com/zerocracy/stk/internal/update_heapdump.groovy index 96eea1f84..02eb13bee 100644 --- a/src/main/groovy/com/zerocracy/stk/internal/update_heapdump.groovy +++ b/src/main/groovy/com/zerocracy/stk/internal/update_heapdump.groovy @@ -17,7 +17,6 @@ package com.zerocracy.stk.internal import com.jcabi.log.Logger -import com.jcabi.s3.Bucket import com.jcabi.s3.fake.FkBucket import com.jcabi.xml.XML import com.zerocracy.Farm @@ -26,21 +25,14 @@ import com.zerocracy.entry.ExtBucket import com.zerocracy.entry.HeapDump import com.zerocracy.farm.Assume import com.zerocracy.farm.props.Props - -import java.nio.file.Path import java.nio.file.Paths def exec(Project project, XML xml) { - /** - * @todo #766:30min Add a unit test for this stakeholder using fake S3 storage. - * Maybe you will need to modify the stakeholder itself so that is - * allows using fake S3 storage. - */ new Assume(project, xml).isPmo() new Assume(project, xml).type('Ping hourly') Farm farm = binding.variables.farm if (new Props(farm).has('//testing')) { - Logger.debug(this, 'Saving test heap') + Logger.info(this, 'Saving test heap') new HeapDump( new FkBucket( 'target/testing-bundles/update_heapdump/bucket', @@ -48,7 +40,7 @@ def exec(Project project, XML xml) { ), '', Paths.get('target/testing-bundles/update_heapdump/'), - 'dump' + 'heap' ).save() } else { try { diff --git a/src/test/resources/com/zerocracy/bundles/update_heapdump/_after.groovy b/src/test/resources/com/zerocracy/bundles/update_heapdump/_after.groovy index 9f951fe17..d2930ef40 100644 --- a/src/test/resources/com/zerocracy/bundles/update_heapdump/_after.groovy +++ b/src/test/resources/com/zerocracy/bundles/update_heapdump/_after.groovy @@ -16,19 +16,22 @@ */ package com.zerocracy.bundles.update_heapdump -import com.jcabi.s3.Bucket +import com.jcabi.s3.Ocket import com.jcabi.s3.fake.FkBucket import com.jcabi.xml.XML -import com.zerocracy.Farm import com.zerocracy.Project -import com.zerocracy.entry.HeapDump -import com.zerocracy.pmo.Catalog import org.hamcrest.MatcherAssert -import org.hamcrest.Matchers +import org.hamcrest.core.IsEqual def exec(Project project, XML xml) { - Bucket bucket = new FkBucket( + MatcherAssert.assertThat( + 'Dumped wrong value to bucket', + new Ocket.Text( + new FkBucket( 'target/testing-bundles/update_heapdump/bucket', 'dumpbucket' - ).list('') + ).ocket('heap') + ).read(), + new IsEqual<>('This is a heap file for testing purposes') + ) } \ No newline at end of file diff --git a/src/test/resources/com/zerocracy/bundles/update_heapdump/_before.groovy b/src/test/resources/com/zerocracy/bundles/update_heapdump/_before.groovy index 16b56ea0a..209b149b5 100644 --- a/src/test/resources/com/zerocracy/bundles/update_heapdump/_before.groovy +++ b/src/test/resources/com/zerocracy/bundles/update_heapdump/_before.groovy @@ -17,7 +17,6 @@ package com.zerocracy.bundles.update_heapdump import com.jcabi.xml.XML -import com.zerocracy.Farm import com.zerocracy.Project import java.nio.file.Files import java.nio.file.Paths @@ -25,11 +24,10 @@ import org.cactoos.io.LengthOf import org.cactoos.io.TeeInput def exec(Project project, XML xml) { - Farm farm = binding.variables.farm new LengthOf( new TeeInput( - "This is a dump file for testing purposes", - Files.createFile(Paths.get('target/testing-bundles/update_heapdump/dump')) + 'This is a heap file for testing purposes', + Files.createFile(Paths.get('target/testing-bundles/update_heapdump/heap')) ) ).intValue() }