diff --git a/wise-webapp/src/test/java/com/wisemapping/test/rest/RestMindmapControllerTest.java b/wise-webapp/src/test/java/com/wisemapping/test/rest/RestMindmapControllerTest.java
index f2daaf35..075729c7 100644
--- a/wise-webapp/src/test/java/com/wisemapping/test/rest/RestMindmapControllerTest.java
+++ b/wise-webapp/src/test/java/com/wisemapping/test/rest/RestMindmapControllerTest.java
@@ -1,13 +1,20 @@
package com.wisemapping.test.rest;
+import com.wisemapping.config.common.CommonConfig;
+import com.wisemapping.config.rest.RestAppConfig;
import com.wisemapping.exceptions.WiseMappingException;
+import com.wisemapping.rest.AdminController;
+import com.wisemapping.rest.MindmapController;
+import com.wisemapping.rest.UserController;
import com.wisemapping.rest.model.*;
import jakarta.annotation.Nullable;
import org.jetbrains.annotations.NotNull;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.web.client.TestRestTemplate;
import org.springframework.http.*;
import org.springframework.web.client.RestClientException;
@@ -23,12 +30,12 @@ import java.util.stream.Collectors;
import static com.wisemapping.test.rest.RestHelper.createHeaders;
import static org.junit.jupiter.api.Assertions.*;
-//@SpringBootTest(classes = {RestAppConfig.class, CommonConfig.class, MindmapController.class, AdminController.class, UserController.class}, webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
+@SpringBootTest(classes = {RestAppConfig.class, CommonConfig.class, MindmapController.class, AdminController.class, UserController.class}, webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
public class RestMindmapControllerTest {
private RestUser user;
- // @Autowired
+ @Autowired
private TestRestTemplate restTemplate;
@BeforeEach
@@ -513,7 +520,7 @@ public class RestMindmapControllerTest {
@Test
@Disabled("missing test: delete map should not affects others labels")
- public void deleteMapAndCheckLabels(final @NotNull MediaType mediaType) { // Configure media types ...
+ public void deleteMapAndCheckLabels() { // Configure media types ...
}
@Test
@@ -672,93 +679,85 @@ public class RestMindmapControllerTest {
assertEquals(1, Objects.requireNonNull(maps.getBody()).getCount());
}
- //
-// @Test(dataProviderClass = RestHelper.class, dataProvider = "ContentType-Provider-Function")
-// public void updateRevertMindmap(final @NotNull MediaType mediaType) throws IOException { // Configure media types ...
-// final HttpHeaders requestHeaders = createHeaders(mediaType);
-// final RestTemplate template = createTemplate(userEmail);
-//
-// // Create a sample map ...
-// final URI resourceUri = addNewMap(template, "map to test revert changes");
-// updateMapDocument(requestHeaders, template, HOST_PORT + resourceUri.toString(), "");
-//
-// updateMapDocument(requestHeaders, template, HOST_PORT + resourceUri.toString(), "");
-//
-// //fetch map history
-// final HttpEntity findMapEntity = new HttpEntity(requestHeaders);
-// final ResponseEntity mapHistories = template.exchange(HOST_PORT + resourceUri + "/history/", HttpMethod.GET, findMapEntity, RestMindmapHistoryList.class);
-//
-// //aply revert
-// final HttpEntity cloneEntity = new HttpEntity<>(requestHeaders);
-// template.postForLocation(HOST_PORT + resourceUri + "/history/latest", cloneEntity);
-// final RestMindmap latestStoredMap = findMap(requestHeaders, template, resourceUri);
-// template.postForLocation(HOST_PORT + resourceUri + "/history/" + mapHistories.getBody().getChanges().get(1).getId(), cloneEntity);
-// final RestMindmap firstVersionMap = findMap(requestHeaders, template, resourceUri);
-//
-// //verify revert
-// assertEquals(firstVersionMap.getXml(), "");
-// assertEquals(latestStoredMap.getXml(), "");
-//
-// }
-//
-// @Test(dataProviderClass = RestHelper.class, dataProvider = "ContentType-Provider-Function")
-// public void addCollabWhitoutOwnerPermission(final @NotNull MediaType mediaType) {
-// final HttpHeaders requestHeaders = createHeaders(mediaType);
-// RestTemplate template = createTemplate(userEmail);
-//
-// // Create a sample map ...
-// final URI resourceUri = addNewMap(template, "MaddCollabWhitoutOwnerPermission");
-//
-// // Add a new collaboration ...
-// requestHeaders.setContentType(MediaType.APPLICATION_JSON);
-// final RestCollaborationList collabs = new RestCollaborationList();
-// collabs.setMessage("Adding new permission");
-//
-// final String newCollab = restAdminITCase.createNewUser(MediaType.APPLICATION_JSON);
-// String role = "editor";
-//
-// addCollabToList(newCollab, role, collabs);
-//
-// final HttpEntity updateEntity = new HttpEntity<>(collabs, requestHeaders);
-// template.put(HOST_PORT + resourceUri + "/collabs/", updateEntity);
-//
-// template = createTemplate(newCollab + ":admin");
-// //add collab again with the new user expecting the Exception
-// try {
-// template.put(HOST_PORT + resourceUri + "/collabs/", updateEntity);
-// } catch (HttpClientErrorException e) {
-// assertEquals(e.getRawStatusCode(), 400);
-// assertTrue(e.getMessage().contains("User must be owner to share mindmap"));
-// }
-// }
-//
-// @Test(dataProviderClass = RestHelper.class, dataProvider = "ContentType-Provider-Function")
-// public void addCollabWhitOwnerRole(final @NotNull MediaType mediaType) {
-// final HttpHeaders requestHeaders = createHeaders(mediaType);
-// RestTemplate template = createTemplate(userEmail);
-//
-// // Create a sample map ...
-// final URI resourceUri = addNewMap(template, "addCollabWhitOwnerRole");
-//
-// // Add a new collaboration ...
-// requestHeaders.setContentType(MediaType.APPLICATION_JSON);
-// final RestCollaborationList collabs = new RestCollaborationList();
-// collabs.setMessage("Adding new permission");
-//
-// final String newCollab = "new-collaborator@mail.com";
-// String role = "owner";
-//
-// addCollabToList(newCollab, role, collabs);
-//
-// final HttpEntity updateEntity = new HttpEntity<>(collabs, requestHeaders);
-// try {
-// template.put(HOST_PORT + resourceUri + "/collabs/", updateEntity);
-// } catch (HttpClientErrorException e) {
-// assertEquals(e.getRawStatusCode(), 400);
-// assertTrue(e.getMessage().contains("Collab email can not be change"));
-// }
-// }
-//
+
+ @Test
+ public void updateRevertMindmap() throws IOException {
+ final HttpHeaders requestHeaders = createHeaders(MediaType.APPLICATION_JSON);
+ final TestRestTemplate restTemplate = this.restTemplate.withBasicAuth(user.getEmail(), user.getPassword());
+
+ // Create a sample map ...
+ final URI resourceUri = addNewMap(restTemplate, "map to test revert changes");
+ updateMapDocument(requestHeaders, restTemplate, resourceUri.toString(), "");
+
+ updateMapDocument(requestHeaders, restTemplate, resourceUri.toString(), "");
+
+ //fetch map history
+ final HttpEntity findMapEntity = new HttpEntity<>(requestHeaders);
+ final ResponseEntity mapHistories = restTemplate.exchange(resourceUri + "/history/", HttpMethod.GET, findMapEntity, RestMindmapHistoryList.class);
+
+ //aply revert
+ final HttpEntity cloneEntity = new HttpEntity<>(requestHeaders);
+ restTemplate.postForLocation(resourceUri + "/history/latest", cloneEntity);
+ final RestMindmap latestStoredMap = findMap(requestHeaders, restTemplate, resourceUri);
+ restTemplate.postForLocation(resourceUri + "/history/" + mapHistories.getBody().getChanges().get(1).getId(), cloneEntity);
+ final RestMindmap firstVersionMap = findMap(requestHeaders, restTemplate, resourceUri);
+
+ //verify revert
+ assertEquals(firstVersionMap.getXml(), "");
+ assertEquals(latestStoredMap.getXml(), "");
+ }
+
+
+ @Test
+ public void addCollabWhitoutOwnerPermission() {
+ final HttpHeaders requestHeaders = createHeaders(MediaType.APPLICATION_JSON);
+ final TestRestTemplate restTemplate = this.restTemplate.withBasicAuth(user.getEmail(), user.getPassword());
+
+ // Create a sample map ...
+ final URI resourceUri = addNewMap(restTemplate, "MaddCollabWhitoutOwnerPermission");
+
+ // Add a new collaboration ...
+ requestHeaders.setContentType(MediaType.APPLICATION_JSON);
+ final RestCollaborationList collabs = new RestCollaborationList();
+ collabs.setMessage("Adding new permission");
+
+ final RestAccountControllerTest restAccount = RestAccountControllerTest.create(restTemplate);
+ final RestUser newCollab = restAccount.createNewUser();
+ String role = "editor";
+
+ addCollabToList(newCollab.getEmail(), role, collabs);
+
+ final HttpEntity updateEntity = new HttpEntity<>(collabs, requestHeaders);
+ restTemplate.put(resourceUri + "/collabs/", updateEntity);
+
+ final TestRestTemplate newCollabTemplate = this.restTemplate.withBasicAuth(newCollab.getEmail(), newCollab.getPassword());
+ final ResponseEntity exchange = newCollabTemplate.exchange(resourceUri + "/collabs/", HttpMethod.PUT, updateEntity, Void.class);
+ assertTrue(exchange.getStatusCode().is4xxClientError(), exchange.toString());
+ }
+
+ @Test
+ public void addCollabWhitOwnerRole() {
+ final HttpHeaders requestHeaders = createHeaders(MediaType.APPLICATION_JSON);
+ final TestRestTemplate restTemplate = this.restTemplate.withBasicAuth(user.getEmail(), user.getPassword());
+
+ // Create a sample map ...
+ final URI resourceUri = addNewMap(restTemplate, "addCollabWhitOwnerRole");
+
+ // Add a new collaboration ...
+ requestHeaders.setContentType(MediaType.APPLICATION_JSON);
+ final RestCollaborationList collabs = new RestCollaborationList();
+ collabs.setMessage("Adding new permission");
+
+ final String newCollab = "new-collaborator@mail.com";
+ String role = "owner";
+
+ addCollabToList(newCollab, role, collabs);
+
+ final HttpEntity updateEntity = new HttpEntity<>(collabs, requestHeaders);
+ final ResponseEntity collabsList = restTemplate.exchange(resourceUri + "/collabs/", HttpMethod.PUT, updateEntity, RestCollaborationList.class);
+ assertTrue(collabsList.getStatusCode().is4xxClientError());
+ }
+
private String changeMapTitle(final HttpHeaders requestHeaders, final MediaType mediaType, final TestRestTemplate template, final URI resourceUri) throws RestClientException {
requestHeaders.setContentType(MediaType.TEXT_PLAIN);
final String result = "New map to change title - " + mediaType;
@@ -791,7 +790,7 @@ public class RestMindmapControllerTest {
}
private RestMindmap findMap(@NotNull HttpHeaders requestHeaders, @NotNull TestRestTemplate template, URI resourceUri) {
- final HttpEntity findMapEntity = new HttpEntity(requestHeaders);
+ final HttpEntity findMapEntity = new HttpEntity<>(requestHeaders);
final ResponseEntity response = template.exchange("http://localhost:8081/" + resourceUri.toString(), HttpMethod.GET, findMapEntity, RestMindmap.class);
if (!response.getStatusCode().is2xxSuccessful()) {