use of org.kie.workbench.common.dmn.api.definition.model.Import in project kie-wb-common by kiegroup.
the class IncludedModelsFactoryTest method testMakeIncludedPMMLModels.
@Test
public void testMakeIncludedPMMLModels() {
final ImportPMML import1 = mock(ImportPMML.class);
final ImportPMML import2 = mock(ImportPMML.class);
final Name nameMock1 = mock(Name.class);
final Name nameMock2 = mock(Name.class);
final List<Import> imports = asList(import1, import2);
final String name1 = "name1";
final String name2 = "name2";
final String path1 = "path1";
final String path2 = "path2";
final String uuid1 = "123";
final String uuid2 = "456";
final String[] uuids = { uuid1, uuid2 };
final String uri1 = "/src/main/kie/dmn/1";
final String uri2 = "/src/main/kie/dmn/2";
final Integer modelCount1 = 2;
final Integer modelCount2 = 8;
when(nameMock1.getValue()).thenReturn(name1);
when(nameMock2.getValue()).thenReturn(name2);
when(import1.getName()).thenReturn(nameMock1);
when(import2.getName()).thenReturn(nameMock2);
when(import1.getNamespace()).thenReturn(path1);
when(import2.getNamespace()).thenReturn(path2);
when(import1.getImportType()).thenReturn(DMNImportTypes.PMML.getDefaultNamespace());
when(import2.getImportType()).thenReturn(DMNImportTypes.PMML.getDefaultNamespace());
when(import1.getLocationURI()).thenReturn(new LocationURI(uri1));
when(import2.getLocationURI()).thenReturn(new LocationURI(uri2));
when(import1.getModelCount()).thenReturn(modelCount1);
when(import2.getModelCount()).thenReturn(modelCount2);
doAnswer(new Answer() {
private int count = 0;
public Object answer(InvocationOnMock invocation) {
return uuids[count++];
}
}).when(factory).uuidWrapper();
final List<BaseIncludedModelActiveRecord> includedModels = factory.makeIncludedModels(imports);
final BaseIncludedModelActiveRecord includedModel1 = includedModels.get(0);
final BaseIncludedModelActiveRecord includedModel2 = includedModels.get(1);
verify(includedModelsIndex).clear();
verify(includedModelsIndex).index(includedModel1, import1);
verify(includedModelsIndex).index(includedModel2, import2);
assertEquals(2, includedModels.size());
assertEquals(uuid1, includedModel1.getUUID());
assertEquals(uuid2, includedModel2.getUUID());
assertEquals(name1, includedModel1.getName());
assertEquals(name2, includedModel2.getName());
assertEquals(path1, includedModel1.getNamespace());
assertEquals(path2, includedModel2.getNamespace());
assertEquals(uri1, includedModel1.getPath());
assertEquals(uri2, includedModel2.getPath());
assertTrue(includedModel1 instanceof PMMLIncludedModelActiveRecord);
assertTrue(includedModel2 instanceof PMMLIncludedModelActiveRecord);
assertEquals(modelCount1, ((PMMLIncludedModelActiveRecord) includedModel1).getModelCount());
assertEquals(modelCount2, ((PMMLIncludedModelActiveRecord) includedModel2).getModelCount());
assertEquals(recordEngine, includedModel1.getRecordEngine());
assertEquals(recordEngine, includedModel2.getRecordEngine());
}
use of org.kie.workbench.common.dmn.api.definition.model.Import in project kie-wb-common by kiegroup.
the class ImportConverterTest method wbFromDMN_PMMLImportNoModels.
@Test
public void wbFromDMN_PMMLImportNoModels() {
when(jsitImportMock.getImportType()).thenReturn(PMML_IMPORT_TYPE);
Import resultImport = ImportConverter.wbFromDMN(jsitImportMock, null, pmmlDocumentMetadata);
assertTrue(resultImport instanceof ImportPMML);
assertEquals(LOCATION_URI, resultImport.getLocationURI().getValue());
assertEquals(NAME, resultImport.getNamespace());
assertEquals(DESCRIPTION, resultImport.getDescription().getValue());
assertEquals(NAME, resultImport.getName().getValue());
assertEquals(PMML_IMPORT_TYPE, resultImport.getImportType());
assertNotNull(resultImport.getId().getValue());
assertEquals(0, ((ImportPMML) resultImport).getModelCount());
}
use of org.kie.workbench.common.dmn.api.definition.model.Import in project kie-wb-common by kiegroup.
the class ImportConverterTest method wbFromDMN_DMNImport.
@Test
public void wbFromDMN_DMNImport() {
when(jsitImportMock.getImportType()).thenReturn(DMN_IMPORT_TYPE);
when(jsitDefinitionsMock.getDrgElement()).thenReturn(new ArrayList<>(Arrays.asList(mock(JSITDRGElement.class), mock(JSITDRGElement.class))));
when(jsitDefinitionsMock.getItemDefinition()).thenReturn(new ArrayList<>(Arrays.asList(mock(JSITItemDefinition.class))));
Import resultImport = ImportConverter.wbFromDMN(jsitImportMock, jsitDefinitionsMock, null);
assertTrue(resultImport instanceof ImportDMN);
assertEquals(NAMESPACE, resultImport.getNamespace());
assertEquals(LOCATION_URI, resultImport.getLocationURI().getValue());
assertEquals(DESCRIPTION, resultImport.getDescription().getValue());
assertEquals(NAME, resultImport.getName().getValue());
assertEquals(DMN_IMPORT_TYPE, resultImport.getImportType());
assertEquals(2, ((ImportDMN) resultImport).getDrgElementsCount());
assertEquals(1, ((ImportDMN) resultImport).getItemDefinitionsCount());
}
use of org.kie.workbench.common.dmn.api.definition.model.Import in project kie-wb-common by kiegroup.
the class WrapperUtilsTest method testGetDmnElementRefWithNamespace.
@Test
public void testGetDmnElementRefWithNamespace() {
final Decision drgElement = mock(Decision.class);
final View<? extends DMNElement> view = new ViewImpl<>(drgElement, null);
final Name drgElementName = mock(Name.class);
final Name importName = mock(Name.class);
final Id id = mock(Id.class);
final org.kie.workbench.common.dmn.api.definition.model.Definitions definitions = mock(org.kie.workbench.common.dmn.api.definition.model.Definitions.class);
final Import anImport = mock(Import.class);
final List<Import> imports = singletonList(anImport);
final String includedModelName = "includedModel";
final String defaultNamespace = "://default";
final String namespaceName = "include1";
final String importNamespace = "://namespace";
final Map<String, String> nsContext = new HashMap<>();
when(importName.getValue()).thenReturn(includedModelName);
when(anImport.getName()).thenReturn(importName);
when(anImport.getNamespace()).thenReturn(importNamespace);
when(id.getValue()).thenReturn("0000-1111-2222");
when(drgElementName.getValue()).thenReturn(includedModelName + ".Decision");
when(drgElement.getId()).thenReturn(id);
when(drgElement.getName()).thenReturn(drgElementName);
when(drgElement.getParent()).thenReturn(definitions);
nsContext.put(namespaceName, importNamespace);
when(definitions.getImport()).thenReturn(imports);
when(definitions.getNsContext()).thenReturn(nsContext);
final QName actual = getDmnElementRef(definitions, view, defaultNamespace);
assertEquals(defaultNamespace, actual.getNamespaceURI());
assertEquals("include1:0000-1111-2222", actual.getLocalPart());
assertEquals("", actual.getPrefix());
}
use of org.kie.workbench.common.dmn.api.definition.model.Import in project kie-wb-common by kiegroup.
the class HrefBuilderTest method testGetHrefForImportedDRGElement.
@Test
public void testGetHrefForImportedDRGElement() {
final DRGElement drgElement = mock(DRGElement.class);
final Name drgElementName = mock(Name.class);
final Name importName = mock(Name.class);
final Id id = mock(Id.class);
final Definitions definitions = mock(Definitions.class);
final Import anImport = mock(Import.class);
final List<Import> imports = singletonList(anImport);
final String includedModelName = "includedModel";
when(importName.getValue()).thenReturn(includedModelName);
when(anImport.getName()).thenReturn(importName);
when(anImport.getNamespace()).thenReturn("https://github.com/kiegroup/dmn/something");
when(id.getValue()).thenReturn("0000-1111-2222");
when(drgElementName.getValue()).thenReturn(includedModelName + ".Decision");
when(drgElement.getId()).thenReturn(id);
when(drgElement.getName()).thenReturn(drgElementName);
when(drgElement.getParent()).thenReturn(definitions);
when(definitions.getImport()).thenReturn(imports);
final String actual = HrefBuilder.getHref(drgElement);
final String expected = "https://github.com/kiegroup/dmn/something#0000-1111-2222";
assertEquals(expected, actual);
}
Aggregations