Michael Hoennig
2022-10-27 dc1a17e9158cf86fcfc255d41bf5bfb236abf083
use @PersistenceContext for EntityManager, not @Autowired
42 files modified
227 ■■■■ changed files
src/main/java/net/hostsharing/hsadminng/context/Context.java 1 ●●●● patch | view | raw | blame | history
src/main/java/net/hostsharing/hsadminng/errors/CustomErrorResponse.java 8 ●●●● patch | view | raw | blame | history
src/main/java/net/hostsharing/hsadminng/hs/office/debitor/HsOfficeDebitorController.java 3 ●●●● patch | view | raw | blame | history
src/main/java/net/hostsharing/hsadminng/hs/office/membership/HsOfficeMembershipController.java 3 ●●●● patch | view | raw | blame | history
src/main/java/net/hostsharing/hsadminng/hs/office/partner/HsOfficePartnerController.java 3 ●●●● patch | view | raw | blame | history
src/main/java/net/hostsharing/hsadminng/hs/office/relationship/HsOfficeRelationshipController.java 3 ●●●● patch | view | raw | blame | history
src/main/java/net/hostsharing/hsadminng/hs/office/sepamandate/HsOfficeSepaMandateController.java 3 ●●●● patch | view | raw | blame | history
src/main/java/net/hostsharing/hsadminng/mapper/Mapper.java 3 ●●●● patch | view | raw | blame | history
src/main/java/net/hostsharing/hsadminng/rbac/rbacgrant/RbacGrantController.java 3 ●●●● patch | view | raw | blame | history
src/test/java/net/hostsharing/hsadminng/hs/office/bankaccount/HsOfficeBankAccountControllerAcceptanceTest.java 3 ●●●● patch | view | raw | blame | history
src/test/java/net/hostsharing/hsadminng/hs/office/bankaccount/HsOfficeBankAccountControllerRestTest.java 8 ●●●● patch | view | raw | blame | history
src/test/java/net/hostsharing/hsadminng/hs/office/bankaccount/HsOfficeBankAccountRepositoryIntegrationTest.java 3 ●●●● patch | view | raw | blame | history
src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactControllerAcceptanceTest.java 3 ●●●● patch | view | raw | blame | history
src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactRepositoryIntegrationTest.java 3 ●●●● patch | view | raw | blame | history
src/test/java/net/hostsharing/hsadminng/hs/office/coopassets/HsOfficeCoopAssetsTransactionControllerAcceptanceTest.java 9 ●●●●● patch | view | raw | blame | history
src/test/java/net/hostsharing/hsadminng/hs/office/coopassets/HsOfficeCoopAssetsTransactionControllerRestTest.java 4 ●●●● patch | view | raw | blame | history
src/test/java/net/hostsharing/hsadminng/hs/office/coopassets/HsOfficeCoopAssetsTransactionRepositoryIntegrationTest.java 3 ●●●● patch | view | raw | blame | history
src/test/java/net/hostsharing/hsadminng/hs/office/coopshares/HsOfficeCoopSharesTransactionControllerAcceptanceTest.java 14 ●●●●● patch | view | raw | blame | history
src/test/java/net/hostsharing/hsadminng/hs/office/coopshares/HsOfficeCoopSharesTransactionControllerRestTest.java 4 ●●●● patch | view | raw | blame | history
src/test/java/net/hostsharing/hsadminng/hs/office/coopshares/HsOfficeCoopSharesTransactionRepositoryIntegrationTest.java 3 ●●●● patch | view | raw | blame | history
src/test/java/net/hostsharing/hsadminng/hs/office/debitor/HsOfficeDebitorControllerAcceptanceTest.java 3 ●●●● patch | view | raw | blame | history
src/test/java/net/hostsharing/hsadminng/hs/office/debitor/HsOfficeDebitorRepositoryIntegrationTest.java 3 ●●●● patch | view | raw | blame | history
src/test/java/net/hostsharing/hsadminng/hs/office/membership/HsOfficeMembershipControllerAcceptanceTest.java 3 ●●●● patch | view | raw | blame | history
src/test/java/net/hostsharing/hsadminng/hs/office/membership/HsOfficeMembershipControllerRestTest.java 43 ●●●● patch | view | raw | blame | history
src/test/java/net/hostsharing/hsadminng/hs/office/membership/HsOfficeMembershipRepositoryIntegrationTest.java 3 ●●●● patch | view | raw | blame | history
src/test/java/net/hostsharing/hsadminng/hs/office/partner/HsOfficePartnerControllerAcceptanceTest.java 3 ●●●● patch | view | raw | blame | history
src/test/java/net/hostsharing/hsadminng/hs/office/partner/HsOfficePartnerRepositoryIntegrationTest.java 3 ●●●● patch | view | raw | blame | history
src/test/java/net/hostsharing/hsadminng/hs/office/person/HsOfficePersonControllerAcceptanceTest.java 3 ●●●● patch | view | raw | blame | history
src/test/java/net/hostsharing/hsadminng/hs/office/person/HsOfficePersonRepositoryIntegrationTest.java 3 ●●●● patch | view | raw | blame | history
src/test/java/net/hostsharing/hsadminng/hs/office/relationship/HsOfficeRelationshipRepositoryIntegrationTest.java 3 ●●●● patch | view | raw | blame | history
src/test/java/net/hostsharing/hsadminng/hs/office/sepamandate/HsOfficeSepaMandateControllerAcceptanceTest.java 3 ●●●● patch | view | raw | blame | history
src/test/java/net/hostsharing/hsadminng/hs/office/sepamandate/HsOfficeSepaMandateRepositoryIntegrationTest.java 3 ●●●● patch | view | raw | blame | history
src/test/java/net/hostsharing/hsadminng/rbac/rbacgrant/RbacGrantControllerAcceptanceTest.java 3 ●●●● patch | view | raw | blame | history
src/test/java/net/hostsharing/hsadminng/rbac/rbacgrant/RbacGrantRepositoryIntegrationTest.java 3 ●●●● patch | view | raw | blame | history
src/test/java/net/hostsharing/hsadminng/rbac/rbacrole/RbacRoleControllerAcceptanceTest.java 3 ●●●● patch | view | raw | blame | history
src/test/java/net/hostsharing/hsadminng/rbac/rbacrole/RbacRoleControllerRestTest.java 20 ●●●●● patch | view | raw | blame | history
src/test/java/net/hostsharing/hsadminng/rbac/rbacuser/RbacUserControllerAcceptanceTest.java 3 ●●●● patch | view | raw | blame | history
src/test/java/net/hostsharing/hsadminng/rbac/rbacuser/RbacUserControllerRestTest.java 20 ●●●●● patch | view | raw | blame | history
src/test/java/net/hostsharing/hsadminng/rbac/rbacuser/RbacUserRepositoryIntegrationTest.java 3 ●●●● patch | view | raw | blame | history
src/test/java/net/hostsharing/hsadminng/test/cust/TestCustomerControllerAcceptanceTest.java 3 ●●●● patch | view | raw | blame | history
src/test/java/net/hostsharing/hsadminng/test/cust/TestCustomerRepositoryIntegrationTest.java 3 ●●●● patch | view | raw | blame | history
src/test/java/net/hostsharing/hsadminng/test/pac/TestPackageRepositoryIntegrationTest.java 3 ●●●● patch | view | raw | blame | history
src/main/java/net/hostsharing/hsadminng/context/Context.java
@@ -32,6 +32,7 @@
            "content-length",
            "host",
            "user-agent");
    @PersistenceContext
    private EntityManager em;
