Simplify the Raw devfile filename check

Signed-off-by: Igor Vinokur <ivinokur@redhat.com>
pull/548/head
Igor Vinokur 2023-08-21 16:15:21 +03:00
parent f5a70d0f9a
commit a358be7bdf
2 changed files with 14 additions and 20 deletions

View File

@ -32,7 +32,6 @@ import javax.inject.Singleton;
import org.eclipse.che.api.core.ApiException;
import org.eclipse.che.api.core.BadRequestException;
import org.eclipse.che.api.factory.server.urlfactory.DefaultFactoryUrl;
import org.eclipse.che.api.factory.server.urlfactory.DevfileFilenamesProvider;
import org.eclipse.che.api.factory.server.urlfactory.RemoteFactoryUrl;
import org.eclipse.che.api.factory.server.urlfactory.URLFactoryBuilder;
import org.eclipse.che.api.factory.shared.dto.FactoryMetaDto;
@ -52,7 +51,6 @@ public class RawDevfileUrlFactoryParameterResolver implements FactoryParametersR
protected final URLFactoryBuilder urlFactoryBuilder;
protected final URLFetcher urlFetcher;
@Inject private DevfileFilenamesProvider devfileFilenamesProvider;
@Inject
public RawDevfileUrlFactoryParameterResolver(
@ -71,9 +69,7 @@ public class RawDevfileUrlFactoryParameterResolver implements FactoryParametersR
@Override
public boolean accept(Map<String, String> factoryParameters) {
String url = factoryParameters.get(URL_PARAMETER_NAME);
return !isNullOrEmpty(url)
&& devfileFilenamesProvider.getConfiguredDevfileFilenames().stream()
.anyMatch(url::endsWith);
return !isNullOrEmpty(url) && url.endsWith(".yaml");
}
/**

View File

@ -28,12 +28,10 @@ import static org.testng.Assert.fail;
import static org.testng.AssertJUnit.assertEquals;
import static org.testng.AssertJUnit.assertTrue;
import java.lang.reflect.Field;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.che.api.core.BadRequestException;
import org.eclipse.che.api.factory.server.urlfactory.DevfileFilenamesProvider;
import org.eclipse.che.api.factory.server.urlfactory.RemoteFactoryUrl;
import org.eclipse.che.api.factory.server.urlfactory.URLFactoryBuilder;
import org.eclipse.che.api.workspace.server.devfile.DevfileParser;
@ -67,8 +65,6 @@ public class RawDevfileUrlFactoryParameterResolverTest {
+ " reference: ../localfile\n";
@Mock private URLFetcher urlFetcher;
private final DevfileFilenamesProvider devfileFilenamesProvider =
new DevfileFilenamesProvider("devfile.yaml, .devfile.yaml");
@InjectMocks private RawDevfileUrlFactoryParameterResolver rawDevfileUrlFactoryParameterResolver;
@ -167,16 +163,7 @@ public class RawDevfileUrlFactoryParameterResolverTest {
}
@Test(dataProvider = "devfileNames")
public void shouldAcceptRawDevfileUrl(String devfileName)
throws NoSuchFieldException, IllegalAccessException {
// given
Field field =
rawDevfileUrlFactoryParameterResolver
.getClass()
.getDeclaredField("devfileFilenamesProvider");
field.setAccessible(true);
field.set(rawDevfileUrlFactoryParameterResolver, devfileFilenamesProvider);
public void shouldAcceptRawDevfileUrl(String devfileName) {
// when
boolean result =
rawDevfileUrlFactoryParameterResolver.accept(
@ -186,6 +173,17 @@ public class RawDevfileUrlFactoryParameterResolverTest {
assertTrue(result);
}
@Test
public void shouldNotAcceptRawDevfileUrl() {
// when
boolean result =
rawDevfileUrlFactoryParameterResolver.accept(
Collections.singletonMap(URL_PARAMETER_NAME, "https://host/user/repo.git"));
// then
assertFalse(result);
}
@DataProvider(name = "invalidURLsProvider")
private Object[][] invalidUrlsProvider() {
return new Object[][] {
@ -200,6 +198,6 @@ public class RawDevfileUrlFactoryParameterResolverTest {
@DataProvider(name = "devfileNames")
private Object[] devfileNames() {
return new String[] {"devfile.yaml", ".devfile.yaml"};
return new String[] {"devfile.yaml", ".devfile.yaml", "any-name.yaml"};
}
}