From 665d124b971e5d4582936dbbe401baa796e26952 Mon Sep 17 00:00:00 2001 From: erbel <johannes.erbel@cs.uni-goettingen.de> Date: Thu, 17 Jan 2019 13:41:56 +0100 Subject: [PATCH] Added Test Cases --- .../java/de/ugoe/cs/rwm/mocci/MapeTest.java | 25 ++++++++++++--- .../de/ugoe/cs/rwm/mocci/TestUtility.java | 30 ++++++++++++++++++ ... => org.modmacao.core.connector.dummy.jar} | Bin 3 files changed, 50 insertions(+), 5 deletions(-) rename src/test/resources/martserver-plugins/{org.modmacao.core.connector.dummy => org.modmacao.core.connector.dummy.jar} (100%) diff --git a/src/test/java/de/ugoe/cs/rwm/mocci/MapeTest.java b/src/test/java/de/ugoe/cs/rwm/mocci/MapeTest.java index cb2e69b..645f120 100644 --- a/src/test/java/de/ugoe/cs/rwm/mocci/MapeTest.java +++ b/src/test/java/de/ugoe/cs/rwm/mocci/MapeTest.java @@ -1,16 +1,17 @@ package de.ugoe.cs.rwm.mocci; +import static org.junit.Assert.assertTrue; + import java.nio.file.Path; import java.nio.file.Paths; +import org.eclipse.cmf.occi.core.Configuration; +import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.epsilon.emc.emf.CachedResourceSet; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Ignore; import org.junit.Test; -import org.modmacao.occi.platform.Componentlink; - -import org.modmacao.occi.platform.impl.PlatformFactoryImpl; import de.ugoe.cs.rwm.docci.MartDeployer; import de.ugoe.cs.rwm.docci.ModelUtility; @@ -41,20 +42,33 @@ public class MapeTest { @Test public void Monitor() { Monitor monitor = MAPE.monitor(); + assertTrue(monitor.getAllCPUs() == 1); } @Test public void Analyze() { Monitor monitor = MAPE.monitor(); String analysis = MAPE.analyze(monitor); + if(monitor.getCritCPUs() == 1) { + assertTrue(analysis.equals("upScale")); + } + if(monitor.getNoneCPUs() == 1) { + assertTrue(analysis.equals("downScale")); + } } @Test public void Plan() { Monitor monitor = MAPE.monitor(); String analysis = MAPE.analyze(monitor); - MAPE.runtimeModel = MAPE.plan(analysis); - } + Resource res = MAPE.plan(analysis); + if(analysis.equals("upScale")) { + Configuration pre = (Configuration) MAPE.runtimeModel.getContents().get(0); + Configuration post = (Configuration) res.getContents().get(0); + assertTrue(pre.getResources().size()<post.getResources().size()); + + } + } @Test public void Execute() { @@ -62,6 +76,7 @@ public class MapeTest { String analysis = MAPE.analyze(monitor); MAPE.runtimeModel = MAPE.plan(analysis); MAPE.execute(MAPE.runtimeModel); + assertTrue(TestUtility.equalsRuntime(MAPE.runtimeModel, MAPE.conn)); } } diff --git a/src/test/java/de/ugoe/cs/rwm/mocci/TestUtility.java b/src/test/java/de/ugoe/cs/rwm/mocci/TestUtility.java index 0c1e6c7..08b0bca 100644 --- a/src/test/java/de/ugoe/cs/rwm/mocci/TestUtility.java +++ b/src/test/java/de/ugoe/cs/rwm/mocci/TestUtility.java @@ -129,4 +129,34 @@ public class TestUtility { return assertion; } + + public static boolean equalsRuntime(Resource desiredModel, Connector conn) { + Path deployedOCCI = Paths.get(System.getProperty("user.home") + "/.rwm/runtime.occic"); + conn.loadRuntimeModel(deployedOCCI); + org.eclipse.emf.ecore.resource.Resource runtimeModel = ModelUtility.loadOCCIintoEMFResource(deployedOCCI); + + Comparator comp = ComparatorFactory.getComparator("Simple", desiredModel, runtimeModel); + + boolean assertion = true; + System.out.println("MISSING ELEMENTS:"); + for (EObject obj : comp.getMissingElements()) { + // Network check due to provider network + if (obj.eClass().getName().equals("Network") == false) { + + System.out.println(obj); + assertion = false; + } + + } + + System.out.println("NEW ELEMENTS:"); + for (EObject obj : comp.getNewElements()) { + // Network check due to provider network + if (obj.eClass().getName().equals("Network") == false) { + System.out.println(obj); + assertion = false; + } + } + return assertion; + } } diff --git a/src/test/resources/martserver-plugins/org.modmacao.core.connector.dummy b/src/test/resources/martserver-plugins/org.modmacao.core.connector.dummy.jar similarity index 100% rename from src/test/resources/martserver-plugins/org.modmacao.core.connector.dummy rename to src/test/resources/martserver-plugins/org.modmacao.core.connector.dummy.jar -- GitLab