/** * Adds a deployment node to this view, including relationships to/from that deployment node (and children). * * @param deploymentNode the DeploymentNode to add */ public void add(@Nonnull DeploymentNode deploymentNode) { add(deploymentNode, true); }
@Test public void test_addRelationship_ThrowsAnException_WhenPassedNull() { try { deploymentView = views.createDeploymentView("key", "Description"); deploymentView.add((Relationship)null); fail(); } catch (IllegalArgumentException iae) { assertEquals("A relationship must be specified.", iae.getMessage()); } }
@Test public void test_addDeploymentNode_ThrowsAnException_WhenPassedNull() { try { deploymentView = views.createDeploymentView("key", "Description"); deploymentView.add((DeploymentNode)null); fail(); } catch (IllegalArgumentException iae) { assertEquals("A deployment node must be specified.", iae.getMessage()); } }
@Test public void test_copyLayoutInformationFrom_DoesNotDoAnythingIfThereIsNoDeploymentViewToCopyInformationFrom() { Workspace workspace1 = createWorkspace(); Workspace workspace2 = createWorkspace(); DeploymentNode deploymentNode2 = workspace2.getModel().getDeploymentNodeWithName("Deployment Node"); DeploymentView view2 = workspace2.getViews().createDeploymentView("key", "Description"); view2.add(deploymentNode2); workspace2.getViews().copyLayoutInformationFrom(workspace1.getViews()); assertEquals(0, view2.getElements().stream().filter(ev -> ev.getElement() instanceof ContainerInstance).findFirst().get().getX()); // default assertEquals(0, view2.getElements().stream().filter(ev -> ev.getElement() instanceof ContainerInstance).findFirst().get().getY()); // default assertNull(view2.getPaperSize()); // default }
@Test public void test_copyLayoutInformationFrom_WhenTheDeploymentViewKeysMatch() { Workspace workspace1 = createWorkspace(); DeploymentNode deploymentNode1 = workspace1.getModel().getDeploymentNodeWithName("Deployment Node"); DeploymentView view1 = workspace1.getViews().createDeploymentView("key", "Description"); view1.add(deploymentNode1); view1.getElements().stream().filter(ev -> ev.getElement() instanceof ContainerInstance).findFirst().get().setX(100); view1.getElements().stream().filter(ev -> ev.getElement() instanceof ContainerInstance).findFirst().get().setY(200); view1.setPaperSize(PaperSize.A3_Landscape); Workspace workspace2 = createWorkspace(); DeploymentNode deploymentNode2 = workspace2.getModel().getDeploymentNodeWithName("Deployment Node"); DeploymentView view2 = workspace2.getViews().createDeploymentView("key", "Description"); view2.add(deploymentNode2); workspace2.getViews().copyLayoutInformationFrom(workspace1.getViews()); assertEquals(100, view2.getElements().stream().filter(ev -> ev.getElement() instanceof ContainerInstance).findFirst().get().getX()); assertEquals(200, view2.getElements().stream().filter(ev -> ev.getElement() instanceof ContainerInstance).findFirst().get().getY()); assertEquals(PaperSize.A3_Landscape, view2.getPaperSize()); }
@Test public void test_addDeploymentNode_AddsTheParentToo() { SoftwareSystem softwareSystem = model.addSoftwareSystem("Software System", ""); Container container = softwareSystem.addContainer("Container", "Description", "Technology"); DeploymentNode deploymentNodeParent = model.addDeploymentNode("Deployment Node", "Description", "Technology"); DeploymentNode deploymentNodeChild = deploymentNodeParent.addDeploymentNode("Deployment Node", "Description", "Technology"); ContainerInstance containerInstance = deploymentNodeChild.add(container); deploymentView = views.createDeploymentView(softwareSystem, "deployment", "Description"); deploymentView.add(deploymentNodeChild); assertEquals(3, deploymentView.getElements().size()); assertTrue(deploymentView.getElements().contains(new ElementView(deploymentNodeParent))); assertTrue(deploymentView.getElements().contains(new ElementView(deploymentNodeChild))); assertTrue(deploymentView.getElements().contains(new ElementView(containerInstance))); }
developmentDeploymentView.add(developerLaptop); developmentDeploymentView.setPaperSize(PaperSize.A5_Landscape); liveDeploymentView.add(bigBankDataCenter); liveDeploymentView.add(customerMobileDevice); liveDeploymentView.add(customerComputer); liveDeploymentView.add(dataReplicationRelationship); liveDeploymentView.setPaperSize(PaperSize.A5_Landscape);