How to use disabledOnStartup method of org.testcontainers.hivemq.HiveMQExtension class

Best Testcontainers-java code snippet using org.testcontainers.hivemq.HiveMQExtension.disabledOnStartup

Source:HiveMQExtension.java Github

copy

Full Screen

...45 private final int priority;46 @Getter47 private final int startPriority;48 @Getter49 private final boolean disabledOnStartup;50 @Getter51 @NotNull52 private final Class<?> mainClass;53 @NotNull54 private final List<Class<?>> additionalClasses;55 private HiveMQExtension(56 final @NotNull String id,57 final @NotNull String name,58 final @NotNull String version,59 final int priority,60 final int startPriority,61 final boolean disabledOnStartup,62 final @NotNull Class<?> mainClass,63 final @NotNull List<Class<?>> additionalClasses64 ) {65 this.id = id;66 this.name = name;67 this.version = version;68 this.priority = priority;69 this.startPriority = startPriority;70 this.disabledOnStartup = disabledOnStartup;71 this.mainClass = mainClass;72 this.additionalClasses = additionalClasses;73 }74 @NotNull75 File createExtension(final @NotNull HiveMQExtension hiveMQExtension) throws Exception {76 final File tempDir = Files.createTempDirectory("").toFile();77 final File extensionDir = new File(tempDir, hiveMQExtension.getId());78 FileUtils.writeStringToFile(79 new File(extensionDir, "hivemq-extension.xml"),80 String.format(81 VALID_EXTENSION_XML,82 hiveMQExtension.getId(),83 hiveMQExtension.getName(),84 hiveMQExtension.getVersion(),85 hiveMQExtension.getPriority(),86 hiveMQExtension.getStartPriority()87 ),88 Charset.defaultCharset()89 );90 if (hiveMQExtension.isDisabledOnStartup()) {91 final File disabled = new File(extensionDir, "DISABLED");92 final boolean newFile = disabled.createNewFile();93 if (!newFile) {94 throw new ContainerLaunchException(95 "Could not create DISABLED file '" + disabled.getAbsolutePath() + "' on host machine."96 );97 }98 }99 // Shadow Gradle plugin doesn't know how to handle ShrinkWrap's SPI definitions100 // This workaround creates the mappings programmatically101 // TODO write a custom Gradle Shadow transformer?102 ExtensionLoader extensionLoader = ShrinkWrap.getDefaultDomain().getConfiguration().getExtensionLoader();103 extensionLoader.addOverride(JavaArchive.class, JavaArchiveImpl.class);104 extensionLoader.addOverride(ZipExporter.class, ZipExporterImpl.class);105 final JavaArchive javaArchive = ShrinkWrap106 .create(JavaArchive.class)107 .addAsServiceProvider(EXTENSION_MAIN_CLASS_NAME, hiveMQExtension.getMainClass().getName());108 putSubclassesIntoJar(hiveMQExtension.getId(), hiveMQExtension.getMainClass(), javaArchive);109 for (final Class<?> additionalClass : hiveMQExtension.getAdditionalClasses()) {110 javaArchive.addClass(additionalClass);111 putSubclassesIntoJar(hiveMQExtension.getId(), additionalClass, javaArchive);112 }113 javaArchive.as(ZipExporter.class).exportTo(new File(extensionDir, "extension.jar"));114 return extensionDir;115 }116 private void putSubclassesIntoJar(117 final @NotNull String extensionId,118 final @Nullable Class<?> clazz,119 final @NotNull JavaArchive javaArchive120 ) throws NotFoundException {121 if (clazz != null) {122 final Set<String> subClassNames = ClassPool123 .getDefault()124 .get(clazz.getName())125 .getClassFile()126 .getConstPool()127 .getClassNames();128 for (final String subClassName : subClassNames) {129 final String className = subClassName.replaceAll("/", ".");130 if (!className.startsWith("[L")) {131 LOGGER.debug("Trying to package subclass '{}' into extension '{}'.", className, extensionId);132 javaArchive.addClass(className);133 } else {134 LOGGER.debug("Class '{}' will be ignored.", className);135 }136 }137 }138 }139 public @NotNull List<Class<?>> getAdditionalClasses() {140 return Collections.unmodifiableList(additionalClasses);141 }142 public static @NotNull Builder builder() {143 return new Builder();144 }145 public static final class Builder {146 @Nullable147 private String id;148 @Nullable149 private String name;150 @Nullable151 private String version;152 private int priority = 0;153 private int startPriority = 0;154 private boolean disabledOnStartup = false;155 @Nullable156 private Class<?> mainClass;157 @NotNull158 private final LinkedList<Class<?>> additionalClasses = new LinkedList<>();159 /**160 * Builds the {@link HiveMQExtension} with the provided values or default values.161 * @return the HiveMQ Extension162 */163 public @NotNull HiveMQExtension build() {164 if (id == null || id.isEmpty()) {165 throw new IllegalArgumentException("extension id must not be null or empty");166 }167 if (name == null || name.isEmpty()) {168 throw new IllegalArgumentException("extension name must not be null or empty");169 }170 if (version == null || version.isEmpty()) {171 throw new IllegalArgumentException("extension version must not be null or empty");172 }173 if (mainClass == null) {174 throw new IllegalArgumentException("extension main class must not be null");175 }176 return new HiveMQExtension(177 id,178 name,179 version,180 priority,181 startPriority,182 disabledOnStartup,183 mainClass,184 additionalClasses185 );186 }187 /**188 * Sets the identifier of the {@link HiveMQExtension}.189 *190 * @param id the identifier, must not be empty191 * @return the {@link Builder}192 */193 public @NotNull Builder id(final @NotNull String id) {194 this.id = id;195 return this;196 }197 /**198 * Sets the name of the {@link HiveMQExtension}.199 *200 * @param name the identifier, must not be empty201 * @return the {@link Builder}202 */203 public @NotNull Builder name(final @NotNull String name) {204 this.name = name;205 return this;206 }207 /**208 * Sets the version of the {@link HiveMQExtension}.209 *210 * @param version the version, must not be empty211 * @return the {@link Builder}212 */213 public @NotNull Builder version(final @NotNull String version) {214 this.version = version;215 return this;216 }217 /**218 * Sets the priority of the {@link HiveMQExtension}.219 *220 * @param priority the priority221 * @return the {@link Builder}222 */223 public @NotNull Builder priority(final int priority) {224 this.priority = priority;225 return this;226 }227 /**228 * Sets the start-priority of the {@link HiveMQExtension}.229 *230 * @param startPriority the start-priority231 * @return the {@link Builder}232 */233 public @NotNull Builder startPriority(final int startPriority) {234 this.startPriority = startPriority;235 return this;236 }237 /**238 * Flag, that indicates whether the {@link HiveMQExtension} should be disabled when HiveMQ starts.239 * Disabling on startup is achieved by placing a DISABLED file in the {@link HiveMQExtension}'s directory before coping it to the container.240 *241 * @param disabledOnStartup if the {@link HiveMQExtension} should be disabled when HiveMQ starts242 * @return the {@link Builder}243 */244 public @NotNull Builder disabledOnStartup(final boolean disabledOnStartup) {245 this.disabledOnStartup = disabledOnStartup;246 return this;247 }248 /**249 * The main class of the {@link HiveMQExtension}.250 * This class MUST implement com.hivemq.extension.sdk.api.ExtensionMain.251 *252 * @param mainClass the main class253 * @return the {@link Builder}254 * @throws IllegalArgumentException if the provides class does not implement com.hivemq.extension.sdk.api.ExtensionMain}255 * @throws IllegalStateException if com.hivemq.extension.sdk.api.ExtensionMain is not found in the classpath256 */257 public @NotNull Builder mainClass(final @NotNull Class<?> mainClass) {258 try {259 final Class<?> extensionMain = Class.forName(EXTENSION_MAIN_CLASS_NAME);...

Full Screen

Full Screen

Source:DemoDisableExtensionsIT.java Github

copy

Full Screen

...28 .builder()29 .id("extension-1")30 .name("my-extension")31 .version("1.0")32 .disabledOnStartup(true)33 .mainClass(MyExtension.class)34 .build();35 @Container36 final HiveMQContainer hivemq = new HiveMQContainer(DockerImageName.parse("hivemq/hivemq4").withTag("4.7.4"))37 .withExtension(hiveMQExtension);38 // }39 // startFromFilesystem {40 @Container41 final HiveMQContainer hivemqExtensionFromFilesystem = new HiveMQContainer(42 DockerImageName.parse("hivemq/hivemq4").withTag("4.7.4")43 )44 .withExtension(MountableFile.forHostPath("src/test/resources/modifier-extension"));45 // }46 // hiveRuntimeEnable {...

Full Screen

Full Screen

Source:DisableEnableExtensionIT.java Github

copy

Full Screen

...15 .builder()16 .id("extension-1")17 .name("my-extension")18 .version("1.0")19 .disabledOnStartup(true)20 .mainClass(MyExtension.class)21 .build();22 @Test23 @Timeout(value = 3, unit = TimeUnit.MINUTES)24 void test() throws Exception {25 try (26 final HiveMQContainer hivemq = new HiveMQContainer(DockerImageName.parse("hivemq/hivemq4").withTag("4.7.4"))27 .withExtension(hiveMQExtension)28 .withLogLevel(Level.DEBUG)29 ) {30 hivemq.start();31 assertThatExceptionOfType(ExecutionException.class)32 .isThrownBy(() -> TestPublishModifiedUtil.testPublishModified(hivemq.getMqttPort(), hivemq.getHost()));33 hivemq.enableExtension(hiveMQExtension);...

Full Screen

Full Screen

disabledOnStartup

Using AI Code Generation

copy

Full Screen

1import org.testcontainers.hivemq.HiveMQExtension;2import org.testcontainers.hivemq.HiveMQTestContainer;3import org.testcontainers.junit.jupiter.Container;4import org.testcontainers.junit.jupiter.Testcontainers;5import org.junit.jupiter.api.Test;6import org.junit.jupiter.api.TestInstance;7import org.junit.jupiter.api.TestInstance.Lifecycle;8import org.testcontainers.containers.output.Slf4jLogConsumer;9@TestInstance(Lifecycle.PER_CLASS)10public class TestContainerTest {11 public HiveMQTestContainer hiveMQ = new HiveMQTestContainer()12 .withExtension(new HiveMQExtension("hivemq/hivemq-mqtt-web-client-extension", "4.0.0")13 .disabledOnStartup());14 public void test() {15 hiveMQ.followOutput(new Slf4jLogConsumer(org.slf4j.LoggerFactory.getLogger("hivemq")));16 }17}18import org.testcontainers.hivemq.HiveMQExtension;19import org.testcontainers.hivemq.HiveMQTestContainer;20import org.testcontainers.junit.jupiter.Container;21import org.testcontainers.junit.jupiter.Testcontainers;22import org.junit.jupiter.api.Test;23import org.junit.jupiter.api.TestInstance;24import org.junit.jupiter.api.TestInstance.Lifecycle;25import org.testcontainers.containers.output.Slf4jLogConsumer;26@TestInstance(Lifecycle.PER_CLASS)27public class TestContainerTest {28 public HiveMQTestContainer hiveMQ = new HiveMQTestContainer()29 .withExtension(new HiveMQExtension("hivemq/hivemq-mqtt-web-client-extension", "4.0.0", false));30 public void test() {31 hiveMQ.followOutput(new Slf4jLogConsumer(org.slf4j.LoggerFactory.getLogger("hivemq")));32 }33}34import org.testcontainers.hivemq.HiveMQExtension;35import org.testcontainers.hivemq.HiveMQTestContainer;36import org.testcontainers.junit.jupiter.Container;37import org.testcontainers.junit.jupiter.Testcontainers;38import org.junit.jupiter.api.Test;39import org.junit

Full Screen

Full Screen

disabledOnStartup

Using AI Code Generation

copy

Full Screen

1import org.testcontainers.hivemq.HiveMQExtension;2import org.testcontainers.hivemq.HiveMQTestContainer;3import java.nio.file.Paths;4public class Main {5 public static void main(String[] args) {6 HiveMQExtension hivemqExtension = new HiveMQExtension(Paths.get("/home/username/extension.zip"))7 .disabledOnStartup(true);8 HiveMQTestContainer hivemqContainer = new HiveMQTestContainer()9 .withExtension(hivemqExtension);10 hivemqContainer.start();11 }12}13import org.testcontainers.hivemq.HiveMQExtension;14import org.testcontainers.hivemq.HiveMQTestContainer;15import java.nio.file.Paths;16public class Main {17 public static void main(String[] args) {18 HiveMQExtension hivemqExtension = new HiveMQExtension(Paths.get("/home/username/extension.zip"))19 .enabledOnStartup(true);20 HiveMQTestContainer hivemqContainer = new HiveMQTestContainer()21 .withExtension(hivemqExtension);22 hivemqContainer.start();23 }24}25import org.testcontainers.hivemq.HiveMQTestContainer;26public class Main {27 public static void main(String[] args) {28 HiveMQTestContainer hivemqContainer = new HiveMQTestContainer()29 .withHiveMQConfig("/home/username/hivemq.conf");30 hivemqContainer.start();31 }32}33import org.testcontainers.hivemq.HiveMQTestContainer;34public class Main {35 public static void main(String[] args) {36 HiveMQTestContainer hivemqContainer = new HiveMQTestContainer()37 .withHiveMQConfig("/home/username/hivemq.conf");38 hivemqContainer.start();39 }40}

Full Screen

Full Screen

disabledOnStartup

Using AI Code Generation

copy

Full Screen

1import org.testcontainers.hivemq.HiveMQExtension;2public class 1 {3 public static void main(String[] args) {4 HiveMQExtension hiveMQExtension = new HiveMQExtension("hivemq/hivemq-extension-template", "1.0.0");5 hiveMQExtension.disabledOnStartup();6 System.out.println(hiveMQExtension.getDisabledOnStartup());7 }8}

Full Screen

Full Screen

disabledOnStartup

Using AI Code Generation

copy

Full Screen

1import org.testcontainers.hivemq.HiveMQExtension;2import org.testcontainers.hivemq.HiveMQTestContainer;3import org.testcontainers.utility.DockerImageName;4public class HiveMQExtensionTest {5 public static void main(String[] args) {6 HiveMQTestContainer hivemqContainer = new HiveMQTestContainer(DockerImageName.parse("hivemq/hivemq4"));7 HiveMQExtension hivemqExtension = new HiveMQExtension("hivemq/hivemq-testcontainer-extension", "1.0.0");8 hivemqExtension.disabledOnStartup();9 hivemqContainer.withExtension(hivemqExtension);10 hivemqContainer.start();11 }12}13import org.testcontainers.hivemq.HiveMQExtension;14import org.testcontainers.hivemq.HiveMQTestContainer;15import org.testcontainers.utility.DockerImageName;16public class HiveMQExtensionTest {17 public static void main(String[] args) {18 HiveMQTestContainer hivemqContainer = new HiveMQTestContainer(DockerImageName.parse("hivemq/hivemq4"));19 HiveMQExtension hivemqExtension = new HiveMQExtension("hivemq/hivemq-testcontainer-extension", "1.0.0");20 hivemqExtension.disabledOnStartup();21 hivemqContainer.withExtension(hivemqExtension);22 hivemqContainer.start();23 }24}25import org.testcontainers.hivemq.HiveMQExtension;26import org.testcontainers.hivemq.HiveMQTestContainer;27import org.testcontainers.utility.DockerImageName;28public class HiveMQExtensionTest {29 public static void main(String[] args) {30 HiveMQTestContainer hivemqContainer = new HiveMQTestContainer(DockerImageName.parse("hivemq/hivemq4"));31 HiveMQExtension hivemqExtension = new HiveMQExtension("hivemq/hivemq-testcontainer-extension", "1.0.0");32 hivemqExtension.disabledOnStartup();

Full Screen

Full Screen

disabledOnStartup

Using AI Code Generation

copy

Full Screen

1import org.testcontainers.hivemq.HiveMQExtension;2import org.testcontainers.hivemq.HiveMQTestContainer;3public class ExampleTest {4 public static void main(String[] args) {5 HiveMQTestContainer hivemq = new HiveMQTestContainer()6 .withExtension(new HiveMQExtension("hivemq/hivemq-5-extensions", "1.0.0")7 .disabledOnStartup());8 }9}10import org.testcontainers.hivemq.HiveMQExtension;11import org.testcontainers.hivemq.HiveMQTestContainer;12public class ExampleTest {13 public static void main(String[] args) {14 HiveMQTestContainer hivemq = new HiveMQTestContainer()15 .withExtension(new HiveMQExtension("hivemq/hivemq-5-extensions", "1.0.0")16 .disabledOnStartup());17 }18}19import org.testcontainers.hivemq.HiveMQExtension;20import org.testcontainers.hivemq.HiveMQTestContainer;21public class ExampleTest {22 public static void main(String[] args) {23 HiveMQTestContainer hivemq = new HiveMQTestContainer()24 .withExtension(new HiveMQExtension("hivemq/hivemq-5-extensions", "1.0.0")25 .disabledOnStartup());26 }27}28import org.testcontainers.hivemq.HiveMQExtension;29import org.testcontainers.hivemq.HiveMQTestContainer;30public class ExampleTest {31 public static void main(String[] args) {32 HiveMQTestContainer hivemq = new HiveMQTestContainer()33 .withExtension(new HiveMQExtension("hivemq/hivemq-5-extensions", "1.0.0")34 .disabledOnStartup());35 }36}

Full Screen

Full Screen

disabledOnStartup

Using AI Code Generation

copy

Full Screen

1import org.testcontainers.hivemq.HiveMQExtension;2import org.testcontainers.hivemq.HiveMQTestContainer;3public class TestHiveMQExtension {4 public static void main(String[] args) {5 HiveMQExtension hivemqExtension = new HiveMQExtension("hivemq/hivemq-aws-iot-extension:latest")6 .disabledOnStartup();7 HiveMQTestContainer container = new HiveMQTestContainer()8 .withExtension(hivemqExtension);9 container.start();10 }11}12import org.testcontainers.hivemq.HiveMQExtension;13import org.testcontainers.hivemq.HiveMQTestContainer;14public class TestHiveMQExtension {15 public static void main(String[] args) {16 HiveMQExtension hivemqExtension = new HiveMQExtension("hivemq/hivemq-aws-iot-extension:latest")17 .disabledOnStartup();18 HiveMQTestContainer container = new HiveMQTestContainer()19 .withExtension(hivemqExtension);20 container.start();21 }22}23import org.testcontainers.hivemq.HiveMQExtension;24import org.testcontainers.hivemq.HiveMQTestContainer;25public class TestHiveMQExtension {26 public static void main(String[] args) {27 HiveMQExtension hivemqExtension = new HiveMQExtension("hivemq/hivemq-aws-iot-extension:latest")28 .disabledOnStartup();29 HiveMQTestContainer container = new HiveMQTestContainer()30 .withExtension(hivemqExtension);31 container.start();32 }33}34import org.testcontainers.hivemq.HiveMQExtension;35import org.testcontainers.hivemq.HiveMQTestContainer;36public class TestHiveMQExtension {37 public static void main(String[] args) {38 HiveMQExtension hivemqExtension = new HiveMQExtension("hivemq/hivemq-aws-iot-extension:latest

Full Screen

Full Screen

disabledOnStartup

Using AI Code Generation

copy

Full Screen

1import org.testcontainers.hivemq.HiveMQExtension;2import org.testcontainers.hivemq.HiveMQTestContainer;3public class TestContainerHiveMQExtension {4 public static void main(String[] args) {5 HiveMQExtension hiveMQExtension = new HiveMQExtension("hivemq/hivemq-extension-example", "latest")6 .withDisabledOnStartup();7 HiveMQTestContainer hivemq = new HiveMQTestContainer()8 .withExtension(hiveMQExtension);9 hivemq.start();10 }11}12import org.testcontainers.hivemq.HiveMQTestContainer;13public class TestContainerHiveMQExtension {14 public static void main(String[] args) {15 HiveMQTestContainer hivemq = new HiveMQTestContainer()16 .withExtension("hivemq/hivemq-extension-example", "latest");17 hivemq.start();18 }19}20import org.testcontainers.hivemq.HiveMQTestContainer;21public class TestContainerHiveMQExtension {22 public static void main(String[] args) {23 HiveMQTestContainer hivemq = new HiveMQTestContainer()24 .withExtension("hivemq/hivemq-extension-example", "latest", false);25 hivemq.start();26 }27}28import org.testcontainers.hivemq.HiveMQTestContainer;29public class TestContainerHiveMQExtension {30 public static void main(String[] args) {31 HiveMQTestContainer hivemq = new HiveMQTestContainer()32 .withExtension("hivemq/hivemq-extension-example", "latest", true);33 hivemq.start();34 }35}36import org.testcontainers.hivemq.HiveMQTestContainer;37public class TestContainerHiveMQExtension {38 public static void main(String

Full Screen

Full Screen

disabledOnStartup

Using AI Code Generation

copy

Full Screen

1package org.testcontainers.hivemq;2import org.junit.Test;3import org.testcontainers.containers.GenericContainer;4import org.testcontainers.utility.DockerImageName;5import java.io.File;6public class HiveMQExtensionTest {7 public void testHiveMQExtension() {8 try (GenericContainer<?> container = new GenericContainer<>(DockerImageName.parse("hivemq/hivemq4"))9 .withExposedPorts(1883, 8000)10 .withEnv("HIVEMQ_LICENSE_KEY", "HIVEMQ_COMMUNITY_EDITION")11 .withEnv("HIVEMQ_ALLOW_ANONYMOUS", "true")12 .withEnv("HIVEMQ_BIND_ADDRESS", "

Full Screen

Full Screen

disabledOnStartup

Using AI Code Generation

copy

Full Screen

1public class HiveMQExtensionTest {2 public void testHiveMQExtension() {3 HiveMQExtension hivemqExtension = new HiveMQExtension("org.testcontainers.hivemq.HiveMQExtension");4 hivemqExtension.disabledOnStartup();5 try (HiveMQContainer hivemqContainer = new HiveMQContainer("hivemq/hivemq4").withExtension(hivemqExtension)) {6 hivemqContainer.start();7 }8 }9}10public class HiveMQExtensionTest {11 public void testHiveMQExtension() {12 HiveMQExtension hivemqExtension = new HiveMQExtension("org.testcontainers.hivemq.HiveMQExtension");13 hivemqExtension.enabledOnStartup();14 try (HiveMQContainer hivemqContainer = new HiveMQContainer("hivemq/hivemq4").withExtension(hivemqExtension)) {15 hivemqContainer.start();16 }17 }18}19public class HiveMQExtensionTest {20 public void testHiveMQExtension() {21 HiveMQExtension hivemqExtension = new HiveMQExtension("org.testcontainers.hivemq.HiveMQExtension");22 hivemqExtension.withId("org.testcontainers.hivemq.HiveMQExtension");23 try (HiveMQContainer hivemqContainer = new HiveMQContainer("hivemq/hivemq4").withExtension(hivemqExtension)) {24 hivemqContainer.start();25 }26 }27}28public class HiveMQExtensionTest {29 public void testHiveMQExtension() {30 HiveMQExtension hivemqExtension = new HiveMQExtension("org.testcontainers.hivemq.HiveMQExtension");31 hivemqExtension.withVersion("1.0.0");32 try (HiveMQContainer hivemqContainer = new Hive

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Testcontainers-java automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful