ACS-3476 disable checkSourceSize check. Was in t-service master branch merge, but the code has moved project.

This commit is contained in:
alandavis
2022-09-09 13:16:31 +01:00
parent e5ebfec60a
commit b6ebb98ee5
3 changed files with 72 additions and 11 deletions

View File

@@ -360,15 +360,19 @@ public class TransformRegistry extends AbstractTransformRegistry
public boolean checkSourceSize(String transformerName, String sourceMediaType, Long sourceSize, String targetMediaType)
{
return Optional.ofNullable(getTransformer(transformerName)).
map(transformer -> transformer.getSupportedSourceAndTargetList().stream().
filter(supported -> supported.getSourceMediaType().equals(sourceMediaType) &&
supported.getTargetMediaType().equals(targetMediaType)).
findFirst().
map(supported -> supported.getMaxSourceSizeBytes() == -1 ||
supported.getMaxSourceSizeBytes() >= sourceSize).
orElse(false)).
orElse(false);
//TODO issue mentioned in ACS-3476,
//commenting out changes to code due to issues with libreoffice blocking a release
return true;
// return Optional.ofNullable(getTransformer(transformerName)).
// map(transformer -> transformer.getSupportedSourceAndTargetList().stream().
// filter(supported -> supported.getSourceMediaType().equals(sourceMediaType) &&
// supported.getTargetMediaType().equals(targetMediaType)).
// findFirst().
// map(supported -> supported.getMaxSourceSizeBytes() == -1 ||
// supported.getMaxSourceSizeBytes() >= sourceSize).
// orElse(false)).
// orElse(false);
}
public String getEngineName(String transformerName)

View File

@@ -27,18 +27,24 @@
package org.alfresco.transform.base.fakes;
import org.alfresco.transform.base.TransformEngine;
import org.alfresco.transform.base.probes.ProbeTransform;
import org.springframework.boot.test.context.TestComponent;
/**
* Subclass MUST be named FakeTransformEngineWith\<something>.
* Subclass MUST be named FakeTransformEngineWith\<something> otherwise the engine name will be "undefined".
*/
@TestComponent
public abstract class AbstractFakeTransformEngine implements TransformEngine
{
private static final String FAKE_TRANSFORM_ENGINE_WITH = "FakeTransformEngineWith";
@Override public String getTransformEngineName()
{
String simpleClassName = getClass().getSimpleName();
return "0000 "+simpleClassName.substring("FakeTransformEngineWith".length());
return simpleClassName.startsWith(FAKE_TRANSFORM_ENGINE_WITH)
? "0000 "+simpleClassName.substring(FAKE_TRANSFORM_ENGINE_WITH.length())
: "undefined";
}
@Override public String getStartupMessage()
@@ -47,4 +53,10 @@ public abstract class AbstractFakeTransformEngine implements TransformEngine
"\nLine 2 "+getTransformEngineName()+
"\nLine 3";
}
@Override
public ProbeTransform getProbeTransform()
{
return null;
}
}

View File

@@ -28,9 +28,12 @@ package org.alfresco.transform.base.registry;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import org.alfresco.transform.base.fakes.AbstractFakeTransformEngine;
import org.alfresco.transform.base.fakes.FakeTransformEngineWithAllInOne;
import org.alfresco.transform.base.fakes.FakeTransformEngineWithOneCustomTransformer;
import org.alfresco.transform.base.fakes.FakeTransformEngineWithTwoCustomTransformers;
import org.alfresco.transform.config.SupportedSourceAndTarget;
import org.alfresco.transform.config.TransformConfig;
import org.alfresco.transform.config.Transformer;
import org.junit.jupiter.api.AfterEach;
@@ -44,9 +47,13 @@ import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
import static org.alfresco.transform.common.Mimetype.MIMETYPE_EXCEL;
import static org.alfresco.transform.common.Mimetype.MIMETYPE_PDF;
import static org.alfresco.transform.common.Mimetype.MIMETYPE_WORD;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.Mockito.doReturn;
@AutoConfigureMockMvc
@SpringBootTest(classes={org.alfresco.transform.base.Application.class})
@@ -227,4 +234,42 @@ public class TransformRegistryTest
assertTrue(transformRegistry.isReadyForTransformRequests());
}
@Test
public void testCheckSourceSize()
{
ReflectionTestUtils.setField(transformConfigFromTransformEngines, "transformEngines", ImmutableList.of(
new AbstractFakeTransformEngine()
{
@Override public TransformConfig getTransformConfig()
{
return TransformConfig.builder()
.withTransformers(ImmutableList.of(
Transformer.builder()
.withTransformerName("transformerName")
.withSupportedSourceAndTargetList(ImmutableSet.of(
SupportedSourceAndTarget.builder()
.withSourceMediaType(MIMETYPE_WORD)
.withTargetMediaType(MIMETYPE_PDF)
.build(),
SupportedSourceAndTarget.builder()
.withSourceMediaType(MIMETYPE_EXCEL)
.withTargetMediaType(MIMETYPE_PDF)
.withMaxSourceSizeBytes(12345L)
.build()))
.build()))
.build();
}
}));
transformConfigFromTransformEngines.initTransformEngineConfig();
transformRegistry.retrieveConfig();
assertTrue( transformRegistry.checkSourceSize("transformerName", MIMETYPE_WORD, Long.MAX_VALUE, MIMETYPE_PDF));
assertTrue( transformRegistry.checkSourceSize("transformerName", MIMETYPE_EXCEL, 12345L, MIMETYPE_PDF));
//TODO issue mentioned in ACS-3476,
//commenting out changes to code due to issues with libreoffice blocking a release
// assertFalse(transformRegistry.checkSourceSize("transformerName", MIMETYPE_EXCEL, 12346L, MIMETYPE_PDF));
// assertFalse(transformRegistry.checkSourceSize("transformerName", "doesNotExist", 12345L, MIMETYPE_PDF));
// assertFalse(transformRegistry.checkSourceSize("doesNotExist", MIMETYPE_WORD, 12345L, MIMETYPE_PDF));
}
}