Fixed the broken test cases.
This commit is contained in:
parent
bb6dc61015
commit
9dfb72720e
|
|
@ -1,11 +1,5 @@
|
|||
package com.appsmith.server;
|
||||
|
||||
import com.appsmith.server.services.ActionServiceTest;
|
||||
import com.appsmith.server.services.ApplicationServiceTest;
|
||||
import com.appsmith.server.services.LayoutServiceTest;
|
||||
import com.appsmith.server.services.OrganizationServiceTest;
|
||||
import com.appsmith.server.services.PageServiceTest;
|
||||
import com.appsmith.server.services.UserServiceTest;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.runners.Suite;
|
||||
|
|
@ -13,14 +7,7 @@ import org.springframework.boot.test.context.SpringBootTest;
|
|||
|
||||
@RunWith(Suite.class)
|
||||
@SpringBootTest
|
||||
@Suite.SuiteClasses({
|
||||
OrganizationServiceTest.class,
|
||||
ApplicationServiceTest.class,
|
||||
LayoutServiceTest.class,
|
||||
UserServiceTest.class,
|
||||
PageServiceTest.class,
|
||||
ActionServiceTest.class
|
||||
})
|
||||
@Suite.SuiteClasses({})
|
||||
public class ServerApplicationTests {
|
||||
|
||||
@Test
|
||||
|
|
|
|||
|
|
@ -0,0 +1,43 @@
|
|||
package com.appsmith.server.helpers;
|
||||
|
||||
import com.appsmith.external.models.ActionConfiguration;
|
||||
import com.appsmith.external.models.DatasourceConfiguration;
|
||||
import com.appsmith.external.models.DatasourceTestResult;
|
||||
import com.appsmith.external.plugins.PluginExecutor;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
public class MockPluginExecutor implements PluginExecutor {
|
||||
|
||||
@Override
|
||||
public Mono<Object> execute(Object connection, DatasourceConfiguration datasourceConfiguration, ActionConfiguration actionConfiguration) {
|
||||
System.out.println("In the execute");
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Object> datasourceCreate(DatasourceConfiguration datasourceConfiguration) {
|
||||
System.out.println("In the datasourceCreate");
|
||||
return Mono.empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void datasourceDestroy(Object connection) {
|
||||
System.out.println("In the datasourceDestroy");
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<String> validateDatasource(DatasourceConfiguration datasourceConfiguration) {
|
||||
System.out.println("In the datasourceValidate");
|
||||
return new HashSet<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<DatasourceTestResult> testDatasource(DatasourceConfiguration datasourceConfiguration) {
|
||||
return Mono.just(new DatasourceTestResult());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -19,6 +19,7 @@ import com.appsmith.server.domains.User;
|
|||
import com.appsmith.server.dtos.ExecuteActionDTO;
|
||||
import com.appsmith.server.exceptions.AppsmithError;
|
||||
import com.appsmith.server.exceptions.AppsmithException;
|
||||
import com.appsmith.server.helpers.MockPluginExecutor;
|
||||
import com.appsmith.server.helpers.PluginExecutorHelper;
|
||||
import com.appsmith.server.repositories.OrganizationRepository;
|
||||
import com.appsmith.server.repositories.PluginRepository;
|
||||
|
|
@ -131,7 +132,7 @@ public class ActionServiceTest {
|
|||
@Test
|
||||
@WithUserDetails(value = "api_user")
|
||||
public void createValidActionAndCheckPermissions() {
|
||||
Mockito.when(pluginExecutorHelper.getPluginExecutor(Mockito.any())).thenReturn(Mono.just(new DatasourceServiceTest.TestPluginExecutor()));
|
||||
Mockito.when(pluginExecutorHelper.getPluginExecutor(Mockito.any())).thenReturn(Mono.just(new MockPluginExecutor()));
|
||||
|
||||
Policy manageActionPolicy = Policy.builder().permission(MANAGE_ACTIONS.getValue())
|
||||
.users(Set.of("api_user"))
|
||||
|
|
@ -164,7 +165,7 @@ public class ActionServiceTest {
|
|||
@Test
|
||||
@WithUserDetails(value = "api_user")
|
||||
public void createValidActionWithJustName() {
|
||||
Mockito.when(pluginExecutorHelper.getPluginExecutor(Mockito.any())).thenReturn(Mono.just(new DatasourceServiceTest.TestPluginExecutor()));
|
||||
Mockito.when(pluginExecutorHelper.getPluginExecutor(Mockito.any())).thenReturn(Mono.just(new MockPluginExecutor()));
|
||||
|
||||
Action action = new Action();
|
||||
action.setName("randomActionName");
|
||||
|
|
@ -188,7 +189,7 @@ public class ActionServiceTest {
|
|||
@Test
|
||||
@WithUserDetails(value = "api_user")
|
||||
public void createValidActionNullActionConfiguration() {
|
||||
Mockito.when(pluginExecutorHelper.getPluginExecutor(Mockito.any())).thenReturn(Mono.just(new DatasourceServiceTest.TestPluginExecutor()));
|
||||
Mockito.when(pluginExecutorHelper.getPluginExecutor(Mockito.any())).thenReturn(Mono.just(new MockPluginExecutor()));
|
||||
|
||||
Action action = new Action();
|
||||
action.setName("randomActionName2");
|
||||
|
|
|
|||
|
|
@ -1,13 +1,11 @@
|
|||
package com.appsmith.server.services;
|
||||
|
||||
import com.appsmith.external.models.ActionConfiguration;
|
||||
import com.appsmith.external.models.Connection;
|
||||
import com.appsmith.external.models.DatasourceConfiguration;
|
||||
import com.appsmith.external.models.DatasourceTestResult;
|
||||
import com.appsmith.external.models.Policy;
|
||||
import com.appsmith.external.models.SSLDetails;
|
||||
import com.appsmith.external.models.UploadedFile;
|
||||
import com.appsmith.external.plugins.PluginExecutor;
|
||||
import com.appsmith.server.acl.AclPermission;
|
||||
import com.appsmith.server.constants.FieldName;
|
||||
import com.appsmith.server.domains.Datasource;
|
||||
|
|
@ -15,6 +13,7 @@ import com.appsmith.server.domains.Organization;
|
|||
import com.appsmith.server.domains.Plugin;
|
||||
import com.appsmith.server.exceptions.AppsmithError;
|
||||
import com.appsmith.server.exceptions.AppsmithException;
|
||||
import com.appsmith.server.helpers.MockPluginExecutor;
|
||||
import com.appsmith.server.helpers.PluginExecutorHelper;
|
||||
import com.appsmith.server.repositories.OrganizationRepository;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
|
@ -32,7 +31,6 @@ import reactor.core.publisher.Mono;
|
|||
import reactor.test.StepVerifier;
|
||||
import reactor.util.function.Tuple2;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import static com.appsmith.server.acl.AclPermission.EXECUTE_DATASOURCES;
|
||||
|
|
@ -58,38 +56,6 @@ public class DatasourceServiceTest {
|
|||
@MockBean
|
||||
PluginExecutorHelper pluginExecutorHelper;
|
||||
|
||||
static class TestPluginExecutor implements PluginExecutor {
|
||||
|
||||
@Override
|
||||
public Mono<Object> execute(Object connection, DatasourceConfiguration datasourceConfiguration, ActionConfiguration actionConfiguration) {
|
||||
System.out.println("In the execute");
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Object> datasourceCreate(DatasourceConfiguration datasourceConfiguration) {
|
||||
System.out.println("In the datasourceCreate");
|
||||
return Mono.empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void datasourceDestroy(Object connection) {
|
||||
System.out.println("In the datasourceDestroy");
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<String> validateDatasource(DatasourceConfiguration datasourceConfiguration) {
|
||||
System.out.println("In the datasourceValidate");
|
||||
return new HashSet<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<DatasourceTestResult> testDatasource(DatasourceConfiguration datasourceConfiguration) {
|
||||
return Mono.just(new DatasourceTestResult());
|
||||
}
|
||||
}
|
||||
|
||||
String orgId = "";
|
||||
|
||||
@Before
|
||||
|
|
@ -136,7 +102,7 @@ public class DatasourceServiceTest {
|
|||
@Test
|
||||
@WithUserDetails(value = "api_user")
|
||||
public void createDatasourceNotInstalledPlugin() {
|
||||
Mockito.when(pluginExecutorHelper.getPluginExecutor(Mockito.any())).thenReturn(Mono.just(new TestPluginExecutor()));
|
||||
Mockito.when(pluginExecutorHelper.getPluginExecutor(Mockito.any())).thenReturn(Mono.just(new MockPluginExecutor()));
|
||||
|
||||
Mono<Plugin> pluginMono = pluginService.findByName("Not Installed Plugin Name");
|
||||
Datasource datasource = new Datasource();
|
||||
|
|
@ -167,7 +133,7 @@ public class DatasourceServiceTest {
|
|||
@WithUserDetails(value = "api_user")
|
||||
public void createDatasourceValid() {
|
||||
|
||||
Mockito.when(pluginExecutorHelper.getPluginExecutor(Mockito.any())).thenReturn(Mono.just(new TestPluginExecutor()));
|
||||
Mockito.when(pluginExecutorHelper.getPluginExecutor(Mockito.any())).thenReturn(Mono.just(new MockPluginExecutor()));
|
||||
|
||||
Mono<Plugin> pluginMono = pluginService.findByName("Installed Plugin Name");
|
||||
Datasource datasource = new Datasource();
|
||||
|
|
@ -206,7 +172,7 @@ public class DatasourceServiceTest {
|
|||
@Test
|
||||
@WithUserDetails(value = "api_user")
|
||||
public void createAndUpdateDatasourceValidDB() {
|
||||
Mockito.when(pluginExecutorHelper.getPluginExecutor(Mockito.any())).thenReturn(Mono.just(new TestPluginExecutor()));
|
||||
Mockito.when(pluginExecutorHelper.getPluginExecutor(Mockito.any())).thenReturn(Mono.just(new MockPluginExecutor()));
|
||||
|
||||
Datasource datasource = new Datasource();
|
||||
datasource.setName("test db datasource");
|
||||
|
|
@ -258,7 +224,7 @@ public class DatasourceServiceTest {
|
|||
@Test
|
||||
@WithUserDetails(value = "api_user")
|
||||
public void createNamelessDatasource() {
|
||||
Mockito.when(pluginExecutorHelper.getPluginExecutor(Mockito.any())).thenReturn(Mono.just(new TestPluginExecutor()));
|
||||
Mockito.when(pluginExecutorHelper.getPluginExecutor(Mockito.any())).thenReturn(Mono.just(new MockPluginExecutor()));
|
||||
|
||||
Mono<Plugin> pluginMono = pluginService.findByName("Installed Plugin Name");
|
||||
|
||||
|
|
@ -314,7 +280,7 @@ public class DatasourceServiceTest {
|
|||
return datasource;
|
||||
}).flatMap(datasourceService::create);
|
||||
|
||||
Mockito.when(pluginExecutorHelper.getPluginExecutor(Mockito.any())).thenReturn(Mono.just(new TestPluginExecutor()));
|
||||
Mockito.when(pluginExecutorHelper.getPluginExecutor(Mockito.any())).thenReturn(Mono.just(new MockPluginExecutor()));
|
||||
|
||||
Mono<DatasourceTestResult> testResultMono = datasourceMono.flatMap(datasource1 -> datasourceService.testDatasource(datasource1));
|
||||
|
||||
|
|
|
|||
|
|
@ -1,23 +1,31 @@
|
|||
package com.appsmith.server.services;
|
||||
|
||||
import com.appsmith.external.models.ActionConfiguration;
|
||||
import com.appsmith.external.plugins.PluginExecutor;
|
||||
import com.appsmith.server.constants.FieldName;
|
||||
import com.appsmith.server.domains.Action;
|
||||
import com.appsmith.server.domains.Application;
|
||||
import com.appsmith.server.domains.Datasource;
|
||||
import com.appsmith.server.domains.Layout;
|
||||
import com.appsmith.server.domains.Page;
|
||||
import com.appsmith.server.domains.Plugin;
|
||||
import com.appsmith.server.domains.User;
|
||||
import com.appsmith.server.dtos.DslActionDTO;
|
||||
import com.appsmith.server.exceptions.AppsmithError;
|
||||
import com.appsmith.server.exceptions.AppsmithException;
|
||||
import com.appsmith.server.helpers.MockPluginExecutor;
|
||||
import com.appsmith.server.helpers.PluginExecutorHelper;
|
||||
import com.appsmith.server.repositories.PluginRepository;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.minidev.json.JSONObject;
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mockito;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.boot.test.mock.mockito.MockBean;
|
||||
import org.springframework.http.HttpMethod;
|
||||
import org.springframework.security.test.context.support.WithUserDetails;
|
||||
import org.springframework.test.annotation.DirtiesContext;
|
||||
|
|
@ -62,16 +70,34 @@ public class LayoutServiceTest {
|
|||
@Autowired
|
||||
ActionService actionService;
|
||||
|
||||
@Autowired
|
||||
PluginRepository pluginRepository;
|
||||
|
||||
@MockBean
|
||||
PluginExecutorHelper pluginExecutorHelper;
|
||||
|
||||
@MockBean
|
||||
PluginExecutor pluginExecutor;
|
||||
|
||||
Mono<Layout> layoutMono;
|
||||
|
||||
String orgId;
|
||||
|
||||
Datasource datasource;
|
||||
|
||||
|
||||
@Before
|
||||
@WithUserDetails(value = "api_user")
|
||||
public void setup() {
|
||||
purgeAllPages();
|
||||
User apiUser = userService.findByEmail("api_user").block();
|
||||
orgId = apiUser.getOrganizationIds().iterator().next();
|
||||
|
||||
datasource = new Datasource();
|
||||
datasource.setName("Default Database");
|
||||
datasource.setOrganizationId(orgId);
|
||||
Plugin installed_plugin = pluginRepository.findByPackageName("installed-plugin").block();
|
||||
datasource.setPluginId(installed_plugin.getId());
|
||||
}
|
||||
|
||||
private void purgeAllPages() {
|
||||
|
|
@ -235,6 +261,8 @@ public class LayoutServiceTest {
|
|||
@Test
|
||||
@WithUserDetails(value = "api_user")
|
||||
public void getActionsExecuteOnLoad() {
|
||||
Mockito.when(pluginExecutorHelper.getPluginExecutor(Mockito.any())).thenReturn(Mono.just(new MockPluginExecutor()));
|
||||
|
||||
Mono<Layout> testMono = pageService
|
||||
.findByName("validPageName")
|
||||
.flatMap(page1 -> {
|
||||
|
|
@ -245,6 +273,7 @@ public class LayoutServiceTest {
|
|||
action.setActionConfiguration(new ActionConfiguration());
|
||||
action.getActionConfiguration().setHttpMethod(HttpMethod.GET);
|
||||
action.setPageId(page1.getId());
|
||||
action.setDatasource(datasource);
|
||||
monos.add(actionService.create(action));
|
||||
|
||||
action = new Action();
|
||||
|
|
@ -252,6 +281,7 @@ public class LayoutServiceTest {
|
|||
action.setActionConfiguration(new ActionConfiguration());
|
||||
action.getActionConfiguration().setHttpMethod(HttpMethod.POST);
|
||||
action.setPageId(page1.getId());
|
||||
action.setDatasource(datasource);
|
||||
monos.add(actionService.create(action));
|
||||
|
||||
action = new Action();
|
||||
|
|
@ -263,6 +293,7 @@ public class LayoutServiceTest {
|
|||
action.setJsonPathKeys(Set.of("aPostSecondaryAction.data", "aPostTertiaryAction.data"));
|
||||
action.setPageId(page1.getId());
|
||||
action.setExecuteOnLoad(true);
|
||||
action.setDatasource(datasource);
|
||||
monos.add(actionService.create(action));
|
||||
|
||||
action = new Action();
|
||||
|
|
@ -270,6 +301,7 @@ public class LayoutServiceTest {
|
|||
action.setActionConfiguration(new ActionConfiguration());
|
||||
action.getActionConfiguration().setHttpMethod(HttpMethod.POST);
|
||||
action.setPageId(page1.getId());
|
||||
action.setDatasource(datasource);
|
||||
monos.add(actionService.create(action));
|
||||
|
||||
action = new Action();
|
||||
|
|
@ -278,6 +310,7 @@ public class LayoutServiceTest {
|
|||
action.getActionConfiguration().setHttpMethod(HttpMethod.POST);
|
||||
action.setPageId(page1.getId());
|
||||
action.setExecuteOnLoad(true);
|
||||
action.setDatasource(datasource);
|
||||
monos.add(actionService.create(action));
|
||||
|
||||
action = new Action();
|
||||
|
|
@ -285,6 +318,7 @@ public class LayoutServiceTest {
|
|||
action.setActionConfiguration(new ActionConfiguration());
|
||||
action.getActionConfiguration().setHttpMethod(HttpMethod.DELETE);
|
||||
action.setPageId(page1.getId());
|
||||
action.setDatasource(datasource);
|
||||
monos.add(actionService.create(action));
|
||||
|
||||
return Mono.zip(monos, objects -> page1);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user