use of org.mule.test.heisenberg.extension.model.Weapon in project mule by mulesoft.
the class JavaDeclarationDelegateTestCase method assertTestModuleConfiguration.
private void assertTestModuleConfiguration(ExtensionDeclaration extensionDeclaration) throws Exception {
assertThat(extensionDeclaration.getConfigurations(), hasSize(1));
ConfigurationDeclaration conf = extensionDeclaration.getConfigurations().get(0);
assertThat(conf.getName(), equalTo(DEFAULT_CONFIG_NAME));
List<ParameterDeclaration> parameters = conf.getAllParameters();
assertThat(parameters, hasSize(31));
assertParameter(parameters, "myName", "", STRING_TYPE, false, SUPPORTED, HEISENBERG);
assertParameter(parameters, "age", "", toMetadataType(Integer.class), false, SUPPORTED, AGE);
assertParameter(parameters, "enemies", "", listOfString(), true, SUPPORTED, null);
assertParameter(parameters, "money", "", toMetadataType(BigDecimal.class), true, SUPPORTED, null);
assertParameter(parameters, "cancer", "", toMetadataType(boolean.class), true, SUPPORTED, null);
assertParameter(parameters, "cancer", "", toMetadataType(boolean.class), true, SUPPORTED, null);
assertParameter(parameters, "dateOfBirth", "", toMetadataType(Date.class), false, SUPPORTED, null);
assertParameter(parameters, "dateOfDeath", "", toMetadataType(Calendar.class), false, SUPPORTED, null);
assertParameter(parameters, "dateOfConception", "", toMetadataType(LocalDateTime.class), false, SUPPORTED, null);
assertParameter(parameters, "dateOfGraduation", "", toMetadataType(Calendar.class), false, NOT_SUPPORTED, null);
assertParameter(parameters, "recipe", "", TYPE_BUILDER.objectType().openWith(TYPE_BUILDER.numberType().integer().with(new ClassInformationAnnotation(Long.class))).with(new ClassInformationAnnotation(Map.class, asList(String.class, Long.class))).build(), false, SUPPORTED, null);
assertParameter(parameters, "ricinPacks", "", arrayOf(Set.class, objectTypeBuilder(Ricin.class)), false, SUPPORTED, null);
assertParameter(parameters, "nextDoor", "", toMetadataType(KnockeableDoor.class), false, SUPPORTED, null);
assertParameter(parameters, "candidateDoors", "", TYPE_BUILDER.objectType().openWith((objectTypeBuilder(KnockeableDoor.class)).build()).with(new ClassInformationAnnotation(Map.class, asList(String.class, KnockeableDoor.class))).build(), false, SUPPORTED, null);
assertParameter(parameters, "initialHealth", "", toMetadataType(HealthStatus.class), false, SUPPORTED, "CANCER");
assertParameter(parameters, "finalHealth", "", toMetadataType(HealthStatus.class), true, SUPPORTED, null);
assertParameter(parameters, "labAddress", "", STRING_TYPE, false, REQUIRED, null);
assertParameter(parameters, "firstEndevour", "", STRING_TYPE, false, NOT_SUPPORTED, null);
assertParameter(parameters, "weapon", "", toMetadataType(Weapon.class), false, SUPPORTED, null);
assertParameter(parameters, "wildCardWeapons", "", arrayOf(List.class, objectTypeBuilder(Weapon.class)), false, SUPPORTED, null);
assertParameter(parameters, "wildCards", "", arrayOf(List.class, objectTypeBuilder(Object.class)), false, SUPPORTED, null);
assertParameter(parameters, "worksAtDEA", "", toMetadataType(boolean.class), false, SUPPORTED, valueOf(TRUE));
assertParameter(parameters, "lovesMinerals", "", toMetadataType(boolean.class), true, SUPPORTED, null);
assertParameter(parameters, "monthlyIncomes", "", arrayOf(List.class, longTypeBuilder()), true, SUPPORTED, null);
assertParameter(parameters, "labeledRicin", "", TYPE_BUILDER.objectType().openWith(objectTypeBuilder(Ricin.class)).with(new ClassInformationAnnotation(Map.class, asList(String.class, Ricin.class))).build(), false, SUPPORTED, null);
assertParameter(parameters, "deathsBySeasons", "", TYPE_BUILDER.objectType().with(new ClassInformationAnnotation(Map.class, asList(String.class, List.class))).openWith(TYPE_BUILDER.arrayType().of(TYPE_BUILDER.stringType())).build(), false, SUPPORTED, null);
assertParameter(parameters, "weaponValueMap", "", TYPE_BUILDER.objectType().with(new ClassInformationAnnotation(Map.class, asList(String.class, Weapon.class))).openWith(WEAPON_TYPE).build(), false, SUPPORTED, null);
assertParameter(parameters, "healthProgressions", "", TYPE_BUILDER.arrayType().of(TYPE_LOADER.load(HealthStatus.class)).build(), false, SUPPORTED, null);
}
use of org.mule.test.heisenberg.extension.model.Weapon in project mule by mulesoft.
the class OperationExecutionTestCase method operationWhichConsumesAListOfNonInstantiableArgument.
@Test
public void operationWhichConsumesAListOfNonInstantiableArgument() throws Exception {
Ricin ricinWeapon1 = new Ricin();
ricinWeapon1.setMicrogramsPerKilo(10L);
Ricin ricinWeapon2 = new Ricin();
ricinWeapon2.setMicrogramsPerKilo(10L);
List<Weapon> weaponList = Arrays.asList(ricinWeapon1, ricinWeapon2);
CoreEvent event = flowRunner("killWithMultipleWeapons").withPayload(EMPTY).withVariable("weapons", weaponList).run();
List<String> result = weaponList.stream().map(Weapon::kill).collect(Collectors.toList());
assertThat(event.getMessage().getPayload().getValue(), is(result));
}
use of org.mule.test.heisenberg.extension.model.Weapon in project mule by mulesoft.
the class ExtensionsClientTestCase method executeOperationWithComplexType.
@Test
@Description("Executes an operation with a complex type parameter using the client and the DefaultOperationParametersBuilder")
public void executeOperationWithComplexType() throws Throwable {
Weapon.WeaponAttributes attributes = new Weapon.WeaponAttributes();
attributes.setBrand("brand");
OperationParameters params = builder().configName(HEISENBERG_CONFIG).addParameter("weapon", Ricin.class, builder().addParameter("destination", KnockeableDoor.class, builder().addParameter("address", "ADdresss").addParameter("victim", "victim!1231")).addParameter("microgramsPerKilo", 123L)).addParameter("type", FIRE_WEAPON).addParameter("attributesOfWeapon", attributes).build();
Result<String, Object> result = doExecute(HEISENBERG_EXT_NAME, "killWithWeapon", params);
assertThat(result.getOutput(), is("Killed with: You have been killed with Ricin , Type FIRE_WEAPON and attribute brand"));
}
Aggregations