src/main/java/net/hostsharing/hsadminng/errors/CustomErrorResponse.java
@@ -35,17 +35,17 @@
    private final String path;
    private final int status;
    private final int statusCode;
    private final String error;
    private final String statusPhrase;
    private final String message;
    CustomErrorResponse(final String path, final HttpStatus status, final String message) {
        this.timestamp = LocalDateTime.now();
        this.path = path;
        this.status = status.value();
        this.error = status.getReasonPhrase();
        this.statusCode = status.value();
        this.statusPhrase = status.getReasonPhrase();
        this.message = message;
    }
}
src/main/java/net/hostsharing/hsadminng/hs/office/debitor/HsOfficeDebitorController.java
@@ -13,6 +13,7 @@
import org.springframework.web.servlet.mvc.method.annotation.MvcUriComponentsBuilder;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import java.util.List;
import java.util.UUID;
@@ -29,7 +30,7 @@
    @Autowired
    private HsOfficeDebitorRepository debitorRepo;
    @Autowired
    @PersistenceContext
    private EntityManager em;
    @Override
src/main/java/net/hostsharing/hsadminng/hs/office/membership/HsOfficeMembershipController.java
@@ -13,6 +13,7 @@
import org.springframework.web.servlet.mvc.method.annotation.MvcUriComponentsBuilder;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.validation.Valid;
import java.util.List;
import java.util.UUID;
@@ -31,7 +32,7 @@
    @Autowired
    private HsOfficeMembershipRepository membershipRepo;
    @Autowired
    @PersistenceContext
    private EntityManager em;
    @Override
