cloudstack/server/test/com/cloud/network/vpn/RemoteAccessVpnTest.java
Chiradeep Vittal d9e36ac37b network-refactor: fix license issues
Fix build after merge of network-refactor
2013-01-16 19:25:23 -08:00

110 lines
4.3 KiB
Java

// 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.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.MockNetworkModelImpl;
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("NetworkModel", MockNetworkModelImpl.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);
}
}