mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
Change isolation methods from an enum to a registry based construct to enhance pluggability
90 lines
3.7 KiB
Java
90 lines
3.7 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;
|
|
|
|
import org.junit.After;
|
|
import org.junit.Test;
|
|
|
|
import static org.junit.Assert.assertEquals;
|
|
import static org.junit.Assert.assertFalse;
|
|
|
|
public class IsolationMethodTest {
|
|
@After
|
|
public void cleanTheRegistry() {
|
|
PhysicalNetwork.IsolationMethod.registeredIsolationMethods.removeAll(PhysicalNetwork.IsolationMethod.registeredIsolationMethods);
|
|
}
|
|
|
|
@Test
|
|
public void equalsTest() throws Exception {
|
|
PhysicalNetwork.IsolationMethod method = new PhysicalNetwork.IsolationMethod("bla");
|
|
assertEquals(PhysicalNetwork.IsolationMethod.UNKNOWN_PROVIDER, method.provider);
|
|
assertEquals(new PhysicalNetwork.IsolationMethod("bla", PhysicalNetwork.IsolationMethod.UNKNOWN_PROVIDER), method);
|
|
}
|
|
|
|
@Test
|
|
public void toStringTest() throws Exception {
|
|
PhysicalNetwork.IsolationMethod method = new PhysicalNetwork.IsolationMethod("bla", "blob");
|
|
assertEquals("bla", method.toString());
|
|
|
|
}
|
|
|
|
@Test
|
|
public void getGeneric() throws Exception {
|
|
PhysicalNetwork.IsolationMethod method = new PhysicalNetwork.IsolationMethod("bla", "blob");
|
|
method = new PhysicalNetwork.IsolationMethod("bla");
|
|
|
|
assertEquals("blob",PhysicalNetwork.IsolationMethod.getIsolationMethod("bla").getProvider());
|
|
}
|
|
|
|
@Test
|
|
public void removeUnregistered() throws Exception {
|
|
assertFalse(PhysicalNetwork.IsolationMethod.remove("bla", "blob"));
|
|
}
|
|
|
|
@Test
|
|
public void removeSuccesfulGeneric() throws Exception {
|
|
PhysicalNetwork.IsolationMethod method = new PhysicalNetwork.IsolationMethod("bla", "blob");
|
|
method = new PhysicalNetwork.IsolationMethod("bla");
|
|
|
|
PhysicalNetwork.IsolationMethod.remove("bla", "blob");
|
|
assertEquals(PhysicalNetwork.IsolationMethod.UNKNOWN_PROVIDER,PhysicalNetwork.IsolationMethod.getIsolationMethod("bla").getProvider());
|
|
}
|
|
|
|
@Test(expected= PhysicalNetwork.IsolationMethod.IsolationMethodNotRegistered.class)
|
|
public void removeSuccesfulSpecificByString() throws Exception {
|
|
PhysicalNetwork.IsolationMethod method = new PhysicalNetwork.IsolationMethod("bla", "blob");
|
|
|
|
PhysicalNetwork.IsolationMethod.remove("bla", "blob");
|
|
PhysicalNetwork.IsolationMethod.getIsolationMethod("bla");
|
|
}
|
|
|
|
@Test(expected= PhysicalNetwork.IsolationMethod.IsolationMethodNotRegistered.class)
|
|
public void removeSuccesfulSpecificObject() throws Exception {
|
|
PhysicalNetwork.IsolationMethod method = new PhysicalNetwork.IsolationMethod("bla");
|
|
|
|
PhysicalNetwork.IsolationMethod.remove(method);
|
|
PhysicalNetwork.IsolationMethod.getIsolationMethod("bla");
|
|
}
|
|
|
|
@Test
|
|
public void getIsolationMethodTest() throws Exception {
|
|
PhysicalNetwork.IsolationMethod method = new PhysicalNetwork.IsolationMethod("bla");
|
|
final PhysicalNetwork.IsolationMethod isolationMethod = PhysicalNetwork.IsolationMethod.getIsolationMethod("bla");
|
|
assertEquals(method, isolationMethod);
|
|
}
|
|
}
|