### Question:
PhysicianController { @GetMapping public List<Physician> list(@RequestHeader(Constants.GRANT_HEADER) PureGrant grant) { return this.physicianService.findAll(grant); }  @GetMapping List<Physician> list(@RequestHeader(Constants.GRANT_HEADER) PureGrant grant); @GetMapping("/{id}") Physician get(@RequestHeader(Constants.GRANT_HEADER) PureGrant grant,
			@PathVariable("id") String physicianId); @GetMapping("/{id}/patients") List<Patient> patients(@RequestHeader(Constants.GRANT_HEADER) PureGrant grant,
			@PathVariable("id") String physicianId); @PostMapping("/{id}/patients/{patientId}") void assignPatient(@RequestHeader(Constants.GRANT_HEADER) PureGrant grant,
			@PathVariable("id") String physicianId, @PathVariable("patientId") String patientId);  }### Answer:
@Test void list() throws Exception { HttpHeaders headers = new HttpHeaders(); headers.set(Constants.GRANT_HEADER, this.registeredPhysician.getGrant()); HttpEntity<?> entity = new HttpEntity<>(headers); ResponseEntity<Physician[]> response = this.restTemplate.exchange("/physicians", HttpMethod.GET, entity, Physician[].class); assertEquals(200, response.getStatusCodeValue()); Physician[] physicians = response.getBody(); assertNotNull(physicians); assertEquals(2, physicians.length); boolean physicianWasFound = false; for (Physician physician : physicians) { if (StringUtils.equals(this.registeredPhysician.getUserId(), physician.getId())) { physicianWasFound = true; validate(physician); } } assertTrue(physicianWasFound); this.mockMvc .perform(MockMvcRequestBuilders.request(HttpMethod.GET, "/physicians/").header(Constants.GRANT_HEADER, this.registeredPhysician.getGrant())) .andDo(document("physician/list", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint()))); }