use of com.spotify.apollo.Environment in project zoltar by spotify.
the class ServiceRunner method configure.
static void configure(final Environment environment) {
final Config config = environment.config();
final URI modelPath = URI.create(config.getString("iris.model"));
final URI settingsPath = URI.create(config.getString("iris.settings"));
try {
IrisPrediction.configure(modelPath, settingsPath);
} catch (final IOException e) {
throw new RuntimeException(String.format("Could not load model! Model path: `%s`, settings path `%s`.", modelPath, settingsPath));
}
final EndPoints endPoints = new EndPoints();
environment.routingEngine().registerRoutes(endPoints.routes().map(r -> r.withPrefix("/predict")));
}
use of com.spotify.apollo.Environment in project apollo by spotify.
the class EnvironmentFactoryTest method shouldResolveThroughResolver.
@Test
public void shouldResolveThroughResolver() throws Exception {
when(resolver.resolve(String.class)).thenReturn("hello world");
final Environment environment = sut.build().create(SERVICE_NAME, routingContext);
final String resolve = environment.resolve(String.class);
assertEquals("hello world", resolve);
}
use of com.spotify.apollo.Environment in project apollo by spotify.
the class EnvironmentFactoryTest method shouldThrowIfUsedAfterInit.
@Test
public void shouldThrowIfUsedAfterInit() throws Exception {
final EnvironmentFactory factory = sut.build();
final RoutingContext routingContext = factory.createRoutingContext();
final Environment environment = factory.create(SERVICE_NAME, routingContext);
final Route<AsyncHandler<Response<ByteString>>> route = Route.sync("GET", "/f1", handler());
environment.routingEngine().registerRoute(route);
final Iterable<Object> objects = routingContext.endpointObjects();
assertTrue(Iterables.contains(objects, route));
try {
environment.routingEngine().registerRoute(route);
fail("should throw");
} catch (Exception e) {
assertThat(e.getMessage(), containsString("already been initialized"));
}
}
use of com.spotify.apollo.Environment in project apollo by spotify.
the class EnvironmentFactoryTest method shouldCollectRegisteredRoutes.
@Test
public void shouldCollectRegisteredRoutes() throws Exception {
final EnvironmentFactory factory = sut.build();
final RoutingContext routingContext = factory.createRoutingContext();
final Environment environment = factory.create(SERVICE_NAME, routingContext);
final Route<AsyncHandler<Response<ByteString>>> route1 = Route.sync("GET", "/f1", handler());
final Route<AsyncHandler<Response<ByteString>>> route2 = Route.sync("GET", "/2", handler());
final Route<AsyncHandler<Response<ByteString>>> route3 = Route.sync("GET", "/3", handler());
environment.routingEngine().registerRoute(route1).registerRoute(route2);
environment.routingEngine().registerRoute(route3);
final Iterable<Object> objects = routingContext.endpointObjects();
assertTrue(Iterables.contains(objects, route1));
assertTrue(Iterables.contains(objects, route2));
assertTrue(Iterables.contains(objects, route3));
}
use of com.spotify.apollo.Environment in project apollo by spotify.
the class ApolloEnvironmentModuleTest method shouldGetFunctioningEnvironment.
@Test
public void shouldGetFunctioningEnvironment() throws Exception {
final AtomicReference<Environment> envReference = new AtomicReference<>();
try (Service.Instance i = service.build().start()) {
final ApolloEnvironment environment = ApolloEnvironmentModule.environment(i);
final RequestHandler handler = environment.initialize(new EnvApp(envReference::set));
assertNotNull(handler);
final Environment e = envReference.get();
validateEnv(e);
} catch (IOException e) {
fail(e.getMessage());
}
}
Aggregations