cloudstack/server/test/com/cloud/network/vpn/RemoteAccessVpnTest.java
Chiradeep Vittal 5a830c4db0 Network-refactor: Refactor NetworkManager into NetworkModel and NetworkManager.
NetworkManager's exclusive focus is now
 - handling plugins during orchestration, and
 - to deal with ip address allocation.
Those classes that used to refer to NetworkManager to get access to the datamodel now refer to NetworkModel

Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
2013-01-09 15:49:01 -08:00

92 lines
3.4 KiB
Java

package com.cloud.network.vpn;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import javax.naming.ConfigurationException;
import junit.framework.Assert;
import org.apache.log4j.Logger;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import com.cloud.configuration.DefaultInterceptorLibrary;
import com.cloud.configuration.dao.ConfigurationDaoImpl;
import com.cloud.domain.dao.DomainDaoImpl;
import com.cloud.event.dao.UsageEventDaoImpl;
import com.cloud.network.MockFirewallManagerImpl;
import com.cloud.network.MockNetworkManagerImpl;
import com.cloud.network.MockRulesManagerImpl;
import com.cloud.network.dao.FirewallRulesDaoImpl;
import com.cloud.network.dao.IPAddressDaoImpl;
import com.cloud.network.dao.RemoteAccessVpnDaoImpl;
import com.cloud.network.dao.VpnUserDaoImpl;
import com.cloud.network.element.RemoteAccessVPNServiceProvider;
import com.cloud.user.MockAccountManagerImpl;
import com.cloud.user.MockDomainManagerImpl;
import com.cloud.user.dao.AccountDaoImpl;
import com.cloud.utils.Pair;
import com.cloud.utils.component.ComponentLocator;
import com.cloud.utils.component.MockComponentLocator;
public class RemoteAccessVpnTest {
private MockComponentLocator locator;
private final static Logger s_logger = Logger.getLogger(RemoteAccessVpnTest.class);
private static void addDaos(MockComponentLocator locator) {
locator.addDao("AccountDao", AccountDaoImpl.class);
locator.addDao("VpnUserDao", VpnUserDaoImpl.class);
locator.addDao("FirewallRulesDao", FirewallRulesDaoImpl.class);
locator.addDao("IPAddressDao", IPAddressDaoImpl.class);
locator.addDao("DomainDao", DomainDaoImpl.class);
locator.addDao("UsageEventDao", UsageEventDaoImpl.class);
locator.addDao("RemoteAccessVpnDao", RemoteAccessVpnDaoImpl.class);
locator.addDao("ConfigurationDao", ConfigurationDaoImpl.class);
}
private static void addManagers(MockComponentLocator locator) {
locator.addManager("AccountManager", MockAccountManagerImpl.class);
locator.addManager("DomainManager", MockDomainManagerImpl.class);
locator.addManager("NetworkManager", MockNetworkManagerImpl.class);
locator.addManager("RulesManager", MockRulesManagerImpl.class);
locator.addManager("FirewallManager", MockFirewallManagerImpl.class);
}
@Before
public void setUp() {
locator = new MockComponentLocator("management-server");
addDaos(locator);
addManagers(locator);
s_logger.info("Finished setUp");
}
@After
public void tearDown() throws Exception {
}
@Test
public void testInjected() throws Exception {
List<Pair<String, Class<? extends RemoteAccessVPNServiceProvider>>> list =
new ArrayList<Pair<String, Class<? extends RemoteAccessVPNServiceProvider>>>();
list.add(new Pair<String, Class<? extends RemoteAccessVPNServiceProvider>>("RemoteAccessVPNServiceProvider", MockRemoteAccessVPNServiceProvider.class));
locator.addAdapterChain(RemoteAccessVPNServiceProvider.class, list);
s_logger.info("Finished add adapter");
locator.makeActive(new DefaultInterceptorLibrary());
s_logger.info("Finished make active");
RemoteAccessVpnManagerImpl vpnMgr = ComponentLocator.inject(RemoteAccessVpnManagerImpl.class);
s_logger.info("Finished inject");
Assert.assertTrue(vpnMgr.configure("RemoteAccessVpnMgr",new HashMap<String, Object>()) );
Assert.assertTrue(vpnMgr.start());
int numProviders = vpnMgr.getRemoteAccessVPNServiceProviders().size();
Assert.assertTrue(numProviders > 0);
}
}