Skip to content

Commit 975d964

Browse files
authored
Merge pull request #136 from InseeFr/135-augmenter-la-couverture-de-test-de-ddi-acess-services
Augmenter la couverture de tests de DDI-Access-Services
2 parents 4384858 + 78091e9 commit 975d964

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+1236
-22
lines changed
Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
package fr.insee.rmes.exceptions;
2+
3+
import org.junit.jupiter.api.Test;
4+
import java.util.List;
5+
import java.util.SortedSet;
6+
import java.util.TreeSet;
7+
import static org.junit.jupiter.api.Assertions.*;
8+
9+
class ErrorCodesTest {
10+
11+
@Test
12+
void shouldCheckIntegerErrorCodesAreNotUniqueness(){
13+
14+
List<Integer> actual = List.of(
15+
ErrorCodes.CONCEPT_CREATION_RIGHTS_DENIED,
16+
ErrorCodes.CONCEPT_MODIFICATION_RIGHTS_DENIED,
17+
ErrorCodes.CONCEPT_VALIDATION_RIGHTS_DENIED,
18+
ErrorCodes.CONCEPT_MAILING_RIGHTS_DENIED,
19+
ErrorCodes.CONCEPT_DELETION_SEVERAL_GRAPHS,
20+
ErrorCodes.CONCEPT_DELETION_LINKED,
21+
ErrorCodes.INDICATOR_CREATION_RIGHTS_DENIED,
22+
ErrorCodes.INDICATOR_MODIFICATION_RIGHTS_DENIED,
23+
ErrorCodes.INDICATOR_VALIDATION_RIGHTS_DENIED,
24+
ErrorCodes.DOCUMENT_CREATION_RIGHTS_DENIED,
25+
ErrorCodes.DOCUMENT_CREATION_EXISTING_FILE,
26+
ErrorCodes.DOCUMENT_DELETION_LINKED,
27+
ErrorCodes.LINK_CREATION_RIGHTS_DENIED,
28+
ErrorCodes.LINK_MODIFICATION_RIGHTS_DENIED,
29+
ErrorCodes.FAMILY_CREATION_RIGHTS_DENIED,
30+
ErrorCodes.FAMILY_MODIFICATION_RIGHTS_DENIED,
31+
ErrorCodes.FAMILY_VALIDATION_RIGHTS_DENIED,
32+
ErrorCodes.SERIES_CREATION_RIGHTS_DENIED,
33+
ErrorCodes.SERIES_MODIFICATION_RIGHTS_DENIED,
34+
ErrorCodes.SERIES_VALIDATION_RIGHTS_DENIED,
35+
ErrorCodes.SERIES_VALIDATION_UNPUBLISHED_FAMILY,
36+
ErrorCodes.OPERATION_CREATION_RIGHTS_DENIED,
37+
ErrorCodes.OPERATION_MODIFICATION_RIGHTS_DENIED,
38+
ErrorCodes.OPERATION_VALIDATION_RIGHTS_DENIED,
39+
ErrorCodes.OPERATION_VALIDATION_UNPUBLISHED_SERIES,
40+
ErrorCodes.SIMS_CREATION_RIGHTS_DENIED,
41+
ErrorCodes.SIMS_MODIFICATION_RIGHTS_DENIED,
42+
ErrorCodes.SIMS_VALIDATION_RIGHTS_DENIED ,
43+
ErrorCodes.SIMS_VALIDATION_UNPUBLISHED_TARGET ,
44+
ErrorCodes.SIMS_DELETION_RIGHTS_DENIED,
45+
ErrorCodes.COLLECTION_CREATION_RIGHTS_DENIED,
46+
ErrorCodes.COLLECTION_MODIFICATION_RIGHTS_DENIED,
47+
ErrorCodes.COLLECTION_VALIDATION_RIGHTS_DENIED,
48+
ErrorCodes.COLLECTION_MAILING_RIGHTS_DENIED,
49+
ErrorCodes.COMPONENT_FORBIDDEN_DELETE,
50+
ErrorCodes.COMPONENT_UNICITY,
51+
ErrorCodes.STRUCTURE_UNICITY,
52+
ErrorCodes.COMPONENT_PUBLICATION_EMPTY_CREATOR,
53+
ErrorCodes.COMPONENT_PUBLICATION_EMPTY_STATUS,
54+
ErrorCodes.COMPONENT_PUBLICATION_VALIDATED_CONCEPT ,
55+
ErrorCodes.COMPONENT_PUBLICATION_VALIDATED_CODESLIST ,
56+
ErrorCodes.STRUCTURE_PUBLICATION_VALIDATED_COMPONENT,
57+
ErrorCodes.CLASSIFICATION_VALIDATION_RIGHTS_DENIED,
58+
ErrorCodes.CONCEPT_UNKNOWN_ID,
59+
ErrorCodes.INDICATOR_UNKNOWN_ID,
60+
ErrorCodes.DOCUMENT_UNKNOWN_ID,
61+
ErrorCodes.LINK_UNKNOWN_ID,
62+
ErrorCodes.FAMILY_UNKNOWN_ID,
63+
ErrorCodes.FAMILY_INCORRECT_BODY,
64+
ErrorCodes.SERIES_UNKNOWN_ID,
65+
ErrorCodes.SERIES_UNKNOWN_FAMILY,
66+
ErrorCodes.OPERATION_UNKNOWN_ID,
67+
ErrorCodes.OPERATION_UNKNOWN_SERIES,
68+
ErrorCodes.SIMS_UNKNOWN_ID,
69+
ErrorCodes.SIMS_UNKNOWN_TARGET,
70+
ErrorCodes.GEOFEATURE_UNKNOWN ,
71+
ErrorCodes.GEOFEATURE_INCORRECT_BODY,
72+
ErrorCodes.GEOFEATURE_EXISTING_LABEL,
73+
ErrorCodes.CLASSIFICATION_UNKNOWN_ID,
74+
ErrorCodes.CLASSIFICATION_INCORRECT_BODY ,
75+
ErrorCodes.DISTRIUBTION_PATCH_INCORRECT_BODY,
76+
ErrorCodes.DATASET_PATCH_INCORRECT_BODY,
77+
ErrorCodes.DISTRIBUTION_DELETE_ONLY_UNPUBLISHED,
78+
ErrorCodes.DATASET_DELETE_ONLY_UNPUBLISHED ,
79+
ErrorCodes.DATASET_DELETE_ONLY_WITHOUT_DISTRIBUTION,
80+
ErrorCodes.DATASET_DELETE_ONLY_WITHOUT_DERIVED_DATASET,
81+
ErrorCodes.DOCUMENT_EMPTY_NAME,
82+
ErrorCodes.DOCUMENT_FORBIDDEN_CHARACTER_NAME,
83+
ErrorCodes.LINK_EMPTY_URL,
84+
ErrorCodes.LINK_EXISTING_URL,
85+
ErrorCodes.LINK_BAD_URL,
86+
ErrorCodes.SERIES_OPERATION_OR_SIMS,
87+
ErrorCodes.SIMS_INCORRECT,
88+
ErrorCodes.SIMS_DELETION_FOR_NON_SERIES,
89+
ErrorCodes.SIMS_EXPORT_WITHOUT_LANGUAGE
90+
);
91+
92+
SortedSet<Integer> set = new TreeSet<>();
93+
set.addAll(actual);
94+
boolean existDuplicates = set.size()!= actual.size();
95+
boolean existSameCode = ErrorCodes.DISTRIBUTION_DELETE_ONLY_UNPUBLISHED==ErrorCodes.DATASET_DELETE_ONLY_UNPUBLISHED;
96+
97+
assertTrue( existDuplicates && existSameCode);
98+
99+
}
100+
101+
@Test
102+
void shouldCheckStringErrorCodesAreUniqueness(){
103+
104+
List<String> actual = List.of(
105+
ErrorCodes.OPERATION_FAMILY_EXISTING_PREF_LABEL_LG1,
106+
ErrorCodes.OPERATION_FAMILY_EXISTING_PREF_LABEL_LG2,
107+
ErrorCodes.OPERATION_DOCUMENT_LINK_EXISTING_LABEL_LG1,
108+
ErrorCodes.OPERATION_DOCUMENT_LINK_EXISTING_LABEL_LG2,
109+
ErrorCodes.OPERATION_SERIES_EXISTING_PREF_LABEL_LG1,
110+
ErrorCodes.OPERATION_SERIES_EXISTING_PREF_LABEL_LG2,
111+
ErrorCodes.OPERATION_OPERATION_EXISTING_PREF_LABEL_LG1,
112+
ErrorCodes.OPERATION_OPERATION_EXISTING_PREF_LABEL_LG2,
113+
ErrorCodes.OPERATION_INDICATOR_EXISTING_PREF_LABEL_LG1,
114+
ErrorCodes.OPERATION_INDICATOR_EXISTING_PREF_LABEL_LG2
115+
);
116+
117+
SortedSet<String> set = new TreeSet<>();
118+
set.addAll(actual);
119+
boolean existDuplicates = set.size()== actual.size();
120+
assertTrue( existDuplicates );
121+
122+
}
123+
124+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package fr.insee.rmes.exceptions;
2+
3+
import org.junit.jupiter.params.ParameterizedTest;
4+
import org.junit.jupiter.params.provider.ValueSource;
5+
import java.util.Objects;
6+
import static org.junit.jupiter.api.Assertions.*;
7+
8+
class ExceptionColecticaTest {
9+
10+
@ParameterizedTest
11+
@ValueSource(strings = { "a","b","c","d","e","f","g","h" })
12+
void shouldReturnValuesOfExceptionColecticaMethods(String s) {
13+
ExceptionColectica firstExceptionColectica = new ExceptionColectica(s);
14+
ExceptionColectica secondExceptionColectica = new ExceptionColectica(s,new Throwable());
15+
boolean isExceptionKnown = firstExceptionColectica.isExceptionKnown() && secondExceptionColectica.isExceptionKnown();
16+
boolean isMessageKnown = Objects.equals(firstExceptionColectica.getMessage(), s) && Objects.equals(secondExceptionColectica.getMessage(), s);
17+
assertTrue(isExceptionKnown && isMessageKnown);
18+
}
19+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package fr.insee.rmes.exceptions;
2+
3+
import org.junit.jupiter.params.ParameterizedTest;
4+
import org.junit.jupiter.params.provider.ValueSource;
5+
import java.util.Objects;
6+
import static org.junit.jupiter.api.Assertions.*;
7+
8+
class ExceptionColecticaUnreachableTest {
9+
10+
@ParameterizedTest
11+
@ValueSource(strings = { "223","creator","publisher","id","identifiant","version","lg1","lg2" })
12+
void shouldReturnValuesOfExceptionColecticaUnreachable(String s) {
13+
ExceptionColecticaUnreachable firstExceptionUnreachable = new ExceptionColecticaUnreachable(s);
14+
ExceptionColecticaUnreachable secondExceptionUnreachable = new ExceptionColecticaUnreachable(s,new Throwable());
15+
boolean isMessageKnown = Objects.equals(firstExceptionUnreachable.getMessage(), s) && Objects.equals(secondExceptionUnreachable.getMessage(), s);
16+
assertTrue(isMessageKnown);
17+
}
18+
19+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package fr.insee.rmes.exceptions;
2+
3+
import org.junit.jupiter.api.Test;
4+
import org.springframework.mock.env.MockEnvironment;
5+
import static org.junit.jupiter.api.Assertions.*;
6+
7+
class RMeSEnvironmentTest {
8+
9+
@Test
10+
void shouldReturnEmptyStringWhenGetEnvironment() {
11+
MockEnvironment mockEnvironment = new MockEnvironment();
12+
RMeSEnvironment rMeSEnvironment = new RMeSEnvironment(mockEnvironment);
13+
assertEquals("{}", rMeSEnvironment.getEnvironment());
14+
}
15+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package fr.insee.rmes.exceptions;
2+
3+
import org.junit.jupiter.api.Test;
4+
import java.util.Objects;
5+
import static org.junit.jupiter.api.Assertions.*;
6+
7+
class RestMessageTest {
8+
9+
@Test
10+
void shouldCreateRestMessage(){
11+
RestMessage restMessage = new RestMessage(0,"mockedMessage","mockedString");
12+
int mockedStatus = 1;
13+
String mockedMessage="newMockedMessage";
14+
String mockedDetails = "newMockedDetails";
15+
restMessage.setStatus(mockedStatus);
16+
restMessage.setMessage(mockedMessage);
17+
restMessage.setDetails(mockedDetails);
18+
assertTrue(restMessage.getStatus()==mockedStatus && Objects.equals(restMessage.getMessage(), mockedMessage) && Objects.equals(restMessage.getDetails(), mockedDetails));
19+
}
20+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package fr.insee.rmes.exceptions;
2+
3+
import org.json.JSONArray;
4+
import org.json.JSONObject;
5+
import org.junit.jupiter.api.Test;
6+
import static org.junit.jupiter.api.Assertions.*;
7+
8+
class RmesBadRequestExceptionTest {
9+
10+
@Test
11+
void shouldReturnNonNullDetailsWhenGetDetailsForAllConstructors(){
12+
boolean a = new RmesBadRequestException("mockedMessage").getDetails() !=null;
13+
boolean b = new RmesBadRequestException("mockedMessage","mockedDetails").getDetails() !=null;
14+
boolean c = new RmesBadRequestException("mockedMessage",new JSONArray().put("mockedDetails")).getDetails() !=null;
15+
boolean d = new RmesBadRequestException(2025,"mockedMessage","mockedDetails").getDetails() !=null;
16+
boolean e = new RmesBadRequestException("mockedMessage",new JSONArray().put("mockedDetails")).getDetails() !=null;
17+
boolean f = new RmesBadRequestException(10,"mockedMessage").getDetails() !=null;
18+
boolean g = new RmesBadRequestException(10,"mockedMessage",new JSONObject()).getDetails() !=null;
19+
boolean h = new RmesBadRequestException(43,"mockedMessage",new JSONArray().put("mockedDetails")).getDetails() !=null;
20+
assertTrue(a && b && c && d && e && f && g && h);
21+
}
22+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package fr.insee.rmes.exceptions;
2+
3+
import org.junit.jupiter.api.Test;
4+
import static org.junit.jupiter.api.Assertions.*;
5+
6+
class RmesFileExceptionTest {
7+
8+
@Test
9+
void shouldReturnNonNullRmesFileException(){
10+
RmesFileException rmesFileException = new RmesFileException("mockedMessage",new Throwable("mockedThrowable"));
11+
assertNotNull(rmesFileException);
12+
}
13+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package fr.insee.rmes.exceptions;
2+
3+
import org.json.JSONArray;
4+
import org.junit.jupiter.api.Test;
5+
import static org.junit.jupiter.api.Assertions.*;
6+
7+
class RmesNotAcceptableExceptionTest {
8+
9+
@Test
10+
11+
void shouldReturnNotNullDetailsWhenRmesNotAcceptableException(){
12+
boolean a = new RmesNotAcceptableException("mockedMessage","mockedDetails").getDetails()!=null;
13+
boolean b= new RmesNotAcceptableException("mockedMessage",new JSONArray().put("details")).getDetails()!=null;
14+
boolean c= new RmesNotAcceptableException(2025,"mockedMessage","mockedDetails").getDetails()!=null;
15+
boolean d = new RmesNotAcceptableException(2025,"mockedMessage",new JSONArray().put("details")).getDetails()!=null;
16+
assertTrue(a && b && c && d);
17+
}
18+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package fr.insee.rmes.exceptions;
2+
3+
import org.junit.jupiter.api.Test;
4+
import static org.junit.jupiter.api.Assertions.*;
5+
6+
class RmesNotFoundExceptionTest {
7+
8+
@Test
9+
void shouldReturnNotNullDetailsWhenRmesNotFoundException(){
10+
boolean a = new RmesNotFoundException("mockedMessage","mockedDetails").getDetails()!=null;
11+
boolean b= new RmesNotFoundException("mockedMessage").getDetails()!=null;
12+
boolean c= new RmesNotFoundException(2025,"mockedMessage","mockedDetails").getDetails()!=null;
13+
assertTrue(a && b && c );
14+
}
15+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package fr.insee.rmes.exceptions;
2+
3+
import org.junit.jupiter.api.Test;
4+
import static org.junit.jupiter.api.Assertions.*;
5+
6+
class RmesRuntimeBadRequestExceptionTest {
7+
8+
@Test
9+
void shouldReturnNotNullMessageWhenRmesRuntimeBadRequestException(){
10+
RmesRuntimeBadRequestException rmesRuntimeBadRequestException = new RmesRuntimeBadRequestException("mockedMessage");
11+
assertNotNull(rmesRuntimeBadRequestException.getMessage());
12+
}
13+
}

0 commit comments

Comments
 (0)