From a0632d94b0af59d6e1b7838c65bfb23b39bc50c2 Mon Sep 17 00:00:00 2001 From: GutoVeronezi Date: Thu, 23 Jun 2022 14:40:10 -0300 Subject: [PATCH 1/3] Fix deleteTrafficType not filtering physical network --- .../src/main/java/com/cloud/network/dao/NetworkDaoImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engine/schema/src/main/java/com/cloud/network/dao/NetworkDaoImpl.java b/engine/schema/src/main/java/com/cloud/network/dao/NetworkDaoImpl.java index 0b35d46168fb..5b759c50920b 100644 --- a/engine/schema/src/main/java/com/cloud/network/dao/NetworkDaoImpl.java +++ b/engine/schema/src/main/java/com/cloud/network/dao/NetworkDaoImpl.java @@ -572,7 +572,7 @@ public List listByPhysicalNetwork(final long physicalNetworkId) { public List listByPhysicalNetworkTrafficType(final long physicalNetworkId, final TrafficType trafficType) { final SearchCriteria sc = AllFieldsSearch.create(); sc.setParameters("trafficType", trafficType); - sc.setParameters("physicalNetworkId", physicalNetworkId); + sc.setParameters("physicalNetwork", physicalNetworkId); return listBy(sc); } From b03cab3499f9fe21eeb2e6583ca85d51fe571a85 Mon Sep 17 00:00:00 2001 From: GutoVeronezi Date: Thu, 23 Jun 2022 17:07:52 -0300 Subject: [PATCH 2/3] Add unit test --- .../cloud/network/dao/NetworkDaoImplTest.java | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 engine/schema/src/test/java/com/cloud/network/dao/NetworkDaoImplTest.java diff --git a/engine/schema/src/test/java/com/cloud/network/dao/NetworkDaoImplTest.java b/engine/schema/src/test/java/com/cloud/network/dao/NetworkDaoImplTest.java new file mode 100644 index 000000000000..fdee04594e4a --- /dev/null +++ b/engine/schema/src/test/java/com/cloud/network/dao/NetworkDaoImplTest.java @@ -0,0 +1,47 @@ +package com.cloud.network.dao; + +import com.cloud.network.Networks; +import com.cloud.utils.db.SearchBuilder; +import com.cloud.utils.db.SearchCriteria; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.powermock.api.mockito.PowerMockito; +import org.powermock.modules.junit4.PowerMockRunner; + +import java.util.List; + +@RunWith(PowerMockRunner.class) +public class NetworkDaoImplTest { + + @Mock + SearchBuilder searchBuilderNetworkVoMock; + + @Mock + SearchCriteria searchCriteriaNetworkVoMock; + + @Mock + List listNetworkVoMock; + + @Test + public void listByPhysicalNetworkTrafficTypeTestSetParametersValidation() throws Exception { + NetworkDaoImpl networkDaoImplSpy = PowerMockito.spy(new NetworkDaoImpl()); + + networkDaoImplSpy.AllFieldsSearch = searchBuilderNetworkVoMock; + Mockito.doReturn(searchCriteriaNetworkVoMock).when(searchBuilderNetworkVoMock).create(); + Mockito.doNothing().when(searchCriteriaNetworkVoMock).setParameters(Mockito.anyString(), Mockito.any()); + PowerMockito.doReturn(listNetworkVoMock).when(networkDaoImplSpy, "listBy", Mockito.any(SearchCriteria.class)); + + long expectedPhysicalNetwork = 2513l; + + for (Networks.TrafficType trafficType : Networks.TrafficType.values()) { + List result = networkDaoImplSpy.listByPhysicalNetworkTrafficType(expectedPhysicalNetwork, trafficType); + Assert.assertEquals(listNetworkVoMock, result); + Mockito.verify(searchCriteriaNetworkVoMock).setParameters("trafficType", trafficType); + } + + Mockito.verify(searchCriteriaNetworkVoMock, Mockito.times(Networks.TrafficType.values().length)).setParameters("physicalNetwork", expectedPhysicalNetwork); + } +} From 97fcde4da122685ff893c8d09b576e73c06f1034 Mon Sep 17 00:00:00 2001 From: GutoVeronezi Date: Mon, 27 Jun 2022 15:22:54 -0300 Subject: [PATCH 3/3] Add license --- .../cloud/network/dao/NetworkDaoImplTest.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/engine/schema/src/test/java/com/cloud/network/dao/NetworkDaoImplTest.java b/engine/schema/src/test/java/com/cloud/network/dao/NetworkDaoImplTest.java index fdee04594e4a..e773ff9850dd 100644 --- a/engine/schema/src/test/java/com/cloud/network/dao/NetworkDaoImplTest.java +++ b/engine/schema/src/test/java/com/cloud/network/dao/NetworkDaoImplTest.java @@ -1,3 +1,22 @@ +/* + * 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.dao; import com.cloud.network.Networks;