@Test public void hypervisorCheckInReportsFailureWhenGuestIdUpdateFails() throws Exception { Owner owner = new Owner("admin"); Map<String, List<GuestId>> hostGuestMap = new HashMap<String, List<GuestId>>(); String expectedHostVirtId = "test-host"; hostGuestMap.put(expectedHostVirtId, Arrays.asList(new GuestId("GUEST_B"))); Consumer existing = new Consumer(); existing.setUuid(expectedHostVirtId); existing.addGuestId(new GuestId("GUEST_A")); // Force update when(consumerCurator.findByUuid(eq(expectedHostVirtId))).thenReturn(existing); String expectedMessage = "Forced Exception."; RuntimeException exception = new RuntimeException(expectedMessage); // Simulate failure when checking the owner when(consumerCurator.getHost(any(String.class))).thenThrow(exception); HypervisorCheckInResult result = hypervisorResource.hypervisorCheckIn(hostGuestMap, principal, owner.getKey()); Set<String> failures = result.getFailedUpdate(); assertEquals(1, failures.size()); assertEquals(expectedHostVirtId + ": " + expectedMessage, failures.iterator().next()); }