Repository: stratos Updated Branches: refs/heads/cc-unit-tests 46d085e30 -> edc6eca00 refs/heads/master 4b39ed654 -> 2db1eeaf0
Committing half-way changes in testing deployCartridgeDefinition API. Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/edc6eca0 Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/edc6eca0 Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/edc6eca0 Branch: refs/heads/cc-unit-tests Commit: edc6eca000fb08470c64b6844e84c11d69843c17 Parents: 46d085e Author: Nirmal Fernando <[email protected]> Authored: Wed Oct 1 17:15:36 2014 +0530 Committer: Nirmal Fernando <[email protected]> Committed: Wed Oct 1 17:15:36 2014 +0530 ---------------------------------------------------------------------- .../impl/CloudControllerServiceImplTest.java | 46 +++++++++++++++++++- 1 file changed, 44 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/edc6eca0/components/org.apache.stratos.cloud.controller/src/test/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImplTest.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/test/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImplTest.java b/components/org.apache.stratos.cloud.controller/src/test/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImplTest.java index 36c82c9..081a656 100644 --- a/components/org.apache.stratos.cloud.controller/src/test/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImplTest.java +++ b/components/org.apache.stratos.cloud.controller/src/test/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImplTest.java @@ -19,10 +19,18 @@ package org.apache.stratos.cloud.controller.impl; import org.apache.stratos.cloud.controller.exception.InvalidCartridgeDefinitionException; +import org.apache.stratos.cloud.controller.iaases.AWSEC2Iaas; import org.apache.stratos.cloud.controller.pojo.CartridgeConfig; +import org.apache.stratos.cloud.controller.pojo.IaasConfig; +import org.apache.stratos.cloud.controller.pojo.IaasProvider; import org.apache.stratos.cloud.controller.registry.RegistryManager; import org.apache.stratos.cloud.controller.runtime.FasterLookUpDataHolder; +import org.apache.stratos.cloud.controller.util.CloudControllerUtil; import org.apache.stratos.cloud.controller.util.ServiceReferenceHolder; +import org.jclouds.aws.ec2.compute.AWSEC2TemplateOptions; +import org.jclouds.compute.ComputeService; +import org.jclouds.compute.domain.Template; +import org.jclouds.ec2.compute.internal.EC2TemplateBuilderImpl; import org.junit.BeforeClass; import org.junit.Test; import org.wso2.carbon.registry.core.session.UserRegistry; @@ -35,7 +43,7 @@ import static org.mockito.Mockito.*; */ public class CloudControllerServiceImplTest { private static RegistryManager registry; - private static FasterLookUpDataHolder data ; + private static FasterLookUpDataHolder data; private static ServiceReferenceHolder serviceRefHolder = ServiceReferenceHolder.getInstance(); private static CloudControllerServiceImpl service; @@ -51,9 +59,9 @@ public class CloudControllerServiceImplTest { when(registry.retrieve()).thenReturn(null); data = mock(FasterLookUpDataHolder.class); - service = new CloudControllerServiceImpl(true); + } @Test @@ -68,5 +76,39 @@ public class CloudControllerServiceImplTest { assertEquals("Invalid Cartridge Definition: Cartridge Type: php. " + "Cause: Iaases of this Cartridge is null or empty.", e.getMessage()); } + + IaasConfig iaasConfig = mock(IaasConfig.class); + when(iaasConfig.getType()).thenReturn("ec2"); + when(iaasConfig.getClassName()).thenReturn(AWSEC2Iaas.class.getName()); + when(iaasConfig.getProvider()).thenReturn("aws-ec2"); + when(iaasConfig.getIdentity()).thenReturn("EC2_IDENTITY"); + when(iaasConfig.getCredential()).thenReturn("EC2_CREDENTIAL"); +// when(iaasConfig.getComputeService()).thenReturn(computeService); + when(iaasConfig.getImageId()).thenReturn("us-east-1/ami-623e940a"); + cartridgeConfig.setIaasConfigs(new IaasConfig[]{iaasConfig}); + + IaasProvider iaasProvider = mock(IaasProvider.class); + ComputeService computeService = mock(ComputeService.class); + EC2TemplateBuilderImpl templateBuilder = mock(EC2TemplateBuilderImpl.class); + Template template = mock(Template.class); + CloudControllerUtil util = mock(CloudControllerUtil.class); + + when(template.getOptions()).thenReturn(new AWSEC2TemplateOptions()); + when(templateBuilder.build()).thenReturn(template); + when(computeService.templateBuilder()).thenReturn(templateBuilder); + + AWSEC2Iaas iaas = mock(AWSEC2Iaas.class); + doNothing().when(iaas).buildTemplate(); + when(iaasProvider.getIaas()).thenReturn(iaas); + +// List<IaasProvider> iaases = new ArrayList<IaasProvider>(); +// iaases.add(iaasProvider); +// data.setIaasProviders(iaases); +// when(data.getIaasProviders()).thenReturn(iaases); +// Iaas iaas = new AWSEC2Iaas(iaasProvider); +// doThrow(new RuntimeException()).when(iaasProvider).setIaas(iaas); + + service.deployCartridgeDefinition(cartridgeConfig); + } }
