package org.kevoree.kevscript; import org.junit.Test; import org.kevoree.ContainerNode; import org.kevoree.Group; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; import static org.junit.Assert.fail; /** * * Created by leiko on 12/15/16. */ public class AttachTest extends AbstractKevScriptTest { @Test public void testSimple() throws Exception { try { this.kevs.executeFromStream(getClass().getResourceAsStream("/kevs/attach/simple.kevs"), this.model); ContainerNode node = this.model.findNodesByID("node"); Group sync = this.model.findGroupsByID("sync"); assertNotNull(node); assertNotNull(sync); assertEquals(1, node.getGroups().size()); assertEquals(1, sync.getSubNodes().size()); assertEquals(sync.getName(), node.getGroups().get(0).getName()); assertEquals(node.getName(), sync.getSubNodes().get(0).getName()); } catch (Exception e) { e.printStackTrace(); fail("An exception occurred:" + e.toString()); } } @Test public void testMultiple() throws Exception { try { this.kevs.executeFromStream(getClass().getResourceAsStream("/kevs/attach/multiple.kevs"), this.model); ContainerNode node0 = this.model.findNodesByID("node0"); ContainerNode node1 = this.model.findNodesByID("node1"); ContainerNode node2 = this.model.findNodesByID("node2"); Group sync = this.model.findGroupsByID("sync"); assertNotNull(node0); assertNotNull(node1); assertNotNull(node2); assertNotNull(sync); assertEquals(1, node0.getGroups().size()); assertEquals(0, node1.getGroups().size()); assertEquals(1, node2.getGroups().size()); assertEquals(2, sync.getSubNodes().size()); assertEquals(sync.getName(), node0.getGroups().get(0).getName()); assertEquals(sync.getName(), node2.getGroups().get(0).getName()); assertNotNull(sync.findSubNodesByID(node0.getName())); assertNull(sync.findSubNodesByID(node1.getName())); assertNotNull(sync.findSubNodesByID(node2.getName())); } catch (Exception e) { e.printStackTrace(); fail("An exception occurred:" + e.toString()); } } @Test public void testWildcard() throws Exception { try { this.kevs.executeFromStream(getClass().getResourceAsStream("/kevs/attach/wildcard.kevs"), this.model); ContainerNode node0 = this.model.findNodesByID("node0"); ContainerNode node1 = this.model.findNodesByID("node1"); ContainerNode node2 = this.model.findNodesByID("node2"); Group sync = this.model.findGroupsByID("sync"); assertNotNull(node0); assertNotNull(node1); assertNotNull(node2); assertNotNull(sync); assertEquals(1, node0.getGroups().size()); assertEquals(1, node1.getGroups().size()); assertEquals(1, node2.getGroups().size()); assertEquals(3, sync.getSubNodes().size()); assertEquals(sync.getName(), node0.getGroups().get(0).getName()); assertEquals(sync.getName(), node1.getGroups().get(0).getName()); assertEquals(sync.getName(), node2.getGroups().get(0).getName()); assertNotNull(sync.findSubNodesByID(node0.getName())); assertNotNull(sync.findSubNodesByID(node1.getName())); assertNotNull(sync.findSubNodesByID(node2.getName())); } catch (Exception e) { e.printStackTrace(); fail("An exception occurred:" + e.toString()); } } }