src/main/java/net/hostsharing/hsadminng/hs/office/partner/HsOfficePartnerController.java
@@ -14,6 +14,7 @@
import org.springframework.web.servlet.mvc.method.annotation.MvcUriComponentsBuilder;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import java.util.List;
import java.util.UUID;
@@ -30,7 +31,7 @@
    @Autowired
    private HsOfficePartnerRepository partnerRepo;
    @Autowired
    @PersistenceContext
    private EntityManager em;
    @Override
src/main/java/net/hostsharing/hsadminng/hs/office/relationship/HsOfficeRelationshipController.java
@@ -13,6 +13,7 @@
import org.springframework.web.servlet.mvc.method.annotation.MvcUriComponentsBuilder;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import java.util.List;
import java.util.NoSuchElementException;
import java.util.UUID;
@@ -38,7 +39,7 @@
    @Autowired
    private HsOfficeContactRepository contactRepo;
    @Autowired
    @PersistenceContext
    private EntityManager em;
    @Override
src/main/java/net/hostsharing/hsadminng/hs/office/sepamandate/HsOfficeSepaMandateController.java
@@ -13,6 +13,7 @@
import org.springframework.web.servlet.mvc.method.annotation.MvcUriComponentsBuilder;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.validation.Valid;
import java.util.List;
import java.util.UUID;
@@ -33,7 +34,7 @@
    @Autowired
    private HsOfficeSepaMandateRepository SepaMandateRepo;
    @Autowired
    @PersistenceContext
    private EntityManager em;
    @Override
src/main/java/net/hostsharing/hsadminng/mapper/Mapper.java
@@ -7,6 +7,7 @@
import javax.persistence.EntityManager;
import javax.persistence.ManyToOne;
import javax.persistence.PersistenceContext;
import javax.validation.ValidationException;
import java.lang.reflect.Field;
import java.util.List;
@@ -18,7 +19,7 @@
 */
public class Mapper extends ModelMapper {
    @Autowired
    @PersistenceContext
    EntityManager em;
    public Mapper() {
src/main/java/net/hostsharing/hsadminng/rbac/rbacgrant/RbacGrantController.java
@@ -11,6 +11,7 @@
import org.springframework.web.servlet.mvc.method.annotation.MvcUriComponentsBuilder;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import java.util.List;
import java.util.UUID;
@@ -26,7 +27,7 @@
    @Autowired
    private RbacGrantRepository rbacGrantRepository;
    @Autowired
    @PersistenceContext
    private EntityManager em;
    @Override
src/test/java/net/hostsharing/hsadminng/hs/office/bankaccount/HsOfficeBankAccountControllerAcceptanceTest.java
@@ -16,6 +16,7 @@
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import java.util.UUID;
import static net.hostsharing.test.IsValidUuidMatcher.isUuidValid;
@@ -43,7 +44,7 @@
    @Autowired
    JpaAttempt jpaAttempt;
    @Autowired
    @PersistenceContext
    EntityManager em;
    @Nested
src/test/java/net/hostsharing/hsadminng/hs/office/bankaccount/HsOfficeBankAccountControllerRestTest.java
@@ -75,8 +75,8 @@
                // then
                .andExpect(status().is4xxClientError())
                .andExpect(jsonPath("status", is(400)))
                .andExpect(jsonPath("error", is("Bad Request")))
                .andExpect(jsonPath("statusCode", is(400)))
                .andExpect(jsonPath("statusPhrase", is("Bad Request")))
                .andExpect(jsonPath("message", is(testCase.expectedErrorMessage())));
    }
@@ -122,8 +122,8 @@
                // then
                .andExpect(status().is4xxClientError())
                .andExpect(jsonPath("status", is(400)))
                .andExpect(jsonPath("error", is("Bad Request")))
                .andExpect(jsonPath("statusCode", is(400)))
                .andExpect(jsonPath("statusPhrase", is("Bad Request")))
                .andExpect(jsonPath("message", is(testCase.expectedErrorMessage())));
    }
}
src/test/java/net/hostsharing/hsadminng/hs/office/bankaccount/HsOfficeBankAccountRepositoryIntegrationTest.java
@@ -22,6 +22,7 @@
import org.testcontainers.junit.jupiter.Container;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;
import java.util.List;
@@ -46,7 +47,7 @@
    @Autowired
    RawRbacGrantRepository rawGrantRepo;
    @Autowired
    @PersistenceContext
    EntityManager em;
    @Autowired
