diff --git a/server/test/com/cloud/alert/MockAlertManagerImpl.java b/server/test/com/cloud/alert/MockAlertManagerImpl.java new file mode 100644 index 00000000000..3f87193d2f1 --- /dev/null +++ b/server/test/com/cloud/alert/MockAlertManagerImpl.java @@ -0,0 +1,87 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you 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.alert; + +import java.util.Map; + +import javax.ejb.Local; +import javax.naming.ConfigurationException; + +@Local(value = {AlertManager.class}) +public class MockAlertManagerImpl implements AlertManager { + + /* (non-Javadoc) + * @see com.cloud.utils.component.Manager#configure(java.lang.String, java.util.Map) + */ + @Override + public boolean configure(String name, Map params) throws ConfigurationException { + return true; + } + + /* (non-Javadoc) + * @see com.cloud.utils.component.Manager#start() + */ + @Override + public boolean start() { + return true; + } + + /* (non-Javadoc) + * @see com.cloud.utils.component.Manager#stop() + */ + @Override + public boolean stop() { + return true; + } + + /* (non-Javadoc) + * @see com.cloud.utils.component.Manager#getName() + */ + @Override + public String getName() { + return "MockAlertManagerImpl"; + } + + /* (non-Javadoc) + * @see com.cloud.alert.AlertManager#clearAlert(short, long, long) + */ + @Override + public void clearAlert(short alertType, long dataCenterId, long podId) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.alert.AlertManager#sendAlert(short, long, java.lang.Long, java.lang.String, java.lang.String) + */ + @Override + public void sendAlert(short alertType, long dataCenterId, Long podId, String subject, String body) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.alert.AlertManager#recalculateCapacity() + */ + @Override + public void recalculateCapacity() { + // TODO Auto-generated method stub + + } + +} diff --git a/server/test/com/cloud/network/NetworkManagerTest.java b/server/test/com/cloud/network/NetworkManagerTest.java new file mode 100644 index 00000000000..017adfee718 --- /dev/null +++ b/server/test/com/cloud/network/NetworkManagerTest.java @@ -0,0 +1,53 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you 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.network; + + +import junit.framework.Assert; + +import org.junit.Test; + +import com.cloud.network.element.DhcpServiceProvider; +import com.cloud.network.element.IpDeployer; +import com.cloud.network.firewall.FirewallManagerImpl; +import com.cloud.network.rules.FirewallManager; +import com.cloud.utils.component.ComponentLocator; +import com.cloud.utils.testcase.ComponentSetup; +import com.cloud.utils.testcase.ComponentTestCase; + +@ComponentSetup(managerName="management-server", setupXml="network-mgr-component.xml") +public class NetworkManagerTest extends ComponentTestCase { + + @Test + public void testInjected() { + NetworkManagerImpl networkMgr = (NetworkManagerImpl)ComponentLocator.getCurrentLocator().getManager(NetworkManager.class); + Assert.assertTrue(networkMgr._ipDeployers.enumeration().hasMoreElements()); + Assert.assertTrue(networkMgr._networkElements.enumeration().hasMoreElements()); + Assert.assertTrue(networkMgr._dhcpProviders.enumeration().hasMoreElements()); + Assert.assertNotNull(networkMgr._networkModel); + + Assert.assertNotNull(networkMgr._ipDeployers.get("VirtualRouter")); + Assert.assertNotNull(networkMgr._dhcpProviders.get("VirtualRouter")); + + Assert.assertTrue(networkMgr._ipDeployers.get("VirtualRouter") instanceof IpDeployer); + Assert.assertTrue(networkMgr._dhcpProviders.get("VirtualRouter") instanceof DhcpServiceProvider); + + + } + +} diff --git a/server/test/com/cloud/network/NetworkManagerTestComponentLibrary.java b/server/test/com/cloud/network/NetworkManagerTestComponentLibrary.java new file mode 100644 index 00000000000..24979e40b66 --- /dev/null +++ b/server/test/com/cloud/network/NetworkManagerTestComponentLibrary.java @@ -0,0 +1,104 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you 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.network; + +import com.cloud.agent.MockAgentManagerImpl; +import com.cloud.alert.AlertManagerImpl; +import com.cloud.alert.MockAlertManagerImpl; +import com.cloud.baremetal.ExternalDhcpManagerImpl; +import com.cloud.configuration.ConfigurationManagerImpl; +import com.cloud.configuration.DefaultComponentLibrary; +import com.cloud.network.as.AutoScaleManagerImpl; +import com.cloud.network.firewall.FirewallManagerImpl; +import com.cloud.network.lb.LoadBalancingRulesManagerImpl; +import com.cloud.network.router.VpcVirtualNetworkApplianceManagerImpl; +import com.cloud.network.rules.RulesManagerImpl; +import com.cloud.network.security.SecurityGroupManagerImpl2; +import com.cloud.network.vpc.NetworkACLManagerImpl; +import com.cloud.network.vpc.VpcManagerImpl; +import com.cloud.network.vpn.RemoteAccessVpnManagerImpl; +import com.cloud.network.vpn.Site2SiteVpnManagerImpl; +import com.cloud.projects.MockProjectManagerImpl; +import com.cloud.projects.ProjectManagerImpl; +import com.cloud.resource.MockResourceManagerImpl; +import com.cloud.resource.ResourceManagerImpl; +import com.cloud.resourcelimit.ResourceLimitManagerImpl; +import com.cloud.storage.s3.S3ManagerImpl; +import com.cloud.storage.secondary.SecondaryStorageManagerImpl; +import com.cloud.storage.swift.SwiftManagerImpl; +import com.cloud.tags.TaggedResourceManagerImpl; +import com.cloud.template.TemplateManagerImpl; +import com.cloud.user.AccountManagerImpl; +import com.cloud.user.DomainManagerImpl; +import com.cloud.user.MockAccountManagerImpl; +import com.cloud.user.MockDomainManagerImpl; +import com.cloud.vm.MockVirtualMachineManagerImpl; +import com.cloud.vpc.MockConfigurationManagerImpl; +import com.cloud.vpc.MockResourceLimitManagerImpl; +import com.cloud.vpc.MockVpcManagerImpl; +import com.cloud.vpc.MockVpcVirtualNetworkApplianceManager; + + +public class NetworkManagerTestComponentLibrary extends DefaultComponentLibrary { + + /* (non-Javadoc) + * @see com.cloud.configuration.DefaultComponentLibrary#populateManagers() + */ + @Override + protected void populateManagers() { + addManager("configuration manager", MockConfigurationManagerImpl.class); + addManager("account manager", MockAccountManagerImpl.class); + addManager("domain manager", MockDomainManagerImpl.class); + addManager("resource limit manager", MockResourceLimitManagerImpl.class); + addManager("network service", NetworkServiceImpl.class); + addManager("network manager", NetworkManagerImpl.class); + addManager("network model", NetworkModelImpl.class); + addManager("LoadBalancingRulesManager", LoadBalancingRulesManagerImpl.class); + //addManager("AutoScaleManager", AutoScaleManagerImpl.class); + addManager("RulesManager", RulesManagerImpl.class); + addManager("RemoteAccessVpnManager", RemoteAccessVpnManagerImpl.class); + addManager("FirewallManager", FirewallManagerImpl.class); + addManager("StorageNetworkManager", StorageNetworkManagerImpl.class); + addManager("VPC Manager", MockVpcManagerImpl.class); + addManager("VpcVirtualRouterManager", MockVpcVirtualNetworkApplianceManager.class); + addManager("NetworkACLManager", NetworkACLManagerImpl.class); + addManager("Site2SiteVpnManager", Site2SiteVpnManagerImpl.class); + addManager("Alert Manager", MockAlertManagerImpl.class); + addManager("ProjectManager", MockProjectManagerImpl.class); + //addManager("SwiftManager", SwiftManagerImpl.class); + //addManager("S3Manager", S3ManagerImpl.class); + //addManager("SecondaryStorageManager", SecondaryStorageManagerImpl.class); + //addManager("SecurityGroupManager", SecurityGroupManagerImpl2.class); + addManager("AgentManager", MockAgentManagerImpl.class); + addManager("ExternalLoadBalancerUsageManager", ExternalLoadBalancerUsageManagerImpl.class); + //addManager("TemplateManager", TemplateManagerImpl.class); + //addManager("VirtualMachineManager", MockVirtualMachineManagerImpl.class); + addManager("ResourceManager", MockResourceManagerImpl.class); + addManager("ExternalDhcpManager", ExternalDhcpManagerImpl.class); + + + + + } + + @Override + protected void populateAdapters() { + //no-op + } + +} diff --git a/server/test/com/cloud/resource/MockResourceManagerImpl.java b/server/test/com/cloud/resource/MockResourceManagerImpl.java new file mode 100644 index 00000000000..19356b36756 --- /dev/null +++ b/server/test/com/cloud/resource/MockResourceManagerImpl.java @@ -0,0 +1,607 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you 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.resource; + +import java.util.List; +import java.util.Map; +import java.util.Set; + +import javax.ejb.Local; +import javax.naming.ConfigurationException; + +import com.cloud.agent.api.StartupCommand; +import com.cloud.agent.api.StartupRoutingCommand; +import com.cloud.api.commands.AddClusterCmd; +import com.cloud.api.commands.AddHostCmd; +import com.cloud.api.commands.AddS3Cmd; +import com.cloud.api.commands.AddSecondaryStorageCmd; +import com.cloud.api.commands.AddSwiftCmd; +import com.cloud.api.commands.CancelMaintenanceCmd; +import com.cloud.api.commands.DeleteClusterCmd; +import com.cloud.api.commands.ListS3sCmd; +import com.cloud.api.commands.ListSwiftsCmd; +import com.cloud.api.commands.PrepareForMaintenanceCmd; +import com.cloud.api.commands.ReconnectHostCmd; +import com.cloud.api.commands.UpdateHostCmd; +import com.cloud.api.commands.UpdateHostPasswordCmd; +import com.cloud.dc.DataCenterVO; +import com.cloud.dc.HostPodVO; +import com.cloud.dc.PodCluster; +import com.cloud.exception.AgentUnavailableException; +import com.cloud.exception.DiscoveryException; +import com.cloud.exception.InvalidParameterValueException; +import com.cloud.exception.ResourceInUseException; +import com.cloud.host.Host; +import com.cloud.host.HostStats; +import com.cloud.host.HostVO; +import com.cloud.host.Status; +import com.cloud.host.Host.Type; +import com.cloud.hypervisor.Hypervisor.HypervisorType; +import com.cloud.org.Cluster; +import com.cloud.resource.ResourceState.Event; +import com.cloud.service.ServiceOfferingVO; +import com.cloud.storage.S3; +import com.cloud.storage.Swift; +import com.cloud.template.VirtualMachineTemplate; +import com.cloud.utils.Pair; +import com.cloud.utils.component.Manager; +import com.cloud.utils.fsm.NoTransitionException; + +@Local(value = {ResourceManager.class}) +public class MockResourceManagerImpl implements ResourceManager, Manager { + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceService#updateHost(com.cloud.api.commands.UpdateHostCmd) + */ + @Override + public Host updateHost(UpdateHostCmd cmd) throws NoTransitionException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceService#cancelMaintenance(com.cloud.api.commands.CancelMaintenanceCmd) + */ + @Override + public Host cancelMaintenance(CancelMaintenanceCmd cmd) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceService#reconnectHost(com.cloud.api.commands.ReconnectHostCmd) + */ + @Override + public Host reconnectHost(ReconnectHostCmd cmd) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceService#discoverCluster(com.cloud.api.commands.AddClusterCmd) + */ + @Override + public List discoverCluster(AddClusterCmd cmd) throws IllegalArgumentException, + DiscoveryException, ResourceInUseException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceService#deleteCluster(com.cloud.api.commands.DeleteClusterCmd) + */ + @Override + public boolean deleteCluster(DeleteClusterCmd cmd) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceService#updateCluster(com.cloud.org.Cluster, java.lang.String, java.lang.String, java.lang.String, java.lang.String) + */ + @Override + public Cluster updateCluster(Cluster cluster, String clusterType, String hypervisor, String allocationState, + String managedstate) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceService#discoverHosts(com.cloud.api.commands.AddHostCmd) + */ + @Override + public List discoverHosts(AddHostCmd cmd) throws IllegalArgumentException, DiscoveryException, + InvalidParameterValueException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceService#discoverHosts(com.cloud.api.commands.AddSecondaryStorageCmd) + */ + @Override + public List discoverHosts(AddSecondaryStorageCmd cmd) throws IllegalArgumentException, + DiscoveryException, InvalidParameterValueException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceService#maintain(com.cloud.api.commands.PrepareForMaintenanceCmd) + */ + @Override + public Host maintain(PrepareForMaintenanceCmd cmd) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceService#updateHostPassword(com.cloud.api.commands.UpdateHostPasswordCmd) + */ + @Override + public boolean updateHostPassword(UpdateHostPasswordCmd upasscmd) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceService#getHost(long) + */ + @Override + public Host getHost(long hostId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceService#getCluster(java.lang.Long) + */ + @Override + public Cluster getCluster(Long clusterId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceService#discoverSwift(com.cloud.api.commands.AddSwiftCmd) + */ + @Override + public Swift discoverSwift(AddSwiftCmd addSwiftCmd) throws DiscoveryException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceService#discoverS3(com.cloud.api.commands.AddS3Cmd) + */ + @Override + public S3 discoverS3(AddS3Cmd cmd) throws DiscoveryException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceService#getSupportedHypervisorTypes(long, boolean, java.lang.Long) + */ + @Override + public List getSupportedHypervisorTypes(long zoneId, boolean forVirtualRouter, Long podId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceService#listSwifts(com.cloud.api.commands.ListSwiftsCmd) + */ + @Override + public List listSwifts(ListSwiftsCmd cmd) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceService#listS3s(com.cloud.api.commands.ListS3sCmd) + */ + @Override + public List listS3s(ListS3sCmd cmd) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#registerResourceEvent(java.lang.Integer, com.cloud.resource.ResourceListener) + */ + @Override + public void registerResourceEvent(Integer event, ResourceListener listener) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#unregisterResourceEvent(com.cloud.resource.ResourceListener) + */ + @Override + public void unregisterResourceEvent(ResourceListener listener) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#registerResourceStateAdapter(java.lang.String, com.cloud.resource.ResourceStateAdapter) + */ + @Override + public void registerResourceStateAdapter(String name, ResourceStateAdapter adapter) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#unregisterResourceStateAdapter(java.lang.String) + */ + @Override + public void unregisterResourceStateAdapter(String name) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#createHostAndAgent(java.lang.Long, com.cloud.resource.ServerResource, java.util.Map, boolean, java.util.List, boolean) + */ + @Override + public Host createHostAndAgent(Long hostId, ServerResource resource, Map details, boolean old, + List hostTags, boolean forRebalance) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#addHost(long, com.cloud.resource.ServerResource, com.cloud.host.Host.Type, java.util.Map) + */ + @Override + public Host addHost(long zoneId, ServerResource resource, Type hostType, Map hostDetails) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#createHostVOForConnectedAgent(com.cloud.agent.api.StartupCommand[]) + */ + @Override + public HostVO createHostVOForConnectedAgent(StartupCommand[] cmds) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#checkCIDR(com.cloud.dc.HostPodVO, com.cloud.dc.DataCenterVO, java.lang.String, java.lang.String) + */ + @Override + public void checkCIDR(HostPodVO pod, DataCenterVO dc, String serverPrivateIP, String serverPrivateNetmask) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#fillRoutingHostVO(com.cloud.host.HostVO, com.cloud.agent.api.StartupRoutingCommand, com.cloud.hypervisor.Hypervisor.HypervisorType, java.util.Map, java.util.List) + */ + @Override + public HostVO fillRoutingHostVO(HostVO host, StartupRoutingCommand ssCmd, HypervisorType hyType, + Map details, List hostTags) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#deleteRoutingHost(com.cloud.host.HostVO, boolean, boolean) + */ + @Override + public void deleteRoutingHost(HostVO host, boolean isForced, boolean forceDestroyStorage) + throws UnableDeleteHostException { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#executeUserRequest(long, com.cloud.resource.ResourceState.Event) + */ + @Override + public boolean executeUserRequest(long hostId, Event event) throws AgentUnavailableException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#resourceStateTransitTo(com.cloud.host.Host, com.cloud.resource.ResourceState.Event, long) + */ + @Override + public boolean resourceStateTransitTo(Host host, Event event, long msId) throws NoTransitionException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#umanageHost(long) + */ + @Override + public boolean umanageHost(long hostId) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#maintenanceFailed(long) + */ + @Override + public boolean maintenanceFailed(long hostId) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#maintain(long) + */ + @Override + public boolean maintain(long hostId) throws AgentUnavailableException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#deleteHost(long, boolean, boolean) + */ + @Override + public boolean deleteHost(long hostId, boolean isForced, boolean isForceDeleteStorage) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#findDirectlyConnectedHosts() + */ + @Override + public List findDirectlyConnectedHosts() { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#listAllUpAndEnabledHosts(com.cloud.host.Host.Type, java.lang.Long, java.lang.Long, long) + */ + @Override + public List listAllUpAndEnabledHosts(Type type, Long clusterId, Long podId, long dcId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#listAllHostsInCluster(long) + */ + @Override + public List listAllHostsInCluster(long clusterId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#listHostsInClusterByStatus(long, com.cloud.host.Status) + */ + @Override + public List listHostsInClusterByStatus(long clusterId, Status status) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#listAllUpAndEnabledHostsInOneZoneByType(com.cloud.host.Host.Type, long) + */ + @Override + public List listAllUpAndEnabledHostsInOneZoneByType(Type type, long dcId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#listAllHostsInOneZoneByType(com.cloud.host.Host.Type, long) + */ + @Override + public List listAllHostsInOneZoneByType(Type type, long dcId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#listAllHostsInAllZonesByType(com.cloud.host.Host.Type) + */ + @Override + public List listAllHostsInAllZonesByType(Type type) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#listAvailHypervisorInZone(java.lang.Long, java.lang.Long) + */ + @Override + public List listAvailHypervisorInZone(Long hostId, Long zoneId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#findHostByGuid(java.lang.String) + */ + @Override + public HostVO findHostByGuid(String guid) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#findHostByName(java.lang.String) + */ + @Override + public HostVO findHostByName(String name) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#listHostsByNameLike(java.lang.String) + */ + @Override + public List listHostsByNameLike(String name) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#findPod(com.cloud.template.VirtualMachineTemplate, com.cloud.service.ServiceOfferingVO, com.cloud.dc.DataCenterVO, long, java.util.Set) + */ + @Override + public Pair findPod(VirtualMachineTemplate template, ServiceOfferingVO offering, DataCenterVO dc, + long accountId, Set avoids) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#getHostStatistics(long) + */ + @Override + public HostStats getHostStatistics(long hostId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#getGuestOSCategoryId(long) + */ + @Override + public Long getGuestOSCategoryId(long hostId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#getHostTags(long) + */ + @Override + public String getHostTags(long hostId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#listByDataCenter(long) + */ + @Override + public List listByDataCenter(long dcId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#listAllNotInMaintenanceHostsInOneZone(com.cloud.host.Host.Type, java.lang.Long) + */ + @Override + public List listAllNotInMaintenanceHostsInOneZone(Type type, Long dcId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#getDefaultHypervisor(long) + */ + @Override + public HypervisorType getDefaultHypervisor(long zoneId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#getAvailableHypervisor(long) + */ + @Override + public HypervisorType getAvailableHypervisor(long zoneId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#getMatchingDiscover(com.cloud.hypervisor.Hypervisor.HypervisorType) + */ + @Override + public Discoverer getMatchingDiscover(HypervisorType hypervisorType) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#findHostByGuid(long, java.lang.String) + */ + @Override + public List findHostByGuid(long dcId, String guid) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.resource.ResourceManager#listAllUpAndEnabledNonHAHosts(com.cloud.host.Host.Type, java.lang.Long, java.lang.Long, long) + */ + @Override + public List listAllUpAndEnabledNonHAHosts(Type type, Long clusterId, Long podId, long dcId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.utils.component.Manager#configure(java.lang.String, java.util.Map) + */ + @Override + public boolean configure(String name, Map params) throws ConfigurationException { + // TODO Auto-generated method stub + return true; + } + + /* (non-Javadoc) + * @see com.cloud.utils.component.Manager#start() + */ + @Override + public boolean start() { + // TODO Auto-generated method stub + return true; + } + + /* (non-Javadoc) + * @see com.cloud.utils.component.Manager#stop() + */ + @Override + public boolean stop() { + // TODO Auto-generated method stub + return true; + } + + /* (non-Javadoc) + * @see com.cloud.utils.component.Manager#getName() + */ + @Override + public String getName() { + // TODO Auto-generated method stub + return "MockResourceManagerImpl"; + } + +} diff --git a/server/test/com/cloud/user/MockDomainManagerImpl.java b/server/test/com/cloud/user/MockDomainManagerImpl.java index 4266f3553e5..c5ff30524c4 100644 --- a/server/test/com/cloud/user/MockDomainManagerImpl.java +++ b/server/test/com/cloud/user/MockDomainManagerImpl.java @@ -31,8 +31,8 @@ import com.cloud.exception.PermissionDeniedException; import com.cloud.utils.component.Manager; import com.cloud.utils.Pair; -@Local(value = { DomainManager.class }) -public class MockDomainManagerImpl implements Manager, DomainManager { +@Local(value = { DomainManager.class, DomainService.class }) +public class MockDomainManagerImpl implements Manager, DomainManager, DomainService { @Override public Domain createDomain(String name, Long parentId, String networkDomain) { diff --git a/server/test/com/cloud/vpc/MockVpcVirtualNetworkApplianceManager.java b/server/test/com/cloud/vpc/MockVpcVirtualNetworkApplianceManager.java new file mode 100644 index 00000000000..8716a2b5991 --- /dev/null +++ b/server/test/com/cloud/vpc/MockVpcVirtualNetworkApplianceManager.java @@ -0,0 +1,390 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you 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.vpc; + +import java.util.List; +import java.util.Map; + +import javax.ejb.Local; +import javax.naming.ConfigurationException; + +import com.cloud.api.commands.UpgradeRouterCmd; +import com.cloud.deploy.DeployDestination; +import com.cloud.exception.ConcurrentOperationException; +import com.cloud.exception.InsufficientCapacityException; +import com.cloud.exception.ResourceUnavailableException; +import com.cloud.network.Network; +import com.cloud.network.PublicIpAddress; +import com.cloud.network.RemoteAccessVpn; +import com.cloud.network.Site2SiteVpnConnection; +import com.cloud.network.VpcVirtualNetworkApplianceService; +import com.cloud.network.VpnUser; +import com.cloud.network.router.VirtualRouter; +import com.cloud.network.router.VpcVirtualNetworkApplianceManager; +import com.cloud.network.rules.FirewallRule; +import com.cloud.network.rules.StaticNat; +import com.cloud.network.vpc.PrivateGateway; +import com.cloud.network.vpc.StaticRouteProfile; +import com.cloud.network.vpc.Vpc; +import com.cloud.user.Account; +import com.cloud.user.User; +import com.cloud.uservm.UserVm; +import com.cloud.utils.component.Manager; +import com.cloud.vm.DomainRouterVO; +import com.cloud.vm.NicProfile; +import com.cloud.vm.VirtualMachineProfile; +import com.cloud.vm.VirtualMachineProfile.Param; + +@Local(value = {VpcVirtualNetworkApplianceManager.class, VpcVirtualNetworkApplianceService.class}) +public class MockVpcVirtualNetworkApplianceManager implements VpcVirtualNetworkApplianceManager, + VpcVirtualNetworkApplianceService, Manager { + + /* (non-Javadoc) + * @see com.cloud.network.router.VirtualNetworkApplianceManager#sendSshKeysToHost(java.lang.Long, java.lang.String, java.lang.String) + */ + @Override + public boolean sendSshKeysToHost(Long hostId, String pubKey, String prvKey) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.router.VirtualNetworkApplianceManager#savePasswordToRouter(com.cloud.network.Network, com.cloud.vm.NicProfile, com.cloud.vm.VirtualMachineProfile, java.util.List) + */ + @Override + public boolean savePasswordToRouter(Network network, NicProfile nic, VirtualMachineProfile profile, + List routers) throws ResourceUnavailableException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.router.VirtualNetworkApplianceManager#saveUserDataToRouter(com.cloud.network.Network, com.cloud.vm.NicProfile, com.cloud.vm.VirtualMachineProfile, java.util.List) + */ + @Override + public boolean saveUserDataToRouter(Network network, NicProfile nic, VirtualMachineProfile profile, + List routers) throws ResourceUnavailableException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.router.VirtualNetworkApplianceManager#deployVirtualRouterInGuestNetwork(com.cloud.network.Network, com.cloud.deploy.DeployDestination, com.cloud.user.Account, java.util.Map, boolean) + */ + @Override + public List deployVirtualRouterInGuestNetwork(Network guestNetwork, DeployDestination dest, + Account owner, Map params, boolean isRedundant) throws InsufficientCapacityException, + ResourceUnavailableException, ConcurrentOperationException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.router.VirtualNetworkApplianceManager#startRemoteAccessVpn(com.cloud.network.Network, com.cloud.network.RemoteAccessVpn, java.util.List) + */ + @Override + public boolean startRemoteAccessVpn(Network network, RemoteAccessVpn vpn, List routers) + throws ResourceUnavailableException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.router.VirtualNetworkApplianceManager#deleteRemoteAccessVpn(com.cloud.network.Network, com.cloud.network.RemoteAccessVpn, java.util.List) + */ + @Override + public boolean deleteRemoteAccessVpn(Network network, RemoteAccessVpn vpn, List routers) + throws ResourceUnavailableException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.router.VirtualNetworkApplianceManager#associatePublicIP(com.cloud.network.Network, java.util.List, java.util.List) + */ + @Override + public boolean associatePublicIP(Network network, List ipAddress, + List routers) throws ResourceUnavailableException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.router.VirtualNetworkApplianceManager#applyFirewallRules(com.cloud.network.Network, java.util.List, java.util.List) + */ + @Override + public boolean applyFirewallRules(Network network, List rules, + List routers) throws ResourceUnavailableException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.router.VirtualNetworkApplianceManager#getRoutersForNetwork(long) + */ + @Override + public List getRoutersForNetwork(long networkId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.router.VirtualNetworkApplianceManager#applyVpnUsers(com.cloud.network.Network, java.util.List, java.util.List) + */ + @Override + public String[] applyVpnUsers(Network network, List users, List routers) + throws ResourceUnavailableException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.router.VirtualNetworkApplianceManager#stop(com.cloud.network.router.VirtualRouter, boolean, com.cloud.user.User, com.cloud.user.Account) + */ + @Override + public VirtualRouter stop(VirtualRouter router, boolean forced, User callingUser, Account callingAccount) + throws ConcurrentOperationException, ResourceUnavailableException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.router.VirtualNetworkApplianceManager#getDnsBasicZoneUpdate() + */ + @Override + public String getDnsBasicZoneUpdate() { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.router.VirtualNetworkApplianceManager#applyStaticNats(com.cloud.network.Network, java.util.List, java.util.List) + */ + @Override + public boolean applyStaticNats(Network network, List rules, + List routers) throws ResourceUnavailableException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.router.VirtualNetworkApplianceManager#applyDhcpEntry(com.cloud.network.Network, com.cloud.vm.NicProfile, com.cloud.vm.VirtualMachineProfile, com.cloud.deploy.DeployDestination, java.util.List) + */ + @Override + public boolean applyDhcpEntry(Network config, NicProfile nic, VirtualMachineProfile vm, + DeployDestination dest, List routers) throws ResourceUnavailableException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.router.VirtualNetworkApplianceManager#applyUserData(com.cloud.network.Network, com.cloud.vm.NicProfile, com.cloud.vm.VirtualMachineProfile, com.cloud.deploy.DeployDestination, java.util.List) + */ + @Override + public boolean applyUserData(Network config, NicProfile nic, VirtualMachineProfile vm, + DeployDestination dest, List routers) throws ResourceUnavailableException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.VirtualNetworkApplianceService#startRouter(long, boolean) + */ + @Override + public VirtualRouter startRouter(long routerId, boolean reprogramNetwork) throws ConcurrentOperationException, + ResourceUnavailableException, InsufficientCapacityException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.VirtualNetworkApplianceService#rebootRouter(long, boolean) + */ + @Override + public VirtualRouter rebootRouter(long routerId, boolean reprogramNetwork) throws ConcurrentOperationException, + ResourceUnavailableException, InsufficientCapacityException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.VirtualNetworkApplianceService#upgradeRouter(com.cloud.api.commands.UpgradeRouterCmd) + */ + @Override + public VirtualRouter upgradeRouter(UpgradeRouterCmd cmd) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.VirtualNetworkApplianceService#stopRouter(long, boolean) + */ + @Override + public VirtualRouter stopRouter(long routerId, boolean forced) throws ResourceUnavailableException, + ConcurrentOperationException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.VirtualNetworkApplianceService#startRouter(long) + */ + @Override + public VirtualRouter startRouter(long id) throws ResourceUnavailableException, InsufficientCapacityException, + ConcurrentOperationException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.VirtualNetworkApplianceService#destroyRouter(long, com.cloud.user.Account, java.lang.Long) + */ + @Override + public VirtualRouter destroyRouter(long routerId, Account caller, Long callerUserId) + throws ResourceUnavailableException, ConcurrentOperationException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.utils.component.Manager#configure(java.lang.String, java.util.Map) + */ + @Override + public boolean configure(String name, Map params) throws ConfigurationException { + return true; + + } + + /* (non-Javadoc) + * @see com.cloud.utils.component.Manager#start() + */ + @Override + public boolean start() { + return true; + } + + /* (non-Javadoc) + * @see com.cloud.utils.component.Manager#stop() + */ + @Override + public boolean stop() { + return true; + + } + + /* (non-Javadoc) + * @see com.cloud.utils.component.Manager#getName() + */ + @Override + public String getName() { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.VpcVirtualNetworkApplianceService#addVpcRouterToGuestNetwork(com.cloud.network.router.VirtualRouter, com.cloud.network.Network, boolean) + */ + @Override + public boolean addVpcRouterToGuestNetwork(VirtualRouter router, Network network, boolean isRedundant) + throws ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.VpcVirtualNetworkApplianceService#removeVpcRouterFromGuestNetwork(com.cloud.network.router.VirtualRouter, com.cloud.network.Network, boolean) + */ + @Override + public boolean removeVpcRouterFromGuestNetwork(VirtualRouter router, Network network, boolean isRedundant) + throws ConcurrentOperationException, ResourceUnavailableException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.router.VpcVirtualNetworkApplianceManager#deployVirtualRouterInVpc(com.cloud.network.vpc.Vpc, com.cloud.deploy.DeployDestination, com.cloud.user.Account, java.util.Map) + */ + @Override + public List deployVirtualRouterInVpc(Vpc vpc, DeployDestination dest, Account owner, + Map params) throws InsufficientCapacityException, ConcurrentOperationException, + ResourceUnavailableException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.router.VpcVirtualNetworkApplianceManager#applyNetworkACLs(com.cloud.network.Network, java.util.List, java.util.List) + */ + @Override + public boolean applyNetworkACLs(Network network, List rules, + List routers) throws ResourceUnavailableException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.router.VpcVirtualNetworkApplianceManager#setupPrivateGateway(com.cloud.network.vpc.PrivateGateway, com.cloud.network.router.VirtualRouter) + */ + @Override + public boolean setupPrivateGateway(PrivateGateway gateway, VirtualRouter router) + throws ConcurrentOperationException, ResourceUnavailableException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.router.VpcVirtualNetworkApplianceManager#destroyPrivateGateway(com.cloud.network.vpc.PrivateGateway, com.cloud.network.router.VirtualRouter) + */ + @Override + public boolean destroyPrivateGateway(PrivateGateway gateway, VirtualRouter router) + throws ConcurrentOperationException, ResourceUnavailableException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.router.VpcVirtualNetworkApplianceManager#applyStaticRoutes(java.util.List, java.util.List) + */ + @Override + public boolean applyStaticRoutes(List routes, List routers) + throws ResourceUnavailableException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.router.VpcVirtualNetworkApplianceManager#startSite2SiteVpn(com.cloud.network.Site2SiteVpnConnection, com.cloud.network.router.VirtualRouter) + */ + @Override + public boolean startSite2SiteVpn(Site2SiteVpnConnection conn, VirtualRouter router) + throws ResourceUnavailableException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.router.VpcVirtualNetworkApplianceManager#stopSite2SiteVpn(com.cloud.network.Site2SiteVpnConnection, com.cloud.network.router.VirtualRouter) + */ + @Override + public boolean stopSite2SiteVpn(Site2SiteVpnConnection conn, VirtualRouter router) + throws ResourceUnavailableException { + // TODO Auto-generated method stub + return false; + } + +} diff --git a/server/test/resources/network-mgr-component.xml b/server/test/resources/network-mgr-component.xml new file mode 100644 index 00000000000..cc8b643f2d7 --- /dev/null +++ b/server/test/resources/network-mgr-component.xml @@ -0,0 +1,176 @@ + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + +