Search in sources :

Example 1 with Role

use of gov.cms.ab2d.common.model.Role in project ab2d by CMSgov.

the class AdminAPIPdpClientTests method testCreateDuplicateClient.

@Test
public void testCreateDuplicateClient() throws Exception {
    PdpClientDTO pdpClientDTO = new PdpClientDTO();
    pdpClientDTO.setClientId(TEST_CLIENT);
    pdpClientDTO.setEnabled(true);
    pdpClientDTO.setContract(buildContractDTO());
    pdpClientDTO.setRole(ADMIN_ROLE);
    Role role = roleService.findRoleByName(ADMIN_ROLE);
    pdpClientDTO.setRole(role.getName());
    ObjectMapper mapper = getMapper();
    this.mockMvc.perform(post(API_PREFIX_V1 + ADMIN_PREFIX + CLIENT_URL).contentType(MediaType.APPLICATION_JSON).content(mapper.writeValueAsString(pdpClientDTO)).header("Authorization", "Bearer " + token));
    this.mockMvc.perform(post(API_PREFIX_V1 + ADMIN_PREFIX + CLIENT_URL).contentType(MediaType.APPLICATION_JSON).content(mapper.writeValueAsString(pdpClientDTO)).header("Authorization", "Bearer " + token)).andExpect(status().is(500)).andExpect(jsonPath("$.resourceType", Is.is("OperationOutcome"))).andExpect(jsonPath("$.issue[0].severity", Is.is("error"))).andExpect(jsonPath("$.issue[0].code", Is.is("invalid"))).andExpect(jsonPath("$.issue[0].details.text", Is.is("An internal error occurred")));
    PdpClient anotherPdpClient = pdpClientRepository.findByClientId(("anotherEmail@test.com"));
    dataSetup.queueForCleanup(anotherPdpClient);
}
Also used : Role(gov.cms.ab2d.common.model.Role) PdpClientDTO(gov.cms.ab2d.common.dto.PdpClientDTO) PdpClient(gov.cms.ab2d.common.model.PdpClient) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) Test(org.junit.jupiter.api.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Example 2 with Role

use of gov.cms.ab2d.common.model.Role in project ab2d by CMSgov.

the class AdminAPIPdpClientTests method testCreateClientAttestor.

@Test
public void testCreateClientAttestor() throws Exception {
    PdpClientDTO pdpClientDTO = new PdpClientDTO();
    pdpClientDTO.setClientId(TEST_CLIENT);
    pdpClientDTO.setOrganization(TEST_ORG);
    pdpClientDTO.setEnabled(true);
    pdpClientDTO.setContract(buildContractDTO());
    Role role = roleService.findRoleByName(ATTESTOR_ROLE);
    pdpClientDTO.setRole(role.getName());
    ObjectMapper mapper = getMapper();
    MvcResult mvcResult = this.mockMvc.perform(post(API_PREFIX_V1 + ADMIN_PREFIX + CLIENT_URL).contentType(MediaType.APPLICATION_JSON).content(mapper.writeValueAsString(pdpClientDTO)).header("Authorization", "Bearer " + token)).andReturn();
    assertEquals(201, mvcResult.getResponse().getStatus());
    String result = mvcResult.getResponse().getContentAsString();
    PdpClientDTO createdPdpClientDTO = mapper.readValue(result, PdpClientDTO.class);
    assertEquals(createdPdpClientDTO.getClientId(), pdpClientDTO.getClientId());
    assertEquals(createdPdpClientDTO.getEnabled(), pdpClientDTO.getEnabled());
    assertEquals(createdPdpClientDTO.getContract().getContractNumber(), pdpClientDTO.getContract().getContractNumber());
    assertEquals(createdPdpClientDTO.getContract().getContractName(), pdpClientDTO.getContract().getContractName());
    assertEquals(createdPdpClientDTO.getRole(), pdpClientDTO.getRole());
}
Also used : Role(gov.cms.ab2d.common.model.Role) PdpClientDTO(gov.cms.ab2d.common.dto.PdpClientDTO) MvcResult(org.springframework.test.web.servlet.MvcResult) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) Test(org.junit.jupiter.api.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Example 3 with Role

use of gov.cms.ab2d.common.model.Role in project ab2d by CMSgov.

the class PdpClientServiceImpl method getGrantedAuth.

/**
 * Retrieve the list of granted authorities from the client's roles
 *
 * @param pdpClient - the client
 * @return - the granted authorities
 */
@Override
public List<GrantedAuthority> getGrantedAuth(PdpClient pdpClient) {
    List<GrantedAuthority> authorities = new ArrayList<>();
    for (Role role : pdpClient.getRoles()) {
        log.info("Adding role {}", role.getName());
        authorities.add(new SimpleGrantedAuthority(role.getName()));
    }
    return authorities;
}
Also used : Role(gov.cms.ab2d.common.model.Role) SimpleGrantedAuthority(org.springframework.security.core.authority.SimpleGrantedAuthority) SimpleGrantedAuthority(org.springframework.security.core.authority.SimpleGrantedAuthority) GrantedAuthority(org.springframework.security.core.GrantedAuthority) ArrayList(java.util.ArrayList)

Example 4 with Role

use of gov.cms.ab2d.common.model.Role in project ab2d by CMSgov.

the class WorkerDataSetup method savePdpClient.

private PdpClient savePdpClient(String clientId, Contract contract, List<String> clientRoles) {
    PdpClient pdpClient = new PdpClient();
    pdpClient.setClientId(clientId);
    pdpClient.setOrganization("PDP-" + clientId);
    pdpClient.setContract(contract);
    pdpClient.setEnabled(true);
    pdpClient.setMaxParallelJobs(3);
    for (String clientRole : clientRoles) {
        // Use existing role or create a new one for the client
        Role role = roleRepository.findRoleByName(clientRole).orElseGet(() -> {
            Role newRole = new Role();
            newRole.setName(clientRole);
            queueForCleanup(clientRole);
            return roleRepository.save(newRole);
        });
        pdpClient.addRole(role);
    }
    pdpClient = pdpClientRepository.saveAndFlush(pdpClient);
    queueForCleanup(pdpClient);
    return pdpClient;
}
Also used : Role(gov.cms.ab2d.common.model.Role) PdpClient(gov.cms.ab2d.common.model.PdpClient)

Example 5 with Role

use of gov.cms.ab2d.common.model.Role in project ab2d by CMSgov.

the class AdminAPIPdpClientTests method testCreateClient.

@Test
public void testCreateClient() throws Exception {
    PdpClientDTO pdpClientDTO = new PdpClientDTO();
    pdpClientDTO.setClientId(TEST_CLIENT);
    pdpClientDTO.setOrganization(TEST_ORG);
    pdpClientDTO.setEnabled(true);
    pdpClientDTO.setContract(buildContractDTO());
    pdpClientDTO.setRole(ADMIN_ROLE);
    Role role = roleService.findRoleByName(ADMIN_ROLE);
    pdpClientDTO.setRole(role.getName());
    ObjectMapper mapper = getMapper();
    MvcResult mvcResult = this.mockMvc.perform(post(API_PREFIX_V1 + ADMIN_PREFIX + CLIENT_URL).contentType(MediaType.APPLICATION_JSON).content(mapper.writeValueAsString(pdpClientDTO)).header("Authorization", "Bearer " + token)).andReturn();
    assertEquals(201, mvcResult.getResponse().getStatus());
    String result = mvcResult.getResponse().getContentAsString();
    PdpClientDTO createdPdpClientDTO = mapper.readValue(result, PdpClientDTO.class);
    assertEquals(createdPdpClientDTO.getClientId(), pdpClientDTO.getClientId());
    assertEquals(createdPdpClientDTO.getEnabled(), pdpClientDTO.getEnabled());
    assertEquals(createdPdpClientDTO.getContract().getContractNumber(), pdpClientDTO.getContract().getContractNumber());
    assertEquals(createdPdpClientDTO.getContract().getContractName(), pdpClientDTO.getContract().getContractName());
    assertEquals(createdPdpClientDTO.getRole(), pdpClientDTO.getRole());
}
Also used : Role(gov.cms.ab2d.common.model.Role) PdpClientDTO(gov.cms.ab2d.common.dto.PdpClientDTO) MvcResult(org.springframework.test.web.servlet.MvcResult) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) Test(org.junit.jupiter.api.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Aggregations

Role (gov.cms.ab2d.common.model.Role)7 PdpClientDTO (gov.cms.ab2d.common.dto.PdpClientDTO)4 PdpClient (gov.cms.ab2d.common.model.PdpClient)4 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)3 Test (org.junit.jupiter.api.Test)3 SpringBootTest (org.springframework.boot.test.context.SpringBootTest)3 MvcResult (org.springframework.test.web.servlet.MvcResult)2 ContractDTO (gov.cms.ab2d.common.dto.ContractDTO)1 Contract (gov.cms.ab2d.common.model.Contract)1 ContractService (gov.cms.ab2d.common.service.ContractService)1 RoleService (gov.cms.ab2d.common.service.RoleService)1 ArrayList (java.util.ArrayList)1 Set (java.util.Set)1 PostConstruct (javax.annotation.PostConstruct)1 AbstractConverter (org.modelmapper.AbstractConverter)1 Converter (org.modelmapper.Converter)1 ModelMapper (org.modelmapper.ModelMapper)1 GrantedAuthority (org.springframework.security.core.GrantedAuthority)1 SimpleGrantedAuthority (org.springframework.security.core.authority.SimpleGrantedAuthority)1 Component (org.springframework.stereotype.Component)1