src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactControllerAcceptanceTest.java
@@ -18,6 +18,7 @@
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import java.util.UUID;
import static net.hostsharing.test.IsValidUuidMatcher.isUuidValid;
@@ -48,7 +49,7 @@
    @Autowired
    JpaAttempt jpaAttempt;
    @Autowired
    @PersistenceContext
    EntityManager em;
    @Nested
src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactRepositoryIntegrationTest.java
@@ -20,6 +20,7 @@
import org.testcontainers.junit.jupiter.Container;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;
import java.util.List;
@@ -45,7 +46,7 @@
    @Autowired
    RawRbacGrantRepository rawGrantRepo;
    @Autowired
    @PersistenceContext
    EntityManager em;
    @Autowired
src/test/java/net/hostsharing/hsadminng/hs/office/coopassets/HsOfficeCoopAssetsTransactionControllerAcceptanceTest.java
@@ -19,6 +19,7 @@
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import java.time.LocalDate;
import java.util.UUID;
@@ -36,7 +37,7 @@
class HsOfficeCoopAssetsTransactionControllerAcceptanceTest {
    @LocalServerPort
    private Integer port;
    Integer port;
    @Autowired
    Context context;
@@ -50,7 +51,7 @@
    @Autowired
    JpaAttempt jpaAttempt;
    @Autowired
    @PersistenceContext
    EntityManager em;
    @Nested
@@ -225,8 +226,8 @@
                    .contentType(ContentType.JSON)
                    .body("", lenientlyEquals("""
                            {
                                 "status": 400,
                                 "error": "Bad Request",
                                 "statusCode": 400,
                                 "statusPhrase": "Bad Request",
                                 "message": "ERROR: [400] coop assets transaction would result in a negative balance of assets"
                             }
                        """));  // @formatter:on
src/test/java/net/hostsharing/hsadminng/hs/office/coopassets/HsOfficeCoopAssetsTransactionControllerRestTest.java
@@ -122,8 +122,8 @@
                // then
                .andExpect(status().is4xxClientError())
                .andExpect(jsonPath("status", is(400)))
                .andExpect(jsonPath("error", is("Bad Request")))
                .andExpect(jsonPath("statusCode", is(400)))
                .andExpect(jsonPath("statusPhrase", is("Bad Request")))
                .andExpect(jsonPath("message", is(testCase.expectedErrorMessage)));
    }
src/test/java/net/hostsharing/hsadminng/hs/office/coopassets/HsOfficeCoopAssetsTransactionRepositoryIntegrationTest.java
@@ -20,6 +20,7 @@
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.time.LocalDate;
@@ -48,7 +49,7 @@
    @Autowired
    RawRbacGrantRepository rawGrantRepo;
    @Autowired
    @PersistenceContext
    EntityManager em;
    @Autowired
