mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
Fix DirectNetworkGuru canHandle checks for lowercase isolation methods (#3010)
This commit is contained in:
parent
c6e53f6cc6
commit
af0c1e48cf
@ -22,6 +22,7 @@ import javax.inject.Inject;
|
|||||||
|
|
||||||
import com.cloud.offerings.dao.NetworkOfferingServiceMapDao;
|
import com.cloud.offerings.dao.NetworkOfferingServiceMapDao;
|
||||||
import org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService;
|
import org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService;
|
||||||
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
import com.cloud.dc.DataCenter;
|
import com.cloud.dc.DataCenter;
|
||||||
@ -119,10 +120,18 @@ public class DirectNetworkGuru extends AdapterBase implements NetworkGuru {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return true if the physical network isolation method contains the expected isolation method for this guru
|
||||||
|
*/
|
||||||
protected boolean isMyIsolationMethod(PhysicalNetwork physicalNetwork) {
|
protected boolean isMyIsolationMethod(PhysicalNetwork physicalNetwork) {
|
||||||
for (IsolationMethod m : _isolationMethods) {
|
for (IsolationMethod m : _isolationMethods) {
|
||||||
if (physicalNetwork.getIsolationMethods().contains(m.toString())) {
|
List<String> isolationMethods = physicalNetwork.getIsolationMethods();
|
||||||
return true;
|
if (CollectionUtils.isNotEmpty(isolationMethods)) {
|
||||||
|
for (String method : isolationMethods) {
|
||||||
|
if (method.equalsIgnoreCase(m.toString())) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@ -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.guru;
|
||||||
|
|
||||||
|
import com.cloud.network.PhysicalNetwork;
|
||||||
|
import org.junit.Before;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.mockito.Mock;
|
||||||
|
import org.mockito.MockitoAnnotations;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
|
public class DirectNetworkGuruTest {
|
||||||
|
|
||||||
|
DirectNetworkGuru guru = new DirectNetworkGuru();
|
||||||
|
|
||||||
|
@Mock
|
||||||
|
PhysicalNetwork physicalNetwork;
|
||||||
|
|
||||||
|
@Before
|
||||||
|
public void setup() throws Exception {
|
||||||
|
MockitoAnnotations.initMocks(this);
|
||||||
|
when(physicalNetwork.getIsolationMethods()).thenReturn(Arrays.asList("VXLAN", "VLAN"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testIsMyIsolationMethodUppercaseMethods() {
|
||||||
|
assertTrue(guru.isMyIsolationMethod(physicalNetwork));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testIsMyIsolationMethodLowercaseMethods() {
|
||||||
|
when(physicalNetwork.getIsolationMethods()).thenReturn(Arrays.asList("vxlan", "vlan"));
|
||||||
|
assertTrue(guru.isMyIsolationMethod(physicalNetwork));
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user