Skip to content

Commit

Permalink
ref
Browse files Browse the repository at this point in the history
  • Loading branch information
mbussolotto committed Sep 28, 2022
1 parent 0b3f8e5 commit 3140863
Show file tree
Hide file tree
Showing 6 changed files with 31 additions and 137 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,6 @@
import com.suse.manager.webui.services.iface.RedhatProductInfo;
import com.suse.manager.webui.services.iface.SaltApi;
import com.suse.manager.webui.services.impl.MinionPendingRegistrationService;
import com.suse.manager.webui.services.impl.SaltService;
import com.suse.manager.webui.services.impl.runner.MgrUtilRunner;
import com.suse.manager.webui.utils.salt.custom.MinionStartupGrains;
import com.suse.salt.netapi.calls.LocalCall;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,8 @@

import com.suse.manager.webui.controllers.bootstrap.AbstractMinionBootstrapper;
import com.suse.manager.webui.controllers.bootstrap.BootstrapResult;
import com.suse.manager.webui.services.iface.SystemQuery.KeyStatus;
import com.suse.manager.webui.services.impl.SaltSSHService;
import com.suse.manager.webui.services.impl.SaltService;
import com.suse.manager.webui.services.impl.SaltService.KeyStatus;
import com.suse.manager.webui.services.impl.runner.MgrUtilRunner;
import com.suse.manager.webui.utils.gson.BootstrapHostsJson;
import com.suse.manager.webui.utils.gson.BootstrapParameters;
Expand All @@ -56,7 +55,7 @@
*/
public abstract class AbstractMinionBootstrapperTestBase extends JMockBaseTestCaseWithUser {

protected SaltService saltServiceMock;
protected SaltApi saltApiMock;

// tested object, initialized in subclasses
protected AbstractMinionBootstrapper bootstrapper;
Expand All @@ -66,7 +65,7 @@ public abstract class AbstractMinionBootstrapperTestBase extends JMockBaseTestCa
public void setUp() throws Exception {
super.setUp();
setImposteriser(ByteBuddyClassImposteriser.INSTANCE);
saltServiceMock = mock(SaltService.class);
saltApiMock = mock(SaltService.class);
}

/**
Expand All @@ -79,7 +78,7 @@ public void testBootstrapFailsWhenKeysExist() throws Exception {
setEmptyActivationKeys(input);

context().checking(new Expectations() {{
allowing(saltServiceMock).isKeyExists("myhost", KeyStatus.ACCEPTED, KeyStatus.DENIED, KeyStatus.REJECTED);
allowing(saltApiMock).isKeyExists("myhost", KeyStatus.ACCEPTED, KeyStatus.DENIED, KeyStatus.REJECTED);
will(returnValue(true));
}});

Expand Down Expand Up @@ -142,7 +141,7 @@ public void testBootstrapFailsWhenMinionExists()
setEmptyActivationKeys(input);

context().checking(new Expectations() {{
allowing(saltServiceMock).isKeyExists("myhost", KeyStatus.ACCEPTED, KeyStatus.DENIED, KeyStatus.REJECTED);
allowing(saltApiMock).isKeyExists("myhost", KeyStatus.ACCEPTED, KeyStatus.DENIED, KeyStatus.REJECTED);
will(returnValue(false));
}});

Expand All @@ -162,28 +161,28 @@ public void testBootstrapSuccess() throws Exception {
Key.Pair keyPair = mockKeyPair();

context().checking(new Expectations() {{
allowing(saltServiceMock).isKeyExists("myhost", KeyStatus.ACCEPTED, KeyStatus.DENIED, KeyStatus.REJECTED);
allowing(saltApiMock).isKeyExists("myhost", KeyStatus.ACCEPTED, KeyStatus.DENIED, KeyStatus.REJECTED);
will(returnValue(false));
allowing(saltServiceMock).isKeyExists("myhost", KeyStatus.UNACCEPTED);
allowing(saltApiMock).isKeyExists("myhost", KeyStatus.UNACCEPTED);
will(returnValue(false));

allowing(saltServiceMock).generateKeysAndAccept("myhost", false);
allowing(saltApiMock).generateKeysAndAccept("myhost", false);
will(returnValue(keyPair));

MgrUtilRunner.ExecResult mockResult = new MgrUtilRunner.SshKeygenResult("key", "pubkey");
allowing(saltServiceMock).generateSSHKey(SaltSSHService.SSH_KEY_PATH);
allowing(saltApiMock).generateSSHKey(SaltSSHService.SSH_KEY_PATH);
will(returnValue(of(mockResult)));

List<String> bootstrapMods = bootstrapMods();
Map<String, Object> pillarData = createPillarData(Optional.empty(), Optional.empty());
// return success when calling low-level bootstrap
allowing(saltServiceMock).bootstrapMinion(with(any(BootstrapParameters.class)),
allowing(saltApiMock).bootstrapMinion(with(any(BootstrapParameters.class)),
with(bootstrapMods), with(pillarData));
SSHResult<Map<String, State.ApplyResult>> sshResult = createSuccessResult();
will(returnValue(new Result<>(Xor.right(sshResult))));

// we expect the key NOT to be deleted
atMost(0).of(saltServiceMock).deleteKey("myhost");
atMost(0).of(saltApiMock).deleteKey("myhost");
}});

BootstrapHostsJson input = mockStandardInput();
Expand Down Expand Up @@ -230,22 +229,22 @@ protected void testCompatibleActivationKeysBase(ActivationKey key) throws Except
allowing(input).maybeGetReactivationKey();
will(returnValue(empty()));

allowing(saltServiceMock).isKeyExists("myhost", KeyStatus.ACCEPTED, KeyStatus.DENIED, KeyStatus.REJECTED);
allowing(saltApiMock).isKeyExists("myhost", KeyStatus.ACCEPTED, KeyStatus.DENIED, KeyStatus.REJECTED);
will(returnValue(false));
allowing(saltServiceMock).isKeyExists("myhost", KeyStatus.UNACCEPTED);
allowing(saltApiMock).isKeyExists("myhost", KeyStatus.UNACCEPTED);
will(returnValue(false));

Key.Pair keyPair = mockKeyPair();
allowing(saltServiceMock).generateKeysAndAccept("myhost", false);
allowing(saltApiMock).generateKeysAndAccept("myhost", false);
will(returnValue(keyPair));

MgrUtilRunner.ExecResult mockResult = new MgrUtilRunner.SshKeygenResult("key", "pubkey");
allowing(saltServiceMock).generateSSHKey(SaltSSHService.SSH_KEY_PATH);
allowing(saltApiMock).generateSSHKey(SaltSSHService.SSH_KEY_PATH);
will(returnValue(of(mockResult)));

List<String> bootstrapMods = bootstrapMods();
Map<String, Object> pillarData = createPillarData(Optional.of(key), Optional.empty());
allowing(saltServiceMock).bootstrapMinion(with(any(BootstrapParameters.class)),
allowing(saltApiMock).bootstrapMinion(with(any(BootstrapParameters.class)),
with(bootstrapMods), with(pillarData));
Object sshResult = createSuccessResult();
will(returnValue(new Result<>(Xor.right(sshResult))));
Expand All @@ -272,18 +271,18 @@ protected void testCompatibleActivationKeysBase(ActivationKey key, ActivationKey
allowing(input).maybeGetReactivationKey();
will(returnValue(Optional.of(reactKey.getKey())));

allowing(saltServiceMock).isKeyExists("myhost", KeyStatus.ACCEPTED, KeyStatus.DENIED, KeyStatus.REJECTED);
allowing(saltApiMock).isKeyExists("myhost", KeyStatus.ACCEPTED, KeyStatus.DENIED, KeyStatus.REJECTED);
will(returnValue(false));
allowing(saltServiceMock).isKeyExists("myhost", KeyStatus.UNACCEPTED);
allowing(saltApiMock).isKeyExists("myhost", KeyStatus.UNACCEPTED);
will(returnValue(false));

Key.Pair keyPair = mockKeyPair();
allowing(saltServiceMock).generateKeysAndAccept("myhost", false);
allowing(saltApiMock).generateKeysAndAccept("myhost", false);
will(returnValue(keyPair));

List<String> bootstrapMods = bootstrapMods();
Map<String, Object> pillarData = createPillarData(Optional.of(key), Optional.of(reactKey));
allowing(saltServiceMock).bootstrapMinion(with(any(BootstrapParameters.class)),
allowing(saltApiMock).bootstrapMinion(with(any(BootstrapParameters.class)),
with(bootstrapMods), with(pillarData));
Object sshResult = createSuccessResult();
will(returnValue(new Result<>(Xor.right(sshResult))));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
import com.suse.manager.webui.controllers.bootstrap.BootstrapResult;
import com.suse.manager.webui.controllers.bootstrap.RegularMinionBootstrapper;
import com.suse.manager.webui.controllers.utils.ContactMethodUtil;
import com.suse.manager.webui.services.impl.SaltService.KeyStatus;
import com.suse.manager.webui.services.iface.SystemQuery.KeyStatus;
import com.suse.manager.webui.utils.gson.BootstrapHostsJson;
import com.suse.manager.webui.utils.gson.BootstrapParameters;
import com.suse.salt.netapi.calls.wheel.Key;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
import com.suse.manager.reactor.messaging.test.SaltTestUtils;
import com.suse.manager.webui.controllers.utils.ContactMethodUtil;
import com.suse.manager.webui.services.iface.SaltApi;
import com.suse.manager.webui.services.iface.SaltSSHApi;
import com.suse.manager.webui.services.impl.MinionPendingRegistrationService;
import com.suse.manager.webui.services.impl.runner.MgrUtilRunner;
import com.suse.salt.netapi.calls.Client;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,6 @@
import com.suse.manager.webui.services.iface.SaltApi;
import com.suse.manager.webui.services.iface.SystemQuery;
import com.suse.manager.webui.services.iface.VirtManager;
import com.suse.manager.webui.services.impl.SaltService;
import com.suse.manager.webui.utils.SaltModuleRun;
import com.suse.manager.webui.utils.SaltState;
import com.suse.manager.webui.utils.SaltSystemReboot;
Expand Down Expand Up @@ -140,7 +139,7 @@ public void setUp() throws Exception {
public void updateLibvirtEngine(MinionServer minionIn) {
}
};
SaltService saltService = new SaltService() {
SaltApi saltApi = new SaltApi() {
@Override
public Optional<Result<JsonElement>> rawJsonCall(LocalCall<?> call, String minionId) {
return Optional.of(Result.success(new JsonObject()));
Expand All @@ -151,21 +150,19 @@ public void refreshPillar(MinionList minionList) {
}
};
minion = MinionServerFactoryTest.createTestMinionServer(user);
saltServerActionService = createSaltServerActionService(saltService, saltService);
MonitoringManager monitoringManager = new FormulaMonitoringManager(saltService);
serverGroupManager = new ServerGroupManager(saltService);
MonitoringManager monitoringManager = new FormulaMonitoringManager(saltApi);
serverGroupManager = new ServerGroupManager(saltApi);
systemEntitlementManager = new SystemEntitlementManager(
new SystemUnentitler(virtManager, monitoringManager, serverGroupManager),
new SystemEntitler(saltService, virtManager, monitoringManager, serverGroupManager)
new SystemEntitler(saltApi, virtManager, monitoringManager, serverGroupManager)
);

taskomaticMock = mock(TaskomaticApi.class);
saltServerActionService.setTaskomaticApi(taskomaticMock);
}

private SaltServerActionService createSaltServerActionService(SystemQuery systemQuery, SaltApi saltApi) {
SaltUtils saltUtils = new SaltUtils(systemQuery, saltApi);
SaltServerActionService service = new SaltServerActionService(saltApi, saltUtils, new SaltKeyUtils(saltApi));
private SaltServerActionService createSaltServerActionService(SaltApi saltApi) {
SaltServerActionService service = new SaltServerActionService(saltApi);
service.setSkipCommandScriptPerms(true);
return service;
}
Expand Down Expand Up @@ -1059,12 +1056,12 @@ public void testExectueSSHAction() throws Exception {
createChildServerAction(action, STATUS_QUEUED, testMinionServer, 5L);
HibernateFactory.getSession().flush();

SaltService saltServiceMock = mock(SaltService.class);
SaltServerActionService testService = createSaltServerActionService(saltServiceMock, saltServiceMock);
SaltApi saltApiMock = mock(SaltApi.class);
SaltServerActionService testService = createSaltServerActionService(saltApiMock, saltApiMock);
testService.setTaskomaticApi(taskomaticMock);
context().checking(new Expectations() { {
oneOf(taskomaticMock).scheduleSSHActionExecution(action, sshMinion, false);
oneOf(saltServiceMock).callAsync(
oneOf(saltApiMock).callAsync(
with(any(LocalCall.class)), with(any(Target.class)), with(any(Optional.class)));
LocalAsyncResult<?> result = new LocalAsyncResult() {
public List<String> getMinions() {
Expand Down
Loading

0 comments on commit 3140863

Please sign in to comment.