All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.chutneytesting.action.kafka.KafkaBrokerStopAction Maven / Gradle / Ivy

There is a newer version: 2.9.0
Show newest version
package com.chutneytesting.action.kafka;

import static com.chutneytesting.action.spi.validation.Validator.getErrorsFrom;
import static com.chutneytesting.action.spi.validation.Validator.of;

import com.chutneytesting.action.spi.Action;
import com.chutneytesting.action.spi.ActionExecutionResult;
import com.chutneytesting.action.spi.injectable.Input;
import com.chutneytesting.action.spi.injectable.Logger;
import com.chutneytesting.action.spi.validation.Validator;
import java.util.List;
import java.util.Objects;
import org.springframework.kafka.test.EmbeddedKafkaBroker;

public class KafkaBrokerStopAction implements Action {

    private final Logger logger;
    private final EmbeddedKafkaBroker broker;

    public KafkaBrokerStopAction(Logger logger, @Input("broker") EmbeddedKafkaBroker broker) {
        this.logger = logger;
        this.broker = broker;
    }

    @Override
    public List validateInputs() {
        Validator embeddedKafkaBrokerValidation = of(broker)
            .validate(Objects::nonNull, "No broker provided");
        return getErrorsFrom(embeddedKafkaBrokerValidation);
    }

    @Override
    public ActionExecutionResult execute() {
        logger.info("Call Kafka broker shutdown");
        broker.destroy();
        return ActionExecutionResult.ok();
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy