From 98eb953c211d41a92efa932214f6bbc87deb15f6 Mon Sep 17 00:00:00 2001 From: Welder Luz Date: Mon, 23 Oct 2023 19:31:07 -0300 Subject: [PATCH] Remove mockito and fix unit tests --- java/buildconf/ivy/ivy-suse.xml | 5 -- .../xmlrpc/system/test/SystemHandlerTest.java | 68 ++++++++----------- .../test/CobblerSystemCreateCommandTest.java | 27 +++++++- .../src/org/cobbler/test/MockConnection.java | 4 ++ 4 files changed, 57 insertions(+), 47 deletions(-) diff --git a/java/buildconf/ivy/ivy-suse.xml b/java/buildconf/ivy/ivy-suse.xml index 78ad69a90f2d..431edaf58ef7 100644 --- a/java/buildconf/ivy/ivy-suse.xml +++ b/java/buildconf/ivy/ivy-suse.xml @@ -148,10 +148,5 @@ - - - - - diff --git a/java/code/src/com/redhat/rhn/frontend/xmlrpc/system/test/SystemHandlerTest.java b/java/code/src/com/redhat/rhn/frontend/xmlrpc/system/test/SystemHandlerTest.java index f9eeea59c40e..2661e46cecee 100644 --- a/java/code/src/com/redhat/rhn/frontend/xmlrpc/system/test/SystemHandlerTest.java +++ b/java/code/src/com/redhat/rhn/frontend/xmlrpc/system/test/SystemHandlerTest.java @@ -25,8 +25,6 @@ import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.fail; -import static org.mockito.BDDMockito.given; -import static org.mockito.Mockito.mockConstruction; import com.redhat.rhn.FaultException; import com.redhat.rhn.common.client.ClientCertificate; @@ -148,6 +146,7 @@ import com.redhat.rhn.manager.entitlement.EntitlementManager; import com.redhat.rhn.manager.errata.cache.ErrataCacheManager; import com.redhat.rhn.manager.formula.FormulaMonitoringManager; +import com.redhat.rhn.manager.kickstart.cobbler.CobblerXMLRPCHelper; import com.redhat.rhn.manager.profile.ProfileManager; import com.redhat.rhn.manager.rhnpackage.test.PackageManagerTest; import com.redhat.rhn.manager.ssm.SsmOperationManager; @@ -190,7 +189,6 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.api.extension.RegisterExtension; -import org.mockito.MockedConstruction; import java.nio.file.Files; import java.nio.file.Path; @@ -3202,50 +3200,42 @@ public void testCreateSystemProfileNoHwAddress() throws Exception { @Test public void testCreateSystemRecordRegistered() throws Exception { // Arrange - try (MockedConstruction clientMock = mockConstruction( - CobblerConnection.class, - (mock, context) -> { - HashMap criteria = new HashMap<>(); - criteria.put("uid", "my_uid"); - HashMap resultProfile = new HashMap<>(); - resultProfile.put("uid", "my_uid"); - resultProfile.put("name", "testprofile"); - given(mock.invokeMethod( - "find_profile", - criteria, - false, - "token" - )).willReturn(resultProfile); - })) { - SystemHandler mockedHandler = getMockedHandler(); - KickstartData k = KickstartDataTest.createTestKickstartData(admin.getOrg()); - k.setCobblerId("my_uid"); - int systemId = mockedHandler.createSystemProfile( - admin, - "test system", - Collections.singletonMap("hwAddress", "aa:bb:cc:dd:ee:01") - ); - - // Act - int result = mockedHandler.createSystemRecord(admin, systemId, k.getLabel()); - - // Assert - assertEquals(1, result); - } + CobblerConnection connection = CobblerXMLRPCHelper.getConnection(admin); + connection.invokeMethod("new_profile"); + var profileId = ((LinkedList) connection.invokeMethod("get_profiles")).get(0).get("uid"); + SystemHandler mockedHandler = getMockedHandler(); + KickstartData k = KickstartDataTest.createTestKickstartData(admin.getOrg()); + k.setCobblerId(profileId.toString()); + int systemId = mockedHandler.createSystemProfile( + admin, + "test system", + Collections.singletonMap("hwAddress", "aa:bb:cc:dd:ee:01") + ); + + // Act + int result = mockedHandler.createSystemRecord(admin, systemId, k.getLabel()); + + // Assert + assertEquals(1, result); } @Test public void testCreateSystemRecordUnregistered() throws Exception { // Arrange + CobblerConnection connection = CobblerXMLRPCHelper.getConnection(admin); + connection.invokeMethod("new_profile"); + var profileId = ((LinkedList) connection.invokeMethod("get_profiles")).get(0).get("uid"); SystemHandler mockedHandler = getMockedHandler(); String systemName = "test system"; - mockedHandler.createSystemProfile( - admin, - systemName, - Collections.singletonMap("hwAddress", "aa:bb:cc:dd:ee:02") - ); KickstartData k = KickstartDataTest.createTestKickstartData(admin.getOrg()); + k.setCobblerId(profileId.toString()); + Map netDevices = Map.of( + "name", "dev1", + "ip", "127.0.0.1", + "mac", "00:00:00:00", + "dnsname", "test.com" + ); // Act int result = mockedHandler.createSystemRecord( admin, @@ -3253,7 +3243,7 @@ public void testCreateSystemRecordUnregistered() throws Exception { k.getLabel(), "", "", - new LinkedList<>() + List.of(netDevices) ); // Assert diff --git a/java/code/src/com/redhat/rhn/manager/kickstart/cobbler/test/CobblerSystemCreateCommandTest.java b/java/code/src/com/redhat/rhn/manager/kickstart/cobbler/test/CobblerSystemCreateCommandTest.java index 61ec57d210d8..a8776a34865f 100644 --- a/java/code/src/com/redhat/rhn/manager/kickstart/cobbler/test/CobblerSystemCreateCommandTest.java +++ b/java/code/src/com/redhat/rhn/manager/kickstart/cobbler/test/CobblerSystemCreateCommandTest.java @@ -20,17 +20,28 @@ import com.redhat.rhn.domain.kickstart.test.KickstartDataTest; import com.redhat.rhn.domain.server.Server; import com.redhat.rhn.domain.server.test.ServerFactoryTest; +import com.redhat.rhn.domain.user.User; import com.redhat.rhn.manager.kickstart.cobbler.CobblerSystemCreateCommand; +import com.redhat.rhn.manager.kickstart.cobbler.CobblerXMLRPCHelper; import com.redhat.rhn.testing.BaseTestCaseWithUser; +import com.redhat.rhn.testing.UserTestUtils; +import org.cobbler.CobblerConnection; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; +import java.util.HashMap; +import java.util.LinkedList; + public class CobblerSystemCreateCommandTest extends BaseTestCaseWithUser { @Test public void testConstructorDbPersistence() { // Arrange + CobblerConnection connection = CobblerXMLRPCHelper.getConnection(user); + connection.invokeMethod("new_profile"); + var profileId = ((LinkedList) connection.invokeMethod("get_profiles")).get(0).get("uid"); KickstartData k = KickstartDataTest.createTestKickstartData(user.getOrg()); + k.setCobblerId(profileId.toString()); Server s = ServerFactoryTest.createTestServer(user, false); // Act @@ -42,7 +53,11 @@ public void testConstructorDbPersistence() { @Test public void testConstructorUnknown1() { // Arrange + CobblerConnection connection = CobblerXMLRPCHelper.getConnection(user); + connection.invokeMethod("new_profile"); + var profileId = ((LinkedList) connection.invokeMethod("get_profiles")).get(0).get("uid"); KickstartData k = KickstartDataTest.createTestKickstartData(user.getOrg()); + k.setCobblerId(profileId.toString()); Server s = ServerFactoryTest.createTestServer(user, false); // Act @@ -54,8 +69,10 @@ public void testConstructorUnknown1() { @Test public void testConstructorReactivation() { // Arrange - KickstartData k = KickstartDataTest.createTestKickstartData(user.getOrg()); - Server s = ServerFactoryTest.createTestServer(user, false); + User admin = UserTestUtils.findNewUser("adminUser", "testOrg" + this.getClass().getSimpleName(), true); + KickstartData k = KickstartDataTest.createTestKickstartData(admin.getOrg()); + k.setCobblerId("test-id"); + Server s = ServerFactoryTest.createTestServer(admin, false); // Act new CobblerSystemCreateCommand(user, s, "cobblerProfileName", k); @@ -89,8 +106,12 @@ public void testConstructorUnknown2() { @Test public void testStore() { // Arrange + CobblerConnection connection = CobblerXMLRPCHelper.getConnection(user); + connection.invokeMethod("new_profile"); + String profileName = ((LinkedList) connection.invokeMethod("get_profiles")) + .get(0).get("name").toString(); Server s = ServerFactoryTest.createTestServer(user, false); - CobblerSystemCreateCommand cobblerSystemCreateCommand = new CobblerSystemCreateCommand(user, s, "nameIn"); + CobblerSystemCreateCommand cobblerSystemCreateCommand = new CobblerSystemCreateCommand(user, s, profileName); // Act ValidatorError error = cobblerSystemCreateCommand.store(); diff --git a/java/code/src/org/cobbler/test/MockConnection.java b/java/code/src/org/cobbler/test/MockConnection.java index 1f44b20222d9..e287f39fff3f 100644 --- a/java/code/src/org/cobbler/test/MockConnection.java +++ b/java/code/src/org/cobbler/test/MockConnection.java @@ -366,6 +366,9 @@ private String newProfile() { String uid = random(); String xmlrpcHandle = random(); profile.put("uid", uid); + profile.put("name", random()); + String distro = newDistro(); + profile.put("distro", distro); log.debug("PROFILE: Created w/ uid {} returning handle {}", uid, xmlrpcHandle); @@ -426,6 +429,7 @@ private String newDistro() { distro.put("kernel_options_post", new HashMap<>()); distro.put("autoinstall_meta", new HashMap<>()); distro.put("redhat_management_key", ""); + distro.put("name", xmlrpcHandle); return xmlrpcHandle; }