use of com.datastax.oss.simulacron.common.cluster.RequestPrime in project dsbulk by datastax.
the class JsonEndToEndSimulacronIT method full_load_multiple_urls.
@ParameterizedTest
@MethodSource("multipleUrlsProvider")
void full_load_multiple_urls(Path urlfile) {
primeIpByCountryTable(simulacron);
RequestPrime insert = createSimpleParameterizedQuery(INSERT_INTO_IP_BY_COUNTRY);
simulacron.prime(new Prime(insert));
String[] args = { "load", "-c", "json", "--connector.json.urlfile", StringUtils.quoteJson(urlfile.toAbsolutePath()), "--schema.keyspace", "ks1", "--schema.query", INSERT_INTO_IP_BY_COUNTRY, "--schema.mapping", IP_BY_COUNTRY_MAPPING_NAMED };
ExitStatus status = new DataStaxBulkLoader(addCommonSettings(args)).run();
assertStatus(status, STATUS_OK);
assertThat(logs.getAllMessagesAsString()).contains("Records: total: 24, successful: 24, failed: 0").contains("Batches: total: 24, size: 1.00 mean, 1 min, 1 max").contains("Writes: total: 24, successful: 24, failed: 0");
validateQueryCount(simulacron, 24, "INSERT INTO ip_by_country", LOCAL_ONE);
}
use of com.datastax.oss.simulacron.common.cluster.RequestPrime in project dsbulk by datastax.
the class EndToEndUtils method createSimpleParameterizedQuery.
public static RequestPrime createSimpleParameterizedQuery(String query) {
LinkedHashMap<String, String> paramTypes = new LinkedHashMap<>();
paramTypes.put("country_code", "varchar");
paramTypes.put("country_name", "varchar");
paramTypes.put("beginning_ip_address", "inet");
paramTypes.put("ending_ip_address", "inet");
paramTypes.put("beginning_ip_number", "bigint");
paramTypes.put("ending_ip_number", "bigint");
Query when = new Query(query, Collections.emptyList(), new LinkedHashMap<>(), paramTypes);
SuccessResult then = new SuccessResult(new ArrayList<>(), new LinkedHashMap<>());
return new RequestPrime(when, then);
}
use of com.datastax.oss.simulacron.common.cluster.RequestPrime in project dsbulk by datastax.
the class EndToEndUtils method createQueryWithResultSetWithQuotes.
public static RequestPrime createQueryWithResultSetWithQuotes(String query, int numOfResults) {
Query when = new Query(query);
LinkedHashMap<String, String> columnTypes = new LinkedHashMap<>();
columnTypes.put("country_code", "varchar");
columnTypes.put("country_name", "varchar");
columnTypes.put("beginning_ip_address", "inet");
columnTypes.put("ending_ip_address", "inet");
columnTypes.put("beginning_ip_number", "bigint");
columnTypes.put("ending_ip_number", "bigint");
List<LinkedHashMap<String, Object>> rows = new ArrayList<>();
for (int i = 0; i < numOfResults; i++) {
LinkedHashMap<String, Object> row = new LinkedHashMap<>();
row.put("country_code", "country" + ";" + i);
row.put("country_name", "country" + ";" + i);
row.put("beginning_ip_address", "127.0.0." + i);
row.put("ending_ip_address", "127.2.0." + i);
row.put("beginning_ip_number", Integer.toString(i));
row.put("ending_ip_number", Integer.toString(i));
rows.add(row);
}
SuccessResult then = new SuccessResult(rows, columnTypes);
return new RequestPrime(when, then);
}
use of com.datastax.oss.simulacron.common.cluster.RequestPrime in project dsbulk by datastax.
the class JsonEndToEndSimulacronIT method validate_stdout.
@Test
void validate_stdout() {
primeIpByCountryTable(simulacron);
RequestPrime prime = createQueryWithResultSet(SELECT_FROM_IP_BY_COUNTRY, 24);
simulacron.prime(new Prime(prime));
String[] args = { "unload", "-c", "json", "--connector.json.url", "-", "--schema.keyspace", "ks1", "--schema.query", SELECT_FROM_IP_BY_COUNTRY, "--schema.mapping", IP_BY_COUNTRY_MAPPING_NAMED };
ExitStatus status = new DataStaxBulkLoader(addCommonSettings(args)).run();
assertStatus(status, STATUS_OK);
validateQueryCount(simulacron, 1, SELECT_FROM_IP_BY_COUNTRY, LOCAL_ONE);
assertThat(stdOut.getStreamLines().size()).isEqualTo(24);
}
use of com.datastax.oss.simulacron.common.cluster.RequestPrime in project dsbulk by datastax.
the class JsonEndToEndSimulacronIT method skip_test_load.
@Test
void skip_test_load() throws Exception {
primeIpByCountryTable(simulacron);
RequestPrime insert = createSimpleParameterizedQuery(INSERT_INTO_IP_BY_COUNTRY);
simulacron.prime(new Prime(insert));
String[] args = { "load", "-c", "json", "--connector.json.url", StringUtils.quoteJson(JsonUtils.JSON_RECORDS_SKIP), "--connector.json.skipRecords", "3", "--connector.json.maxRecords", "24", "--schema.keyspace", "ks1", "--schema.query", INSERT_INTO_IP_BY_COUNTRY, "--schema.mapping", IP_BY_COUNTRY_MAPPING_NAMED, "--schema.allowMissingFields", "true" };
ExitStatus status = new DataStaxBulkLoader(addCommonSettings(args)).run();
assertStatus(status, STATUS_COMPLETED_WITH_ERRORS);
validateQueryCount(simulacron, 21, "INSERT INTO ip_by_country", LOCAL_ONE);
validateNumberOfBadRecords(3);
validateExceptionsLog(3, "Source:", "mapping-errors.log");
}
Aggregations