@Override
    public Map<String, Object> processCsvFile(String encodedCsvData, boolean dryRun) throws JsonProcessingException {
        services = new HashMap<>();
        serviceParentChildren = new HashMap<>();
        Map<String, Object> result = super.processCsvFile(encodedCsvData, dryRun);
        if (!services.isEmpty()) {
            retrieveLegacyServiceIds();
            saveAll(dryRun);
            processServiceParentChildren(serviceParentChildren, dryRun);
        }
        return result;
    }
@Test
    void processCsvFileFailDigidTrueWithMultipleServiceOrganizationRolesTest() throws IOException {
        mockconnection();
        String csvData = """SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS""";

        Service service = new Service();
        service.setDigid(false);
        service.setServiceOrganizationRoles(List.of(new ServiceOrganizationRole(), new ServiceOrganizationRole()));
        Optional<Service> optService = Optional.of(service);
        when(serviceRepositoryMock.findFirstByServiceUuid("SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS")).thenReturn(optService);

        Map<String, Object> resultMap = csvService.processCsvFile(encodeCsv(csvData), false);

        String expectedValue = "SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS";
        assertEquals("Bestand verwerkt", resultMap.get("result"));
        assertTrue(((ArrayList) resultMap.get("succeeded")).isEmpty());
        assertTrue(((ArrayList) resultMap.get("failed")).size() == 1);
        assertTrue(((ArrayList) resultMap.get("failed")).contains(expectedValue));
    }