diff --git a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java index 9a34cd2c08b..e1f7d3d61e5 100644 --- a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java +++ b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java @@ -2869,7 +2869,7 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe } } - private List getPatchFiles() { + protected List getPatchFiles() { String patch = getPatchFilePath(); String patchfilePath = Script.findScript("", patch); if (patchfilePath == null) { diff --git a/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/CitrixResourceBaseTest.java b/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/CitrixResourceBaseTest.java new file mode 100644 index 00000000000..353b10683ee --- /dev/null +++ b/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/CitrixResourceBaseTest.java @@ -0,0 +1,52 @@ +/* + * Copyright 2015 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.cloud.hypervisor.xenserver.resource; + +import java.io.File; +import java.util.List; + +import org.junit.Assert; +import org.mockito.Mockito; +import org.powermock.api.mockito.PowerMockito; + +import com.cloud.utils.script.Script; + +public abstract class CitrixResourceBaseTest { + + public void testGetPathFilesExeption(CitrixResourceBase citrixResourceBase) { + String patch = citrixResourceBase.getPatchFilePath(); + + PowerMockito.mockStatic(Script.class); + Mockito.when(Script.findScript("", patch)).thenReturn(null); + + citrixResourceBase.getPatchFiles(); + + } + + public void testGetPathFilesListReturned(CitrixResourceBase citrixResourceBase) { + String patch = citrixResourceBase.getPatchFilePath(); + + PowerMockito.mockStatic(Script.class); + Mockito.when(Script.findScript("", patch)).thenReturn(patch); + + File expected = new File(patch); + String pathExpected = expected.getAbsolutePath(); + + List files = citrixResourceBase.getPatchFiles(); + String receivedPath = files.get(0).getAbsolutePath(); + Assert.assertEquals(receivedPath, pathExpected); + } +} diff --git a/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XcpOssResourcePathTest.java b/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XcpOssResourceTest.java similarity index 60% rename from plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XcpOssResourcePathTest.java rename to plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XcpOssResourceTest.java index 1617432b22e..b0c900c7f69 100644 --- a/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XcpOssResourcePathTest.java +++ b/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XcpOssResourceTest.java @@ -17,8 +17,14 @@ package com.cloud.hypervisor.xenserver.resource; import org.junit.Assert; import org.junit.Test; +import org.junit.runner.RunWith; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.junit4.PowerMockRunner; -public class XcpOssResourcePathTest { +import com.cloud.utils.exception.CloudRuntimeException; +import com.cloud.utils.script.Script; +@RunWith(PowerMockRunner.class) +public class XcpOssResourceTest extends CitrixResourceBaseTest{ private XcpOssResource xcpOssResource = new XcpOssResource(); @@ -29,4 +35,16 @@ public class XcpOssResourcePathTest { Assert.assertEquals(patch, patchFilePath); } + + @Test(expected = CloudRuntimeException.class) + @PrepareForTest(Script.class ) + public void testGetFiles(){ + testGetPathFilesExeption(xcpOssResource); + } + + @Test + @PrepareForTest(Script.class ) + public void testGetFilesListReturned(){ + testGetPathFilesListReturned(xcpOssResource); + } } diff --git a/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XcpServerResourcePathTest.java b/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XcpServerResourceTest.java similarity index 60% rename from plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XcpServerResourcePathTest.java rename to plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XcpServerResourceTest.java index 17fa6499dda..ba3d91de2ae 100644 --- a/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XcpServerResourcePathTest.java +++ b/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XcpServerResourceTest.java @@ -17,8 +17,15 @@ package com.cloud.hypervisor.xenserver.resource; import org.junit.Assert; import org.junit.Test; +import org.junit.runner.RunWith; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.junit4.PowerMockRunner; -public class XcpServerResourcePathTest { +import com.cloud.utils.exception.CloudRuntimeException; +import com.cloud.utils.script.Script; + +@RunWith(PowerMockRunner.class) +public class XcpServerResourceTest extends CitrixResourceBaseTest{ private XcpServerResource xcpServerResource = new XcpServerResource(); @@ -29,4 +36,16 @@ public class XcpServerResourcePathTest { Assert.assertEquals(patch, patchFilePath); } + + @Test(expected = CloudRuntimeException.class) + @PrepareForTest(Script.class ) + public void testGetFilesExeption(){ + testGetPathFilesExeption(xcpServerResource); + } + + @Test + @PrepareForTest(Script.class ) + public void testGetFilesListReturned(){ + testGetPathFilesListReturned(xcpServerResource); + } } diff --git a/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XenServer56FP1ResourcePathTest.java b/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XenServer56FP1ResourceTest.java similarity index 60% rename from plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XenServer56FP1ResourcePathTest.java rename to plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XenServer56FP1ResourceTest.java index 7b76816a6f6..def51cf0d55 100644 --- a/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XenServer56FP1ResourcePathTest.java +++ b/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XenServer56FP1ResourceTest.java @@ -17,8 +17,14 @@ package com.cloud.hypervisor.xenserver.resource; import org.junit.Assert; import org.junit.Test; +import org.junit.runner.RunWith; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.junit4.PowerMockRunner; -public class XenServer56FP1ResourcePathTest { +import com.cloud.utils.exception.CloudRuntimeException; +import com.cloud.utils.script.Script; +@RunWith(PowerMockRunner.class) +public class XenServer56FP1ResourceTest extends CitrixResourceBaseTest{ private XenServer56FP1Resource xenServer56FP1Resource = new XenServer56FP1Resource(); @@ -29,4 +35,14 @@ public class XenServer56FP1ResourcePathTest { Assert.assertEquals(patch, patchFilePath); } + @Test(expected = CloudRuntimeException.class) + @PrepareForTest(Script.class ) + public void testGetFiles(){ + testGetPathFilesExeption(xenServer56FP1Resource); + } + @Test + @PrepareForTest(Script.class ) + public void testGetFilesListReturned(){ + testGetPathFilesListReturned(xenServer56FP1Resource); + } } diff --git a/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XenServer56ResourcePathTest.java b/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XenServer56ResourceTest.java similarity index 60% rename from plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XenServer56ResourcePathTest.java rename to plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XenServer56ResourceTest.java index c92dd23bc14..960dd7f049a 100644 --- a/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XenServer56ResourcePathTest.java +++ b/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XenServer56ResourceTest.java @@ -17,8 +17,14 @@ package com.cloud.hypervisor.xenserver.resource; import org.junit.Assert; import org.junit.Test; +import org.junit.runner.RunWith; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.junit4.PowerMockRunner; -public class XenServer56ResourcePathTest { +import com.cloud.utils.exception.CloudRuntimeException; +import com.cloud.utils.script.Script; +@RunWith(PowerMockRunner.class) +public class XenServer56ResourceTest extends CitrixResourceBaseTest { private XenServer56Resource xenServer56Resource = new XenServer56Resource(); @@ -29,4 +35,15 @@ public class XenServer56ResourcePathTest { Assert.assertEquals(patch, patchFilePath); } + + @Test(expected = CloudRuntimeException.class) + @PrepareForTest(Script.class ) + public void testGetFiles(){ + testGetPathFilesExeption(xenServer56Resource); + } + @Test + @PrepareForTest(Script.class ) + public void testGetFilesListReturned(){ + testGetPathFilesListReturned(xenServer56Resource); + } } diff --git a/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XenServer56SP2ResourcePathTest.java b/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XenServer56SP2ResourceTest.java similarity index 60% rename from plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XenServer56SP2ResourcePathTest.java rename to plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XenServer56SP2ResourceTest.java index e301673602e..300f95d6dde 100644 --- a/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XenServer56SP2ResourcePathTest.java +++ b/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XenServer56SP2ResourceTest.java @@ -17,8 +17,14 @@ package com.cloud.hypervisor.xenserver.resource; import org.junit.Assert; import org.junit.Test; +import org.junit.runner.RunWith; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.junit4.PowerMockRunner; -public class XenServer56SP2ResourcePathTest { +import com.cloud.utils.exception.CloudRuntimeException; +import com.cloud.utils.script.Script; +@RunWith(PowerMockRunner.class) +public class XenServer56SP2ResourceTest extends CitrixResourceBaseTest{ private XenServer56SP2Resource xenServer56SP2Resource = new XenServer56SP2Resource(); @@ -29,4 +35,14 @@ public class XenServer56SP2ResourcePathTest { Assert.assertEquals(patch, patchFilePath); } + @Test(expected = CloudRuntimeException.class) + @PrepareForTest(Script.class ) + public void testGetFiles(){ + testGetPathFilesExeption(xenServer56SP2Resource); + } + @Test + @PrepareForTest(Script.class ) + public void testGetFilesListReturned(){ + testGetPathFilesListReturned(xenServer56SP2Resource); + } } diff --git a/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XenServer600ResourcePathTest.java b/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XenServer600ResourceTest.java similarity index 60% rename from plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XenServer600ResourcePathTest.java rename to plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XenServer600ResourceTest.java index 27762e8939c..34deeb81f8f 100644 --- a/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XenServer600ResourcePathTest.java +++ b/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XenServer600ResourceTest.java @@ -17,8 +17,14 @@ package com.cloud.hypervisor.xenserver.resource; import org.junit.Assert; import org.junit.Test; +import org.junit.runner.RunWith; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.junit4.PowerMockRunner; -public class XenServer600ResourcePathTest { +import com.cloud.utils.exception.CloudRuntimeException; +import com.cloud.utils.script.Script; +@RunWith(PowerMockRunner.class) +public class XenServer600ResourceTest extends CitrixResourceBaseTest{ private XenServer600Resource xenServer600Resource = new XenServer600Resource(); @@ -29,4 +35,14 @@ public class XenServer600ResourcePathTest { Assert.assertEquals(patch, patchFilePath); } + @Test(expected = CloudRuntimeException.class) + @PrepareForTest(Script.class ) + public void testGetFiles(){ + testGetPathFilesExeption(xenServer600Resource); + } + @Test + @PrepareForTest(Script.class ) + public void testGetFilesListReturned(){ + testGetPathFilesListReturned(xenServer600Resource); + } } diff --git a/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XenServer625ResourcePathTest.java b/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XenServer625ResourceTest.java similarity index 60% rename from plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XenServer625ResourcePathTest.java rename to plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XenServer625ResourceTest.java index 121ba0c5679..640ca060a8b 100644 --- a/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XenServer625ResourcePathTest.java +++ b/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XenServer625ResourceTest.java @@ -17,8 +17,14 @@ package com.cloud.hypervisor.xenserver.resource; import org.junit.Assert; import org.junit.Test; +import org.junit.runner.RunWith; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.junit4.PowerMockRunner; -public class XenServer625ResourcePathTest { +import com.cloud.utils.exception.CloudRuntimeException; +import com.cloud.utils.script.Script; +@RunWith(PowerMockRunner.class) +public class XenServer625ResourceTest extends CitrixResourceBaseTest{ private Xenserver625Resource xenServer625Resource = new Xenserver625Resource(); @@ -29,4 +35,14 @@ public class XenServer625ResourcePathTest { Assert.assertEquals(patch, patchFilePath); } + @Test(expected = CloudRuntimeException.class) + @PrepareForTest(Script.class ) + public void testGetFiles(){ + testGetPathFilesExeption(xenServer625Resource); + } + @Test + @PrepareForTest(Script.class ) + public void testGetFilesListReturned(){ + testGetPathFilesListReturned(xenServer625Resource); + } } diff --git a/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XenServer650ResourcePathTest.java b/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XenServer650ResourceTest.java similarity index 60% rename from plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XenServer650ResourcePathTest.java rename to plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XenServer650ResourceTest.java index 18a4bbb431d..148b22def3d 100644 --- a/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XenServer650ResourcePathTest.java +++ b/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/XenServer650ResourceTest.java @@ -17,8 +17,14 @@ package com.cloud.hypervisor.xenserver.resource; import org.junit.Assert; import org.junit.Test; +import org.junit.runner.RunWith; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.junit4.PowerMockRunner; -public class XenServer650ResourcePathTest { +import com.cloud.utils.exception.CloudRuntimeException; +import com.cloud.utils.script.Script; +@RunWith(PowerMockRunner.class) +public class XenServer650ResourceTest extends CitrixResourceBaseTest{ private XenServer650Resource xenServer650Resource = new XenServer650Resource(); @@ -29,4 +35,15 @@ public class XenServer650ResourcePathTest { Assert.assertEquals(patch, patchFilePath); } + + @Test(expected = CloudRuntimeException.class) + @PrepareForTest(Script.class ) + public void testGetFiles(){ + testGetPathFilesExeption(xenServer650Resource); + } + @Test + @PrepareForTest(Script.class ) + public void testGetFilesListReturned(){ + testGetPathFilesListReturned(xenServer650Resource); + } }