mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
Forward merge Fix DirectNetworkGuru canHandle for lowercase isolation methods
forward merge of #3010 -- Fix DirectNetworkGuru canHandle checks for lowercase isolation methods
This commit is contained in:
commit
077e692dbb
@ -22,6 +22,7 @@ import javax.inject.Inject;
|
||||
|
||||
import com.cloud.offerings.dao.NetworkOfferingServiceMapDao;
|
||||
import org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.dc.DataCenter;
|
||||
@ -126,10 +127,18 @@ public class DirectNetworkGuru extends AdapterBase implements NetworkGuru {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return true if the physical network isolation method contains the expected isolation method for this guru
|
||||
*/
|
||||
protected boolean isMyIsolationMethod(PhysicalNetwork physicalNetwork) {
|
||||
for (IsolationMethod m : _isolationMethods) {
|
||||
if (physicalNetwork.getIsolationMethods().contains(m.toString())) {
|
||||
return true;
|
||||
List<String> isolationMethods = physicalNetwork.getIsolationMethods();
|
||||
if (CollectionUtils.isNotEmpty(isolationMethods)) {
|
||||
for (String method : isolationMethods) {
|
||||
if (method.equalsIgnoreCase(m.toString())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
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