@Test
    void testAppendStream() throws IOException {
        final String testString1 = FileSystemTestUtil.getUniqueTestString();
        final String testString2 = FileSystemTestUtil.getUniqueTestString();
        final String testString3 = FileSystemTestUtil.getUniqueTestString();
        final String testString4 = FileSystemTestUtil.getUniqueTestString();
        final String testString5 = FileSystemTestUtil.getUniqueTestString();
        final String testString6 = FileSystemTestUtil.getUniqueTestString();

        final MetaProperties metaProperties = MetaProperties.builder()
                .feedName(FEED1)
                .typeName(StreamTypeNames.RAW_EVENTS)
                .build();

        Meta meta;
        try (final Target streamTarget = streamStore.openTarget(metaProperties)) {
            meta = streamTarget.getMeta();
            TargetUtil.write(streamTarget, "xyz");
            streamTarget.getAttributes().put(testString1, testString2);
            streamTarget.getAttributes().put(MetaFields.REC_READ.getFldName(), "100");
        }

        final DataVolume dataVolume = dataVolumeService.findDataVolume(meta.getId());
//        final Path volumePath = Paths.get(dataVolume.getVolumePath());
//        final Path rootFile = pathHelper.getRootPath(volumePath, meta, StreamTypeNames.RAW_EVENTS);
//
//        assertThat(Files.isRegularFile(rootFile)).isTrue();
//
//        try (final Source streamSource = streamStore.openSource(meta.getId())) {
//            meta = streamSource.getMeta();
//            assertThat(streamSource.getAttributes().get(testString1)).isEqualTo(testString2);
//        }
//
//        final Path manifestFile = pathHelper.getChildPath(rootFile, InternalStreamTypeNames.MANIFEST);
//
//        assertThat(Files.isRegularFile(manifestFile)).isTrue();
//
//        try (final Target streamTarget = streamStore.openExistingTarget(meta)) {
//            meta = streamTarget.getMeta();
//            streamTarget.getAttributes().put(testString3, testString4);
//        }
//
//        try (final Source streamSource = streamStore.openSource(meta.getId())) {
//            meta = streamSource.getMeta();
//            assertThat(streamSource.getAttributes().get(testString1)).isEqualTo(testString2);
//            assertThat(streamSource.getAttributes().get(testString3)).isEqualTo(testString4);
//        }
//
//        assertThat(FileSystemUtil.deleteAnyPath(manifestFile)).isTrue();
////        for (final StreamAttributeValue value : streamAttributeValueService
////                .find(FindStreamAttributeValueCriteria.create(stream))) {
////            assertThat(streamAttributeValueService.delete(value)).isTrue();
////        }
//
//        try (final Target streamTarget = streamStore.openExistingTarget(meta)) {
//            meta = streamTarget.getMeta();
//            streamTarget.getAttributes().put(testString5, testString6);
//            assertThat(streamTarget.getAttributes().get(testString3)).isNull();
//        }
//
//        try (final Source streamSource = streamStore.openSource(meta.getId())) {
//            meta = streamSource.getMeta();
//            assertThat(streamSource.getAttributes().get(testString5)).isEqualTo(testString6);
//            assertThat(streamSource.getAttributes().get(testString3)).isNull();
//        }
    }
Check that the list of stream contains the items we expect.

@param list
@param expected
stroom-app/src/test/java/stroom/data/store/impl/fs/TestS3StreamStore.java