TSK-939: Fix race conditions in tests

This commit is contained in:
Benjamin Eckstein 2019-10-31 09:00:47 +01:00 committed by BerndBreier
parent d42e6e1d29
commit 53e897a020
2 changed files with 15 additions and 4 deletions

View File

@ -12,9 +12,11 @@ import static org.springframework.security.test.web.servlet.setup.SecurityMockMv
import java.util.HashMap;
import org.junit.Before;
import org.junit.FixMethodOrder;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.MethodSorters;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.web.server.LocalServerPort;
@ -35,6 +37,7 @@ import pro.taskana.rest.RestConfiguration;
*/
@RunWith(SpringRunner.class)
@SpringBootTest(classes = RestConfiguration.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class WorkbasketAccessItemControllerRestDocumentation {
@LocalServerPort
@ -147,11 +150,11 @@ public class WorkbasketAccessItemControllerRestDocumentation {
}
@Test
public void getWorkbasketAccessItemsDocTest() throws Exception {
public void test01_getWorkbasketAccessItemsDocTest() throws Exception {
this.mockMvc
.perform(RestDocumentationRequestBuilders
.get("http://127.0.0.1:" + port
+ "/api/v1/workbasket-access-items/?sort-by=workbasket-key&order=asc&access-ids=user_1_1")
+ "/api/v1/workbasket-access-items/?sort-by=workbasket-key&order=asc&access-ids=user_2_2")
.accept("application/hal+json")
.header("Authorization", "Basic dGVhbWxlYWRfMTp0ZWFtbGVhZF8x"))
.andExpect(MockMvcResultMatchers.status().isOk())
@ -160,10 +163,10 @@ public class WorkbasketAccessItemControllerRestDocumentation {
}
@Test
public void removeWorkbasketAccessItemsDocTest() throws Exception {
public void test02_removeWorkbasketAccessItemsDocTest() throws Exception {
this.mockMvc
.perform(RestDocumentationRequestBuilders
.delete("http://127.0.0.1:" + port + "/api/v1/workbasket-access-items/?access-id=user_1_1")
.delete("http://127.0.0.1:" + port + "/api/v1/workbasket-access-items/?access-id=user_2_2")
.header("Authorization", "Basic dGVhbWxlYWRfMTp0ZWFtbGVhZF8x"))
.andExpect(MockMvcResultMatchers.status().isNoContent())
.andDo(MockMvcRestDocumentation.document("RemoveWorkbasketAccessItemsDocTest"));

View File

@ -31,6 +31,7 @@ import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.web.client.HttpClientErrorException;
import org.springframework.web.client.RestTemplate;
@ -129,6 +130,7 @@ public class ClassificationControllerIntTest {
}
@Test
@DirtiesContext
public void testCreateClassification() throws IOException {
String newClassification = "{\"classificationId\":\"\",\"category\":\"MANUAL\",\"domain\":\"DOMAIN_A\",\"key\":\"NEW_CLASS\",\"name\":\"new classification\",\"type\":\"TASK\"}";
URL url = new URL(server + port + "/api/v1/classifications");
@ -160,6 +162,7 @@ public class ClassificationControllerIntTest {
}
@Test
@DirtiesContext
public void testCreateClassificationWithParentId() throws IOException {
String newClassification = "{\"classificationId\":\"\",\"category\":\"MANUAL\",\"domain\":\"DOMAIN_B\",\"key\":\"NEW_CLASS_P1\",\"name\":\"new classification\",\"type\":\"TASK\",\"parentId\":\"CLI:200000000000000000000000000000000015\"}";
URL url = new URL(server + port + "/api/v1/classifications");
@ -177,6 +180,7 @@ public class ClassificationControllerIntTest {
}
@Test
@DirtiesContext
public void testCreateClassificationWithParentKey() throws IOException {
String newClassification = "{\"classificationId\":\"\",\"category\":\"MANUAL\",\"domain\":\"DOMAIN_B\",\"key\":\"NEW_CLASS_P2\",\"name\":\"new classification\",\"type\":\"TASK\",\"parentKey\":\"T2100\"}";
URL url = new URL(server + port + "/api/v1/classifications");
@ -194,6 +198,7 @@ public class ClassificationControllerIntTest {
}
@Test
@DirtiesContext
public void testCreateClassificationWithParentKeyInDOMAIN_AShouldCreateAClassificationInRootDomain()
throws IOException {
String newClassification = "{\"classificationId\":\"\",\"category\":\"MANUAL\",\"domain\":\"DOMAIN_A\",\"key\":\"NEW_CLASS_P2\",\"name\":\"new classification\",\"type\":\"TASK\",\"parentKey\":\"T2100\"}";
@ -228,6 +233,7 @@ public class ClassificationControllerIntTest {
}
@Test
@DirtiesContext
public void testReturn400IfCreateClassificationWithIncompatibleParentIdAndKey() throws IOException {
String newClassification = "{\"classificationId\":\"\",\"category\":\"MANUAL\",\"domain\":\"DOMAIN_B\",\"key\":\"NEW_CLASS_P3\",\"name\":\"new classification\",\"type\":\"TASK\",\"parentId\":\"CLI:200000000000000000000000000000000015\",\"parentKey\":\"T2000\"}";
URL url = new URL(server + port + "/api/v1/classifications");
@ -245,6 +251,7 @@ public class ClassificationControllerIntTest {
}
@Test
@DirtiesContext
public void testCreateClassificationWithClassificationIdReturnsError400() throws IOException {
String newClassification = "{\"classificationId\":\"someId\",\"category\":\"MANUAL\",\"domain\":\"DOMAIN_A\",\"key\":\"NEW_CLASS\",\"name\":\"new classification\",\"type\":\"TASK\"}";
URL url = new URL("http://127.0.0.1:" + port + "/api/v1/classifications");
@ -276,6 +283,7 @@ public class ClassificationControllerIntTest {
}
@Test(expected = HttpClientErrorException.class)
@DirtiesContext
public void testDeleteClassification() {
RestTemplate template = getRestTemplate();
HttpHeaders headers = new HttpHeaders();