Skip to content

Instantly share code, notes, and snippets.

View robertoduessmann's full-sized avatar

Roberto Duessmann robertoduessmann

View GitHub Profile
Feature: Create transaction and read balance
Background:
* url baseUrl
* def genUUID = function(){ return java.util.UUID.randomUUID() + '' }
* def userId = callonce genUUID
* def transactionRequest = { userId: '#(userId)', amount: 10 }
Scenario: Create transaction
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@ContextConfiguration(initializers = ContainersSetupIT.Initializer.class)
public class BalanceControllerIT {
}
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>postgresql</artifactId>
<version>1.14.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>kafka</artifactId>
<version>1.14.1</version>
public class ContainersSetupIT {
public static PostgreSQLContainer postgres = new PostgreSQLContainer("postgres:12.2")
.withDatabaseName("financial");
public static KafkaContainer kafka = new KafkaContainer();
public static class Initializer implements
ApplicationContextInitializer<ConfigurableApplicationContext> {
@Override
public class ParalyzedFetchWeather {
private static final ForkJoinPool forkJoinPool = new ForkJoinPool();
private static final long TIMEOUT_MINUTES = 60;
private WeatherClient weatherClient;
public List<WeatherDetailsDTO> fetchWeather(List<String> cities) {
List<WeatherDetailsDTO> weathers = Collections.synchronizedList(new ArrayList<>());
cities.forEach(city -> forkJoinPool.submit(() -> weathers.add(weatherClient.getWeather(city))));
@robertoduessmann
robertoduessmann / lambda.js
Last active September 13, 2018 01:10
Lambda script to integrate with SQS
AWS.config.update({
accessKeyId: 'KEY_ID',
secretAccessKey: 'ACCESS_KEY'
});
let sqs = new AWS.SQS();
function processEvent(event, context, callback) {
function processMessage() {
let params = {
MessageBody: JSON.stringify(event.body),
@robertoduessmann
robertoduessmann / lambda-sqs.js
Created September 5, 2018 20:47
Lambda script to integrate with SQS
let sqs = new AWS.SQS({
region: 'us-west-2'
});
let params = {
MessageBody: JSON.stringify(event.body),
QueueUrl: SQS_URL
};
sqs.sendMessage(params, function(error, data) {