use of org.folio.rest.impl.ModTenantAPI.LOAD_SAMPLE_PARAMETER in project mod-source-record-storage by folio-org.
the class AbstractRestVerticleTest method setUpClass.
@BeforeClass
public static void setUpClass(final TestContext context) throws Exception {
Async async = context.async();
vertx = Vertx.vertx();
String[] hostAndPort = cluster.getBrokerList().split(":");
System.setProperty(KAFKA_HOST, hostAndPort[0]);
System.setProperty(KAFKA_PORT, hostAndPort[1]);
System.setProperty(OKAPI_URL_ENV, OKAPI_URL);
okapiPort = NetworkUtils.nextFreePort();
String okapiUrl = "http://localhost:" + okapiPort;
useExternalDatabase = System.getProperty("org.folio.source.storage.test.database", "embedded");
RestAssured.config = RestAssuredConfig.config().objectMapperConfig(new ObjectMapperConfig().jackson2ObjectMapperFactory(new Jackson2ObjectMapperFactory() {
@Override
public ObjectMapper create(Type arg0, String arg1) {
ObjectMapper objectMapper = new ObjectMapper();
return objectMapper;
}
}));
switch(useExternalDatabase) {
case "environment":
System.out.println("Using environment settings");
break;
case "external":
String postgresConfigPath = System.getProperty("org.folio.source.storage.test.config", "/postgres-conf-local.json");
PostgresClientFactory.setConfigFilePath(postgresConfigPath);
break;
case "embedded":
postgresSQLContainer = new PostgreSQLContainer<>(POSTGRES_IMAGE);
postgresSQLContainer.start();
Envs.setEnv(postgresSQLContainer.getHost(), postgresSQLContainer.getFirstMappedPort(), postgresSQLContainer.getUsername(), postgresSQLContainer.getPassword(), postgresSQLContainer.getDatabaseName());
break;
default:
String message = "No understood database choice made." + "Please set org.folio.source.storage.test.database" + "to 'external', 'environment' or 'embedded'";
throw new Exception(message);
}
TenantClient tenantClient = new TenantClient(okapiUrl, "diku", "dummy-token");
DeploymentOptions restVerticleDeploymentOptions = new DeploymentOptions().setConfig(new JsonObject().put("http.port", okapiPort));
vertx.deployVerticle(RestVerticle.class.getName(), restVerticleDeploymentOptions, res -> {
try {
TenantAttributes tenantAttributes = new TenantAttributes();
tenantAttributes.setModuleTo(ModuleName.getModuleName());
tenantAttributes.setParameters(Collections.singletonList(new Parameter().withKey(LOAD_SAMPLE_PARAMETER).withValue("true")));
tenantClient.postTenant(tenantAttributes, res2 -> {
if (res2.result().statusCode() == 204) {
return;
}
if (res2.result().statusCode() == 201) {
tenantClient.getTenantByOperationId(res2.result().bodyAsJson(TenantJob.class).getId(), 60000, context.asyncAssertSuccess(res3 -> {
context.assertTrue(res3.bodyAsJson(TenantJob.class).getComplete());
String error = res3.bodyAsJson(TenantJob.class).getError();
if (error != null) {
context.assertTrue(error.contains("EventDescriptor was not registered for eventType"));
}
}));
} else {
context.assertEquals("Failed to make post tenant. Received status code 400", res2.result().bodyAsString());
}
async.complete();
});
} catch (Exception e) {
e.printStackTrace();
async.complete();
}
});
}
Aggregations