use of org.eclipse.che.api.factory.server.urlfactory.URLFactoryBuilder in project che-server by eclipse-che.
the class DefaultFactoryParameterResolverTest method shouldResolveRelativeFiles.
@Test
public void shouldResolveRelativeFiles() throws Exception {
// given
// we need to set up an "almost real" devfile converter which is a little bit involved
DevfileSchemaValidator validator = new DevfileSchemaValidator(new DevfileSchemaProvider(), new DevfileVersionDetector());
Map<String, ComponentIntegrityValidator> validators = new HashMap<>();
validators.put(EDITOR_COMPONENT_TYPE, new NoopComponentIntegrityValidator());
validators.put(PLUGIN_COMPONENT_TYPE, new NoopComponentIntegrityValidator());
validators.put(KUBERNETES_COMPONENT_TYPE, new NoopComponentIntegrityValidator());
validators.put(OPENSHIFT_COMPONENT_TYPE, new NoopComponentIntegrityValidator());
DevfileIntegrityValidator integrityValidator = new DevfileIntegrityValidator(validators);
DevfileParser devfileParser = new DevfileParser(validator, integrityValidator);
URLFactoryBuilder factoryBuilder = new URLFactoryBuilder("editor", "plugin", false, devfileParser, new DevfileVersionDetector());
DefaultFactoryParameterResolver res = new DefaultFactoryParameterResolver(factoryBuilder, urlFetcher);
// set up our factory with the location of our devfile that is referencing our localfile
Map<String, String> factoryParameters = new HashMap<>();
factoryParameters.put(URL_PARAMETER_NAME, "http://myloc.com/aa/bb/devfile");
doReturn(DEVFILE).when(urlFetcher).fetch(eq("http://myloc.com/aa/bb/devfile"));
doReturn("localfile").when(urlFetcher).fetch("http://myloc.com/aa/localfile");
// when
res.createFactory(factoryParameters);
// then
verify(urlFetcher).fetch(eq("http://myloc.com/aa/localfile"));
}
Aggregations