Skip to content

Commit

Permalink
#9755 S2S_Revision of the 'share requests' directory_ Part 1 - fixed …
Browse files Browse the repository at this point in the history
…tests
  • Loading branch information
Levente Gal committed Aug 24, 2022
1 parent 0d43726 commit 33da868
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 5 deletions.
Expand Up @@ -212,6 +212,8 @@ private void revokeShareRequest(ShareRequestInfo request) throws SormasToSormasE

@Override
@Transactional(rollbackOn = Exception.class)
@RightsAllowed({
UserRight._SORMAS_TO_SORMAS_SHARE })
public void revokeShareRequest(String requestUuid) throws SormasToSormasException {
ShareRequestInfo request = shareRequestInfoService.getByUuid(requestUuid);

Expand Down
Expand Up @@ -224,6 +224,8 @@ public long count(ShareRequestCriteria criteria) {
return em.createQuery(cq).getSingleResult();
}

@RightsAllowed({
UserRight._SORMAS_TO_SORMAS_SHARE })
public Page<ShareRequestIndexDto> getIndexPage(ShareRequestCriteria criteria, Integer first, Integer max, List<SortProperty> sortProperties) {
List<ShareRequestIndexDto> shareRequestIndexList = getIndexList(criteria, first, max, sortProperties);
long totalElementCount = count(criteria);
Expand All @@ -241,6 +243,8 @@ public List<SormasToSormasShareRequestDto> getShareRequestsForCase(CaseReference
}

@Override
@RightsAllowed({
UserRight._SORMAS_TO_SORMAS_SHARE })
public ShareRequestDetailsDto getShareRequestDetails(String uuid) {
SormasToSormasShareRequest request = shareRequestService.getByUuid(uuid);

Expand Down
Expand Up @@ -43,6 +43,7 @@
import de.symeda.sormas.api.sormastosormas.share.ShareRequestDetailsDto;
import de.symeda.sormas.api.sormastosormas.share.ShareRequestIndexDto;
import de.symeda.sormas.api.sormastosormas.share.outgoing.ShareRequestInfoFacade;
import de.symeda.sormas.api.user.UserRight;
import de.symeda.sormas.api.utils.SortProperty;
import de.symeda.sormas.backend.sormastosormas.access.SormasToSormasDiscoveryService;
import de.symeda.sormas.backend.sormastosormas.entities.caze.CaseShareDataBuilder;
Expand All @@ -56,8 +57,10 @@
import de.symeda.sormas.backend.util.ModelConstants;
import de.symeda.sormas.backend.util.Pseudonymizer;
import de.symeda.sormas.backend.util.QueryHelper;
import de.symeda.sormas.backend.util.RightsAllowed;

@Stateless(name = "ShareRequestInfoFacade")
@RightsAllowed(UserRight._SORMAS_TO_SORMAS_SHARE)
public class ShareRequestInfoFacadeEjb implements ShareRequestInfoFacade {

@PersistenceContext(unitName = ModelConstants.PERSISTENCE_UNIT_NAME)
Expand Down
Expand Up @@ -63,6 +63,7 @@
import de.symeda.sormas.backend.sormastosormas.entities.externalmessage.SormasToSormasExternalMessageFacadeEjb;
import de.symeda.sormas.backend.sormastosormas.origin.SormasToSormasOriginInfoFacadeEjb;
import de.symeda.sormas.backend.sormastosormas.share.incoming.SormasToSormasShareRequestFacadeEJB;
import de.symeda.sormas.backend.sormastosormas.share.outgoing.ShareRequestInfoFacadeEjb;
import de.symeda.sormas.backend.sormastosormas.share.outgoing.SormasToSormasShareInfoFacadeEjb;
import de.symeda.sormas.backend.task.TaskFacadeEjb;
import de.symeda.sormas.backend.therapy.PrescriptionFacadeEjb;
Expand All @@ -86,12 +87,10 @@ public class ArchitectureTest {
* @RolesAllowed annotation was replaced by @RightsAllowed for performance reasons
*/
@ArchTest
public static final ArchRule dontUseRolesAllowedClassAnnotationRule =
classes().should().notBeAnnotatedWith(RolesAllowed.class);
public static final ArchRule dontUseRolesAllowedClassAnnotationRule = classes().should().notBeAnnotatedWith(RolesAllowed.class);

@ArchTest
public static final ArchRule dontUseRolesAllowedMethodAnnotationRule =
methods().should().notBeAnnotatedWith(RolesAllowed.class);
public static final ArchRule dontUseRolesAllowedMethodAnnotationRule = methods().should().notBeAnnotatedWith(RolesAllowed.class);

private static final DescribedPredicate<JavaClass> classesInDataDictionary =
new DescribedPredicate<JavaClass>("are used as data dictionary entity") {
Expand Down Expand Up @@ -327,6 +326,11 @@ public void testSormasToSormasFacadeEjbAuthorization(JavaClasses classes) {
assertFacadeEjbAnnotated(SormasToSormasFacadeEjb.class, AuthMode.METHODS_ONLY, classes);
}

@ArchTest
public void testShareRequestInfoFacadeEjbAuthorization(JavaClasses classes) {
assertFacadeEjbAnnotated(ShareRequestInfoFacadeEjb.class, AuthMode.CLASS_ONLY, classes);
}

private void assertFacadeEjbAnnotated(Class<?> facadeEjbClass, JavaClasses classes) {
assertFacadeEjbAnnotated(facadeEjbClass, AuthMode.CLASS_AND_METHODS, Collections.emptyList(), classes);
}
Expand All @@ -340,7 +344,7 @@ private void assertFacadeEjbAnnotated(Class<?> facadeEjbClass, AuthMode authMode
ArchRuleDefinition.theClass(facadeEjbClass).should().beAnnotatedWith(RightsAllowed.class).check(classes);
}

GivenMethodsConjunction methods = ArchRuleDefinition.methods().that().areDeclaredIn(facadeEjbClass).and().arePublic();
GivenMethodsConjunction methods = ArchRuleDefinition.methods().that().areDeclaredIn(facadeEjbClass).and().arePublic().and().areNotStatic();
String exceptedMethodsMatcher = "^(" + String.join("|", exceptedMethods) + ")$";

if (authMode == AuthMode.CLASS_ONLY) {
Expand Down

0 comments on commit 33da868

Please sign in to comment.