/* * Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com * The software in this package is published under the terms of the CPAL v1.0 * license, a copy of which has been included with this distribution in the * LICENSE.txt file. */ package org.mule.test.module.extension.config; import static org.mule.runtime.api.message.Message.of; import static org.mule.test.heisenberg.extension.model.types.WeaponType.FIRE_WEAPON; import static org.mule.test.module.extension.internal.util.ExtensionsTestUtils.getConfigurationFromRegistry; import org.mule.runtime.core.api.Event; import org.mule.runtime.core.util.ArrayUtils; import org.mule.test.heisenberg.extension.HeisenbergExtension; import org.mule.test.heisenberg.extension.model.HealthStatus; import org.mule.test.heisenberg.extension.model.Ricin; import org.mule.test.module.extension.AbstractExtensionFunctionalTestCase; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; public abstract class AbstractConfigParserTestCase extends AbstractExtensionFunctionalTestCase { protected static final String HEISENBERG_BYNAME = "heisenberg"; protected static final String HEISENBERG_EXPRESSION = "expressionHeisenberg"; protected static final String HEISENBERG_EXPRESSION_BYREF = "expressionHeisenbergByRef"; protected static final Long MICROGRAMS_PER_KILO = 22L; protected static final String LIDIA = "Lidia"; protected static final String STEVIA_COFFE_SHOP = "Stevia coffe shop"; protected static final String POLLOS_HERMANOS = "pollos hermanos"; protected static final String GUSTAVO_FRING = "Gustavo Fring"; protected static final String KRAZY_8 = "Krazy-8"; protected static final String JESSE_S = "Jesse's"; protected static final int METHYLAMINE_QUANTITY = 75; protected static final int PSEUDOEPHEDRINE_QUANTITY = 0; protected static final String P2P = "P2P"; protected static final int P2P_QUANTITY = 25; protected static final String HANK = "Hank"; protected static final String MONEY = "1000000"; protected static final String SKYLER = "Skyler"; protected static final String SAUL = "Saul"; protected static final String WHITE_ADDRESS = "308 Negra Arroyo Lane"; protected static final String SHOPPING_MALL = "Shopping Mall"; protected static final HealthStatus INITIAL_HEALTH = HealthStatus.CANCER; protected static final HealthStatus FINAL_HEALTH = HealthStatus.DEAD; protected static final Ricin WEAPON = new Ricin(); protected static final String SEASON_1_KEY = "s01"; protected static final String SEASON_2_KEY = "s02"; protected static final List<Long> MONTHLY_INCOMES = Arrays.asList(ArrayUtils.toObject(new long[] {12000, 500})); protected static final Map<String, List<String>> DEATHS_BY_SEASON = new HashMap<String, List<String>>() { { put(SEASON_1_KEY, Arrays.asList("emilio", "domingo")); put(SEASON_2_KEY, Arrays.asList("tuco", "tortuga")); } }; protected HeisenbergExtension lookupHeisenberg(String key) throws Exception { return lookupHeisenberg(key, getHeisenbergEvent()); } protected HeisenbergExtension lookupHeisenberg(String key, Event event) throws Exception { return getConfigurationFromRegistry(key, event, muleContext); } protected Event getHeisenbergEvent() throws Exception { WEAPON.setMicrogramsPerKilo(10L); Event event = eventBuilder().message(of("")) .addVariable("lidia", LIDIA) .addVariable("myName", HeisenbergExtension.HEISENBERG) .addVariable("age", HeisenbergExtension.AGE) .addVariable("microgramsPerKilo", MICROGRAMS_PER_KILO) .addVariable("steviaCoffeShop", STEVIA_COFFE_SHOP) .addVariable("pollosHermanos", POLLOS_HERMANOS) .addVariable("gustavoFring", GUSTAVO_FRING) .addVariable("krazy8", KRAZY_8) .addVariable("jesses", JESSE_S) .addVariable("methylamine", METHYLAMINE_QUANTITY) .addVariable("pseudoephedrine", PSEUDOEPHEDRINE_QUANTITY) .addVariable("p2p", P2P_QUANTITY) .addVariable("hank", HANK) .addVariable("money", MONEY) .addVariable("skyler", SKYLER) .addVariable("saul", SAUL) .addVariable("whiteAddress", WHITE_ADDRESS) .addVariable("shoppingMall", SHOPPING_MALL) .addVariable("initialHealth", INITIAL_HEALTH) .addVariable("finalHealth", FINAL_HEALTH) .addVariable("weaponType", FIRE_WEAPON) .addVariable("weapon", WEAPON) .build(); return event; } @Override protected String getConfigFile() { return "heisenberg-config.xml"; } }