src/test/java/net/hostsharing/hsadminng/hs/office/coopshares/HsOfficeCoopSharesTransactionControllerAcceptanceTest.java
@@ -17,6 +17,7 @@
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import java.time.LocalDate;
import java.util.UUID;
@@ -32,16 +33,19 @@
    @Autowired
    Context context;
    @Autowired
    Context contextMock;
    @Autowired
    HsOfficeCoopSharesTransactionRepository coopSharesTransactionRepo;
    @Autowired
    HsOfficeMembershipRepository membershipRepo;
    @Autowired
    JpaAttempt jpaAttempt;
    @Autowired
    @PersistenceContext
    EntityManager em;
    @LocalServerPort
    private Integer port;
@@ -175,8 +179,8 @@
                      }
                     """.formatted(givenMembership.getUuid())).port(port).when().post("http://localhost/api/hs/office/coopsharestransactions").then().log().all().assertThat().statusCode(400).contentType(ContentType.JSON).body("", lenientlyEquals("""
                        {
                             "status": 400,
                             "error": "Bad Request",
                             "statusCode": 400,
                             "statusPhrase": "Bad Request",
                             "message": "ERROR: [400] coop shares transaction would result in a negative number of shares"
                         }
                    """));  // @formatter:on
src/test/java/net/hostsharing/hsadminng/hs/office/coopshares/HsOfficeCoopSharesTransactionControllerRestTest.java
@@ -118,8 +118,8 @@
                // then
                .andExpect(status().is4xxClientError())
                .andExpect(jsonPath("status", is(400)))
                .andExpect(jsonPath("error", is("Bad Request")))
                .andExpect(jsonPath("statusCode", is(400)))
                .andExpect(jsonPath("statusPhrase", is("Bad Request")))
                .andExpect(jsonPath("message", is(testCase.expectedErrorMessage)));
    }
src/test/java/net/hostsharing/hsadminng/hs/office/coopshares/HsOfficeCoopSharesTransactionRepositoryIntegrationTest.java
@@ -19,6 +19,7 @@
import org.springframework.test.annotation.DirtiesContext;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.servlet.http.HttpServletRequest;
import java.time.LocalDate;
import java.util.Arrays;
@@ -46,7 +47,7 @@
    @Autowired
    RawRbacGrantRepository rawGrantRepo;
    @Autowired
    @PersistenceContext
    EntityManager em;
    @Autowired
src/test/java/net/hostsharing/hsadminng/hs/office/debitor/HsOfficeDebitorControllerAcceptanceTest.java
@@ -20,6 +20,7 @@
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import java.util.UUID;
import static net.hostsharing.test.IsValidUuidMatcher.isUuidValid;
@@ -59,7 +60,7 @@
    @Autowired
    JpaAttempt jpaAttempt;
    @Autowired
    @PersistenceContext
    EntityManager em;
    @Nested
src/test/java/net/hostsharing/hsadminng/hs/office/debitor/HsOfficeDebitorRepositoryIntegrationTest.java
@@ -24,6 +24,7 @@
import org.springframework.test.annotation.DirtiesContext;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.servlet.http.HttpServletRequest;
import java.util.*;
@@ -54,7 +55,7 @@
    @Autowired
    RawRbacGrantRepository rawGrantRepo;
    @Autowired
    @PersistenceContext
    EntityManager em;
    @Autowired
src/test/java/net/hostsharing/hsadminng/hs/office/membership/HsOfficeMembershipControllerAcceptanceTest.java
@@ -20,6 +20,7 @@
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import java.time.LocalDate;
import java.util.UUID;
@@ -57,7 +58,7 @@
    @Autowired
    JpaAttempt jpaAttempt;
    @Autowired
    @PersistenceContext
    EntityManager em;
    private static int tempMemberNumber = 20010;
src/test/java/net/hostsharing/hsadminng/hs/office/membership/HsOfficeMembershipControllerRestTest.java
@@ -5,9 +5,14 @@
import net.hostsharing.hsadminng.hs.office.debitor.HsOfficeDebitorEntity;
import net.hostsharing.hsadminng.hs.office.partner.HsOfficePartnerEntity;
import net.hostsharing.hsadminng.mapper.Mapper;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.orm.jpa.AutoConfigureTestEntityManager;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.context.annotation.Import;
@@ -17,9 +22,13 @@
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.SynchronizationType;
import java.util.Map;
import java.util.UUID;
import static org.hamcrest.Matchers.is;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
@@ -27,7 +36,6 @@
@WebMvcTest(HsOfficeMembershipController.class)
@Import(Mapper.class)
@RunWith(SpringRunner.class)
public class HsOfficeMembershipControllerRestTest {
    @Autowired
@@ -37,13 +45,24 @@
    Context contextMock;
    @MockBean
    EntityManager em;
    @MockBean
    HsOfficeCoopAssetsTransactionRepository coopAssetsTransactionRepo;
    @MockBean
    HsOfficeMembershipRepository membershipRepo;
    @Mock
    EntityManager em;
    @MockBean
    EntityManagerFactory emf;
    @BeforeEach
    void init() {
        when(emf.createEntityManager()).thenReturn(em);
        when(emf.createEntityManager(any(Map.class))).thenReturn(em);
        when(emf.createEntityManager(any(SynchronizationType.class))).thenReturn(em);
        when(emf.createEntityManager(any(SynchronizationType.class), any(Map.class))).thenReturn(em);
    }
    @Test
    void respondBadRequest_ifPartnerUuidIsMissing() throws Exception {
@@ -65,8 +84,8 @@
                // then
                .andExpect(status().is4xxClientError())
                .andExpect(jsonPath("status", is(400)))
                .andExpect(jsonPath("error", is("Bad Request")))
                .andExpect(jsonPath("statusCode", is(400)))
                .andExpect(jsonPath("statusPhrase", is("Bad Request")))
                .andExpect(jsonPath("message", is("[partnerUuid must not be null but is \"null\"]")));
    }
@@ -90,8 +109,8 @@
                // then
                .andExpect(status().is4xxClientError())
                .andExpect(jsonPath("status", is(400)))
                .andExpect(jsonPath("error", is("Bad Request")))
                .andExpect(jsonPath("statusCode", is(400)))
                .andExpect(jsonPath("statusPhrase", is("Bad Request")))
                .andExpect(jsonPath("message", is("[mainDebitorUuid must not be null but is \"null\"]")));
    }
@@ -121,8 +140,8 @@
                // then
                .andExpect(status().is4xxClientError())
                .andExpect(jsonPath("status", is(400)))
                .andExpect(jsonPath("error", is("Bad Request")))
                .andExpect(jsonPath("statusCode", is(400)))
                .andExpect(jsonPath("statusPhrase", is("Bad Request")))
                .andExpect(jsonPath("message", is("Unable to find Partner with uuid " + givenPartnerUuid)));
    }
@@ -152,8 +171,8 @@
                // then
                .andExpect(status().is4xxClientError())
                .andExpect(jsonPath("status", is(400)))
                .andExpect(jsonPath("error", is("Bad Request")))
                .andExpect(jsonPath("statusCode", is(400)))
                .andExpect(jsonPath("statusPhrase", is("Bad Request")))
                .andExpect(jsonPath("message", is("Unable to find Debitor with uuid " + givenMainDebitorUuid)));
    }
}
src/test/java/net/hostsharing/hsadminng/hs/office/membership/HsOfficeMembershipRepositoryIntegrationTest.java
@@ -22,6 +22,7 @@
import org.springframework.test.annotation.DirtiesContext;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.servlet.http.HttpServletRequest;
import java.time.LocalDate;
import java.util.*;
@@ -51,7 +52,7 @@
    @Autowired
    RawRbacGrantRepository rawGrantRepo;
    @Autowired
    @PersistenceContext
    EntityManager em;
    @Autowired
src/test/java/net/hostsharing/hsadminng/hs/office/partner/HsOfficePartnerControllerAcceptanceTest.java
@@ -18,6 +18,7 @@
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import java.util.UUID;
import static net.hostsharing.test.IsValidUuidMatcher.isUuidValid;
@@ -54,7 +55,7 @@
    @Autowired
    JpaAttempt jpaAttempt;
    @Autowired
    @PersistenceContext
    EntityManager em;
    @Nested
src/test/java/net/hostsharing/hsadminng/hs/office/partner/HsOfficePartnerRepositoryIntegrationTest.java
@@ -20,6 +20,7 @@
import org.springframework.test.annotation.DirtiesContext;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.servlet.http.HttpServletRequest;
import java.util.*;
@@ -48,7 +49,7 @@
    @Autowired
    RawRbacGrantRepository rawGrantRepo;
    @Autowired
    @PersistenceContext
    EntityManager em;
    @Autowired
src/test/java/net/hostsharing/hsadminng/hs/office/person/HsOfficePersonControllerAcceptanceTest.java
@@ -17,6 +17,7 @@
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import java.util.UUID;
import static net.hostsharing.test.IsValidUuidMatcher.isUuidValid;
@@ -46,7 +47,7 @@
    @Autowired
    JpaAttempt jpaAttempt;
    @Autowired
    @PersistenceContext
    EntityManager em;
    @Nested
src/test/java/net/hostsharing/hsadminng/hs/office/person/HsOfficePersonRepositoryIntegrationTest.java
@@ -18,6 +18,7 @@
import org.springframework.test.annotation.DirtiesContext;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;
import java.util.List;
@@ -43,7 +44,7 @@
    @Autowired
    RawRbacGrantRepository rawGrantRepo;
    @Autowired
    @PersistenceContext
    EntityManager em;
    @Autowired
src/test/java/net/hostsharing/hsadminng/hs/office/relationship/HsOfficeRelationshipRepositoryIntegrationTest.java
@@ -18,6 +18,7 @@
import org.springframework.orm.jpa.JpaSystemException;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.servlet.http.HttpServletRequest;
import java.util.*;
@@ -45,7 +46,7 @@
    @Autowired
    RawRbacGrantRepository rawGrantRepo;
    @Autowired
    @PersistenceContext
    EntityManager em;
    @Autowired
src/test/java/net/hostsharing/hsadminng/hs/office/sepamandate/HsOfficeSepaMandateControllerAcceptanceTest.java
@@ -20,6 +20,7 @@
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import java.time.LocalDate;
import java.util.UUID;
@@ -56,7 +57,7 @@
    @Autowired
    JpaAttempt jpaAttempt;
    @Autowired
    @PersistenceContext
    EntityManager em;
    @Nested
src/test/java/net/hostsharing/hsadminng/hs/office/sepamandate/HsOfficeSepaMandateRepositoryIntegrationTest.java
@@ -21,6 +21,7 @@
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.servlet.http.HttpServletRequest;
import java.time.LocalDate;
import java.util.Arrays;
@@ -54,7 +55,7 @@
    @Autowired
    JpaAttempt jpaAttempt;
    @Autowired
    @PersistenceContext
    EntityManager em;
    @MockBean
src/test/java/net/hostsharing/hsadminng/rbac/rbacgrant/RbacGrantControllerAcceptanceTest.java
@@ -21,6 +21,7 @@
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import java.util.List;
import java.util.UUID;
@@ -41,7 +42,7 @@
    @LocalServerPort
    Integer port;
    @Autowired
    @PersistenceContext
    EntityManager em;
    @Autowired
src/test/java/net/hostsharing/hsadminng/rbac/rbacgrant/RbacGrantRepositoryIntegrationTest.java
@@ -20,6 +20,7 @@
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.UUID;
@@ -50,7 +51,7 @@
    @Autowired
    RbacRoleRepository rbacRoleRepository;
    @Autowired
    @PersistenceContext
    EntityManager em;
    @Autowired
src/test/java/net/hostsharing/hsadminng/rbac/rbacrole/RbacRoleControllerAcceptanceTest.java
@@ -11,6 +11,7 @@
import org.springframework.boot.test.web.server.LocalServerPort;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import static org.hamcrest.Matchers.*;
@@ -24,7 +25,7 @@
    @LocalServerPort
    private Integer port;
    @Autowired
    @PersistenceContext
    EntityManager em;
    @Autowired
src/test/java/net/hostsharing/hsadminng/rbac/rbacrole/RbacRoleControllerRestTest.java
@@ -2,8 +2,10 @@
import net.hostsharing.hsadminng.context.Context;
import net.hostsharing.hsadminng.mapper.Mapper;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
import org.springframework.boot.test.mock.mockito.MockBean;
@@ -14,11 +16,16 @@
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.SynchronizationType;
import java.util.Map;
import static java.util.Arrays.asList;
import static net.hostsharing.hsadminng.rbac.rbacrole.TestRbacRole.*;
import static org.hamcrest.Matchers.hasSize;
import static org.hamcrest.Matchers.is;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.when;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@@ -37,9 +44,20 @@
    @MockBean
    RbacRoleRepository rbacRoleRepository;
    @MockBean
    @Mock
    EntityManager em;
    @MockBean
    EntityManagerFactory emf;
    @BeforeEach
    void init() {
        when(emf.createEntityManager()).thenReturn(em);
        when(emf.createEntityManager(any(Map.class))).thenReturn(em);
        when(emf.createEntityManager(any(SynchronizationType.class))).thenReturn(em);
        when(emf.createEntityManager(any(SynchronizationType.class), any(Map.class))).thenReturn(em);
    }
    @Test
    void apiCustomersWillReturnCustomersFromRepository() throws Exception {
src/test/java/net/hostsharing/hsadminng/rbac/rbacuser/RbacUserControllerAcceptanceTest.java
@@ -14,6 +14,7 @@
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import java.util.UUID;
import static org.assertj.core.api.Assertions.assertThat;
@@ -29,7 +30,7 @@
    @LocalServerPort
    private Integer port;
    @Autowired
    @PersistenceContext
    EntityManager em;
    @Autowired
src/test/java/net/hostsharing/hsadminng/rbac/rbacuser/RbacUserControllerRestTest.java
@@ -2,8 +2,10 @@
import net.hostsharing.hsadminng.context.Context;
import net.hostsharing.hsadminng.mapper.Mapper;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
import org.springframework.boot.test.mock.mockito.MockBean;
@@ -14,12 +16,17 @@
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.SynchronizationType;
import java.util.Map;
import java.util.UUID;
import static net.hostsharing.test.IsValidUuidMatcher.isUuidValid;
import static org.hamcrest.Matchers.is;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.argThat;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@@ -37,9 +44,20 @@
    @MockBean
    RbacUserRepository rbacUserRepository;
    @MockBean
    @Mock
    EntityManager em;
    @MockBean
    EntityManagerFactory emf;
    @BeforeEach
    void init() {
        when(emf.createEntityManager()).thenReturn(em);
        when(emf.createEntityManager(any(Map.class))).thenReturn(em);
        when(emf.createEntityManager(any(SynchronizationType.class))).thenReturn(em);
        when(emf.createEntityManager(any(SynchronizationType.class), any(Map.class))).thenReturn(em);
    }
    @Test
    void createUserUsesGivenUuid() throws Exception {
        // given
src/test/java/net/hostsharing/hsadminng/rbac/rbacuser/RbacUserRepositoryIntegrationTest.java
@@ -17,6 +17,7 @@
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.UUID;
@@ -34,7 +35,7 @@
    @Autowired
    JpaAttempt jpaAttempt;
    @Autowired
    @PersistenceContext
    EntityManager em;
    @MockBean
src/test/java/net/hostsharing/hsadminng/test/cust/TestCustomerControllerAcceptanceTest.java
@@ -15,6 +15,7 @@
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import java.util.UUID;
import static org.assertj.core.api.Assertions.assertThat;
@@ -43,7 +44,7 @@
    @Autowired
    JpaAttempt jpaAttempt;
    @Autowired
    @PersistenceContext
    EntityManager em;
    @Nested
src/test/java/net/hostsharing/hsadminng/test/cust/TestCustomerRepositoryIntegrationTest.java
@@ -11,6 +11,7 @@
import org.springframework.context.annotation.Import;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.PersistenceException;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
@@ -26,7 +27,7 @@
    @Autowired
    TestCustomerRepository testCustomerRepository;
    @Autowired
    @PersistenceContext
    EntityManager em;
    @MockBean
src/test/java/net/hostsharing/hsadminng/test/pac/TestPackageRepositoryIntegrationTest.java
@@ -14,6 +14,7 @@
import org.springframework.test.annotation.DirtiesContext;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
@@ -29,7 +30,7 @@
    @Autowired
    TestPackageRepository testPackageRepository;
    @Autowired
    @PersistenceContext
    EntityManager em;
    @Autowired