diff --git a/tests/Unit/Service/CmdbExportImportServiceTest.php b/tests/Unit/Service/CmdbExportImportServiceTest.php index 7b00b7ce8..af2967e92 100644 --- a/tests/Unit/Service/CmdbExportImportServiceTest.php +++ b/tests/Unit/Service/CmdbExportImportServiceTest.php @@ -3794,6 +3794,58 @@ public function testTheEngineGetsTheSheetRowNumber(): void { $this->assertSame([7, 7, 7, 7], $this->engine->rowNumbers); }//end testTheEngineGetsTheSheetRowNumber() + /** + * A mapping error on an optional column warns on the row for the module and the + * usage, and stays off the row for the manufacturer and the owner. + * + * @return void + */ + public function testOnlyTheModuleAndUsageMappingsWarnOnAnOptionalColumn(): void { + $this->seedOrganisation(uuid: 'muni-1', name: 'Gemeente Voorbeeldstad', type: 'Municipality'); + $warning = ['Column "Optional": unreadable']; + foreach ([1 => $warning, 2 => [], 3 => [], 4 => $warning] as $call => $warnings) { + $this->engine = new class($call) { + /** + * The calls made so far. + * + * @var int + */ + private int $calls = 0; + + /** + * Constructor. + * + * @param int $errorOnCall The call that reports the mapping error. + */ + public function __construct(private int $errorOnCall) { + } + + /** + * Map nothing, with a mapping error on one call. + * + * @param array $pack The pack. + * @param array $values The values. + * @param int $rowNumber The row number. + * + * @return array{data: array, errors: array>} + */ + public function mapRow(array $pack, array $values, int $rowNumber): array { + $this->calls++; + if ($this->calls !== $this->errorOnCall) { + return ['data' => [], 'errors' => []]; + } + + return ['data' => [], 'errors' => [['source' => 'Optional', 'message' => 'unreadable']]]; + } + }; + + $report = $this->service(reader: $this->rowsReader(rows: [$this->row(appId: (string) $call)])) + ->import(path: '', options: ['municipalityUuid' => 'muni-1', 'missingRecords' => 'keep']); + + $this->assertSame($warnings, $report['rows'][0]['warnings'], 'mapping call ' . $call); + } + }//end testOnlyTheModuleAndUsageMappingsWarnOnAnOptionalColumn() + /** * Dates are read in the workbook's own date system. * diff --git a/tests/Unit/Service/golden/cmdbExportImport.json b/tests/Unit/Service/golden/cmdbExportImport.json index f7dcdaaf8..283d31577 100644 --- a/tests/Unit/Service/golden/cmdbExportImport.json +++ b/tests/Unit/Service/golden/cmdbExportImport.json @@ -74,6 +74,7 @@ "testNoTechnicalOwnerIsWritten ": "{\"store\":{\"43\":{\"00000000-0000-4000-8000-000000000002\":{\"type\":\"Application\",\"name\":\"Applicatie 1\",\"externalNumber\":\"1\",\"externalId\":\"APP-1\",\"externalKey\":\"topdesk:muni-1:1\",\"provider\":\"00000000-0000-4000-8000-000000000001\",\"publicationDate\":\"(now)\",\"id\":\"00000000-0000-4000-8000-000000000002\"}},\"33\":{\"muni-1\":{\"id\":\"muni-1\",\"name\":\"Gemeente Voorbeeldstad\",\"type\":\"Municipality\",\"status\":\"Active\"},\"00000000-0000-4000-8000-000000000001\":{\"type\":\"Supplier\",\"status\":\"Active\",\"registeredBy\":\"Supplier\",\"name\":\"Fabfrikant\",\"id\":\"00000000-0000-4000-8000-000000000001\"}},\"34\":{\"00000000-0000-4000-8000-000000000003\":{\"status\":\"In production\",\"interneAnnotation\":\"Beheer geregeld: ja\",\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000002\",\"provider\":\"00000000-0000-4000-8000-000000000001\",\"id\":\"00000000-0000-4000-8000-000000000003\"}},\"32\":[]},\"saves\":[{\"schema\":33,\"uuid\":\"00000000-0000-4000-8000-000000000001\",\"data\":{\"type\":\"Supplier\",\"status\":\"Active\",\"registeredBy\":\"Supplier\",\"name\":\"Fabfrikant\",\"id\":\"00000000-0000-4000-8000-000000000001\"},\"create\":true},{\"schema\":43,\"uuid\":\"00000000-0000-4000-8000-000000000002\",\"data\":{\"type\":\"Application\",\"name\":\"Applicatie 1\",\"externalNumber\":\"1\",\"externalId\":\"APP-1\",\"externalKey\":\"topdesk:muni-1:1\",\"provider\":\"00000000-0000-4000-8000-000000000001\",\"publicationDate\":\"(now)\",\"id\":\"00000000-0000-4000-8000-000000000002\"},\"create\":true},{\"schema\":34,\"uuid\":\"00000000-0000-4000-8000-000000000003\",\"data\":{\"status\":\"In production\",\"interneAnnotation\":\"Beheer geregeld: ja\",\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000002\",\"provider\":\"00000000-0000-4000-8000-000000000001\",\"id\":\"00000000-0000-4000-8000-000000000003\"},\"create\":true}],\"states\":[],\"transitions\":[],\"searches\":[{\"@self\":{\"register\":20,\"schema\":43},\"_limit\":10,\"externalKey\":\"topdesk:muni-1:1\"},{\"@self\":{\"register\":20,\"schema\":43},\"_limit\":10,\"_archived\":\"true\",\"externalKey\":\"topdesk:muni-1:1\"},{\"@self\":{\"register\":20,\"schema\":33},\"type\":\"Municipality\",\"_limit\":500,\"_offset\":0},{\"@self\":{\"register\":20,\"schema\":33},\"type\":\"Supplier\",\"_limit\":500,\"_offset\":0},{\"@self\":{\"register\":20,\"schema\":34},\"_limit\":10,\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000002\"},{\"@self\":{\"register\":20,\"schema\":34},\"_limit\":10,\"_archived\":\"true\",\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000002\"},{\"@self\":{\"register\":20,\"schema\":34},\"consumer\":\"muni-1\",\"_limit\":500,\"_offset\":0},{\"@self\":{\"register\":20,\"schema\":34},\"consumer\":\"muni-1\",\"_limit\":500,\"_offset\":0,\"_archived\":\"true\"},{\"@self\":{\"register\":20,\"schema\":43},\"_ids\":[\"00000000-0000-4000-8000-000000000002\"],\"_limit\":1},{\"@self\":{\"register\":20,\"schema\":43},\"_ids\":[\"00000000-0000-4000-8000-000000000002\"],\"_limit\":1,\"_archived\":\"true\"}],\"logLines\":[\"Started progress tracking {\\\"operation_id\\\":\\\"cmdb-(operation)\\\",\\\"operation_type\\\":\\\"cmdb_import\\\",\\\"total_items\\\":1}\",\"Progress phase updated {\\\"operation_id\\\":\\\"cmdb-(operation)\\\",\\\"phase\\\":\\\"processing_elements\\\",\\\"total_items\\\":1}\",\"CmdbExportImportService: import started {\\\"operationId\\\":\\\"cmdb-(operation)\\\",\\\"uid\\\":\\\"admin\\\",\\\"fileName\\\":\\\"\\\",\\\"municipality\\\":\\\"muni-1\\\",\\\"municipalityCreated\\\":false,\\\"updateExisting\\\":true,\\\"publish\\\":true,\\\"missingRecords\\\":\\\"archive\\\",\\\"rows\\\":1}\",\"Progress phase updated {\\\"operation_id\\\":\\\"cmdb-(operation)\\\",\\\"phase\\\":\\\"reconciling\\\",\\\"total_items\\\":2}\",\"Operation completed {\\\"operation_id\\\":\\\"cmdb-(operation)\\\",\\\"duration\\\":0,\\\"total_items\\\":2,\\\"errors\\\":0,\\\"warnings\\\":0}\",\"CmdbExportImportService: import finished {\\\"operationId\\\":\\\"cmdb-(operation)\\\",\\\"uid\\\":\\\"admin\\\",\\\"fileName\\\":\\\"\\\",\\\"municipality\\\":\\\"muni-1\\\",\\\"municipalityCreated\\\":false,\\\"updateExisting\\\":true,\\\"publish\\\":true,\\\"missingRecords\\\":\\\"archive\\\",\\\"summary\\\":{\\\"rowsRead\\\":1,\\\"processed\\\":1,\\\"created\\\":1,\\\"updated\\\":0,\\\"unchanged\\\":0,\\\"skipped\\\":0,\\\"failed\\\":0,\\\"archived\\\":0,\\\"unarchived\\\":0,\\\"deleted\\\":0,\\\"restored\\\":0,\\\"warnings\\\":0,\\\"unpublished\\\":0},\\\"cancelled\\\":false}\"],\"contacts\":[],\"addressBooks\":[],\"cache\":{\"progress_cmdb-(operation)\":{\"operation_id\":\"cmdb-(operation)\",\"operation_type\":\"cmdb_import\",\"owner_uid\":null,\"status\":\"completed\",\"phase\":\"completed\",\"phase_description\":\"Completed\",\"total_items\":2,\"processed_items\":2,\"current_item_type\":null,\"current_item_name\":null,\"percentage\":100,\"start_time\":\"(epoch)\",\"estimated_completion\":\"(epoch)\",\"errors\":[],\"warnings\":[],\"statistics\":{\"report\":{\"success\":true,\"operationId\":\"cmdb-(operation)\",\"cancelled\":false,\"municipality\":{\"uuid\":\"muni-1\",\"name\":\"Gemeente Voorbeeldstad\",\"created\":false},\"summary\":{\"rowsRead\":1,\"processed\":1,\"created\":1,\"updated\":0,\"unchanged\":0,\"skipped\":0,\"failed\":0,\"archived\":0,\"unarchived\":0,\"deleted\":0,\"restored\":0,\"warnings\":0,\"unpublished\":0},\"importWarnings\":[],\"rows\":[{\"sheet\":\"Beheerde Applicaties CMDB\",\"row\":2,\"appId\":\"1\",\"name\":\"Applicatie 1\",\"outcome\":\"created\",\"reasons\":[],\"warnings\":[],\"moduleUuid\":\"00000000-0000-4000-8000-000000000002\",\"usageUuid\":\"00000000-0000-4000-8000-000000000003\"}],\"rowsStored\":1,\"rowsTruncated\":false}}}}}", "testOneBadRowDoesNotStopTheOthers ": "{\"store\":{\"43\":{\"00000000-0000-4000-8000-000000000002\":{\"type\":\"Application\",\"name\":\"Applicatie 1\",\"externalNumber\":\"1\",\"externalId\":\"APP-1\",\"externalKey\":\"topdesk:muni-1:1\",\"provider\":\"00000000-0000-4000-8000-000000000001\",\"publicationDate\":\"(now)\",\"id\":\"00000000-0000-4000-8000-000000000002\"},\"00000000-0000-4000-8000-000000000004\":{\"type\":\"Application\",\"name\":\"Applicatie 3\",\"externalNumber\":\"3\",\"externalId\":\"APP-3\",\"externalKey\":\"topdesk:muni-1:3\",\"provider\":\"00000000-0000-4000-8000-000000000001\",\"publicationDate\":\"(now)\",\"id\":\"00000000-0000-4000-8000-000000000004\"}},\"33\":{\"muni-1\":{\"id\":\"muni-1\",\"name\":\"Gemeente Voorbeeldstad\",\"type\":\"Municipality\",\"status\":\"Active\"},\"00000000-0000-4000-8000-000000000001\":{\"type\":\"Supplier\",\"status\":\"Active\",\"registeredBy\":\"Supplier\",\"name\":\"Fabfrikant\",\"id\":\"00000000-0000-4000-8000-000000000001\"}},\"34\":{\"00000000-0000-4000-8000-000000000003\":{\"status\":\"In production\",\"interneAnnotation\":\"Beheer geregeld: ja\",\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000002\",\"provider\":\"00000000-0000-4000-8000-000000000001\",\"id\":\"00000000-0000-4000-8000-000000000003\"},\"00000000-0000-4000-8000-000000000005\":{\"status\":\"In production\",\"interneAnnotation\":\"Beheer geregeld: ja\",\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000004\",\"provider\":\"00000000-0000-4000-8000-000000000001\",\"id\":\"00000000-0000-4000-8000-000000000005\"}},\"32\":[]},\"saves\":[{\"schema\":33,\"uuid\":\"00000000-0000-4000-8000-000000000001\",\"data\":{\"type\":\"Supplier\",\"status\":\"Active\",\"registeredBy\":\"Supplier\",\"name\":\"Fabfrikant\",\"id\":\"00000000-0000-4000-8000-000000000001\"},\"create\":true},{\"schema\":43,\"uuid\":\"00000000-0000-4000-8000-000000000002\",\"data\":{\"type\":\"Application\",\"name\":\"Applicatie 1\",\"externalNumber\":\"1\",\"externalId\":\"APP-1\",\"externalKey\":\"topdesk:muni-1:1\",\"provider\":\"00000000-0000-4000-8000-000000000001\",\"publicationDate\":\"(now)\",\"id\":\"00000000-0000-4000-8000-000000000002\"},\"create\":true},{\"schema\":34,\"uuid\":\"00000000-0000-4000-8000-000000000003\",\"data\":{\"status\":\"In production\",\"interneAnnotation\":\"Beheer geregeld: ja\",\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000002\",\"provider\":\"00000000-0000-4000-8000-000000000001\",\"id\":\"00000000-0000-4000-8000-000000000003\"},\"create\":true},{\"schema\":43,\"uuid\":\"00000000-0000-4000-8000-000000000004\",\"data\":{\"type\":\"Application\",\"name\":\"Applicatie 3\",\"externalNumber\":\"3\",\"externalId\":\"APP-3\",\"externalKey\":\"topdesk:muni-1:3\",\"provider\":\"00000000-0000-4000-8000-000000000001\",\"publicationDate\":\"(now)\",\"id\":\"00000000-0000-4000-8000-000000000004\"},\"create\":true},{\"schema\":34,\"uuid\":\"00000000-0000-4000-8000-000000000005\",\"data\":{\"status\":\"In production\",\"interneAnnotation\":\"Beheer geregeld: ja\",\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000004\",\"provider\":\"00000000-0000-4000-8000-000000000001\",\"id\":\"00000000-0000-4000-8000-000000000005\"},\"create\":true}],\"states\":[],\"transitions\":[],\"searches\":[{\"@self\":{\"register\":20,\"schema\":43},\"_limit\":10,\"externalKey\":\"topdesk:muni-1:1\"},{\"@self\":{\"register\":20,\"schema\":43},\"_limit\":10,\"_archived\":\"true\",\"externalKey\":\"topdesk:muni-1:1\"},{\"@self\":{\"register\":20,\"schema\":33},\"type\":\"Municipality\",\"_limit\":500,\"_offset\":0},{\"@self\":{\"register\":20,\"schema\":33},\"type\":\"Supplier\",\"_limit\":500,\"_offset\":0},{\"@self\":{\"register\":20,\"schema\":34},\"_limit\":10,\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000002\"},{\"@self\":{\"register\":20,\"schema\":34},\"_limit\":10,\"_archived\":\"true\",\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000002\"},{\"@self\":{\"register\":20,\"schema\":43},\"_limit\":10,\"externalKey\":\"topdesk:muni-1:2\"},{\"@self\":{\"register\":20,\"schema\":43},\"_limit\":10,\"_archived\":\"true\",\"externalKey\":\"topdesk:muni-1:2\"},{\"@self\":{\"register\":20,\"schema\":43},\"_limit\":10,\"externalKey\":\"topdesk:muni-1:3\"},{\"@self\":{\"register\":20,\"schema\":43},\"_limit\":10,\"_archived\":\"true\",\"externalKey\":\"topdesk:muni-1:3\"},{\"@self\":{\"register\":20,\"schema\":34},\"_limit\":10,\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000004\"},{\"@self\":{\"register\":20,\"schema\":34},\"_limit\":10,\"_archived\":\"true\",\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000004\"},{\"@self\":{\"register\":20,\"schema\":34},\"consumer\":\"muni-1\",\"_limit\":500,\"_offset\":0},{\"@self\":{\"register\":20,\"schema\":34},\"consumer\":\"muni-1\",\"_limit\":500,\"_offset\":0,\"_archived\":\"true\"},{\"@self\":{\"register\":20,\"schema\":43},\"_ids\":[\"00000000-0000-4000-8000-000000000002\",\"00000000-0000-4000-8000-000000000004\"],\"_limit\":2},{\"@self\":{\"register\":20,\"schema\":43},\"_ids\":[\"00000000-0000-4000-8000-000000000002\",\"00000000-0000-4000-8000-000000000004\"],\"_limit\":2,\"_archived\":\"true\"}],\"logLines\":[\"Started progress tracking {\\\"operation_id\\\":\\\"cmdb-(operation)\\\",\\\"operation_type\\\":\\\"cmdb_import\\\",\\\"total_items\\\":3}\",\"Progress phase updated {\\\"operation_id\\\":\\\"cmdb-(operation)\\\",\\\"phase\\\":\\\"processing_elements\\\",\\\"total_items\\\":3}\",\"CmdbExportImportService: import started {\\\"operationId\\\":\\\"cmdb-(operation)\\\",\\\"uid\\\":\\\"admin\\\",\\\"fileName\\\":\\\"\\\",\\\"municipality\\\":\\\"muni-1\\\",\\\"municipalityCreated\\\":false,\\\"updateExisting\\\":true,\\\"publish\\\":true,\\\"missingRecords\\\":\\\"archive\\\",\\\"rows\\\":3}\",\"CmdbExportImportService: row failed {\\\"sheet\\\":\\\"Beheerde Applicaties CMDB\\\",\\\"row\\\":3,\\\"appId\\\":\\\"2\\\",\\\"step\\\":\\\"module\\\",\\\"exception\\\":\\\"RuntimeException\\\",\\\"error\\\":\\\"Validation failed for name\\\"}\",\"Progress phase updated {\\\"operation_id\\\":\\\"cmdb-(operation)\\\",\\\"phase\\\":\\\"reconciling\\\",\\\"total_items\\\":5}\",\"Operation completed {\\\"operation_id\\\":\\\"cmdb-(operation)\\\",\\\"duration\\\":0,\\\"total_items\\\":5,\\\"errors\\\":0,\\\"warnings\\\":0}\",\"CmdbExportImportService: import finished {\\\"operationId\\\":\\\"cmdb-(operation)\\\",\\\"uid\\\":\\\"admin\\\",\\\"fileName\\\":\\\"\\\",\\\"municipality\\\":\\\"muni-1\\\",\\\"municipalityCreated\\\":false,\\\"updateExisting\\\":true,\\\"publish\\\":true,\\\"missingRecords\\\":\\\"archive\\\",\\\"summary\\\":{\\\"rowsRead\\\":3,\\\"processed\\\":3,\\\"created\\\":2,\\\"updated\\\":0,\\\"unchanged\\\":0,\\\"skipped\\\":0,\\\"failed\\\":1,\\\"archived\\\":0,\\\"unarchived\\\":0,\\\"deleted\\\":0,\\\"restored\\\":0,\\\"warnings\\\":0,\\\"unpublished\\\":0},\\\"cancelled\\\":false}\"],\"contacts\":[],\"addressBooks\":[],\"cache\":{\"progress_cmdb-(operation)\":{\"operation_id\":\"cmdb-(operation)\",\"operation_type\":\"cmdb_import\",\"owner_uid\":null,\"status\":\"completed\",\"phase\":\"completed\",\"phase_description\":\"Completed\",\"total_items\":5,\"processed_items\":5,\"current_item_type\":null,\"current_item_name\":null,\"percentage\":100,\"start_time\":\"(epoch)\",\"estimated_completion\":\"(epoch)\",\"errors\":[],\"warnings\":[],\"statistics\":{\"report\":{\"success\":true,\"operationId\":\"cmdb-(operation)\",\"cancelled\":false,\"municipality\":{\"uuid\":\"muni-1\",\"name\":\"Gemeente Voorbeeldstad\",\"created\":false},\"summary\":{\"rowsRead\":3,\"processed\":3,\"created\":2,\"updated\":0,\"unchanged\":0,\"skipped\":0,\"failed\":1,\"archived\":0,\"unarchived\":0,\"deleted\":0,\"restored\":0,\"warnings\":0,\"unpublished\":0},\"importWarnings\":[],\"rows\":[{\"sheet\":\"Beheerde Applicaties CMDB\",\"row\":2,\"appId\":\"1\",\"name\":\"Applicatie 1\",\"outcome\":\"created\",\"reasons\":[],\"warnings\":[],\"moduleUuid\":\"00000000-0000-4000-8000-000000000002\",\"usageUuid\":\"00000000-0000-4000-8000-000000000003\"},{\"sheet\":\"Beheerde Applicaties CMDB\",\"row\":3,\"appId\":\"2\",\"name\":\"Applicatie 2\",\"outcome\":\"failed\",\"reasons\":[\"step \\\"module\\\" failed (RuntimeException)\"],\"warnings\":[],\"moduleUuid\":null,\"usageUuid\":null},{\"sheet\":\"Beheerde Applicaties CMDB\",\"row\":4,\"appId\":\"3\",\"name\":\"Applicatie 3\",\"outcome\":\"created\",\"reasons\":[],\"warnings\":[],\"moduleUuid\":\"00000000-0000-4000-8000-000000000004\",\"usageUuid\":\"00000000-0000-4000-8000-000000000005\"}],\"rowsStored\":3,\"rowsTruncated\":false}}}}}", "testOnlyRetiredMatchesMeanANewSupplierAndAMergedUuidIsRefused ": "{\"store\":{\"43\":{\"00000000-0000-4000-8000-000000000002\":{\"type\":\"Application\",\"name\":\"Applicatie 1\",\"externalNumber\":\"1\",\"externalId\":\"APP-1\",\"externalKey\":\"topdesk:muni-1:1\",\"provider\":\"00000000-0000-4000-8000-000000000001\",\"publicationDate\":\"(now)\",\"id\":\"00000000-0000-4000-8000-000000000002\"}},\"33\":{\"muni-1\":{\"id\":\"muni-1\",\"name\":\"Gemeente Voorbeeldstad\",\"type\":\"Municipality\",\"status\":\"Active\"},\"sup-inactive\":{\"id\":\"sup-inactive\",\"name\":\"Fabfrikant\",\"type\":\"Supplier\",\"status\":\"Inactive\"},\"00000000-0000-4000-8000-000000000001\":{\"type\":\"Supplier\",\"status\":\"Active\",\"registeredBy\":\"Supplier\",\"name\":\"Fabfrikant\",\"id\":\"00000000-0000-4000-8000-000000000001\"},\"muni-merged\":{\"id\":\"muni-merged\",\"name\":\"Gemeente Oud\",\"type\":\"Municipality\",\"status\":\"merged\"}},\"34\":{\"00000000-0000-4000-8000-000000000003\":{\"status\":\"In production\",\"interneAnnotation\":\"Beheer geregeld: ja\",\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000002\",\"provider\":\"00000000-0000-4000-8000-000000000001\",\"id\":\"00000000-0000-4000-8000-000000000003\"}},\"32\":[]},\"saves\":[{\"schema\":33,\"uuid\":\"00000000-0000-4000-8000-000000000001\",\"data\":{\"type\":\"Supplier\",\"status\":\"Active\",\"registeredBy\":\"Supplier\",\"name\":\"Fabfrikant\",\"id\":\"00000000-0000-4000-8000-000000000001\"},\"create\":true},{\"schema\":43,\"uuid\":\"00000000-0000-4000-8000-000000000002\",\"data\":{\"type\":\"Application\",\"name\":\"Applicatie 1\",\"externalNumber\":\"1\",\"externalId\":\"APP-1\",\"externalKey\":\"topdesk:muni-1:1\",\"provider\":\"00000000-0000-4000-8000-000000000001\",\"publicationDate\":\"(now)\",\"id\":\"00000000-0000-4000-8000-000000000002\"},\"create\":true},{\"schema\":34,\"uuid\":\"00000000-0000-4000-8000-000000000003\",\"data\":{\"status\":\"In production\",\"interneAnnotation\":\"Beheer geregeld: ja\",\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000002\",\"provider\":\"00000000-0000-4000-8000-000000000001\",\"id\":\"00000000-0000-4000-8000-000000000003\"},\"create\":true}],\"states\":[],\"transitions\":[],\"searches\":[{\"@self\":{\"register\":20,\"schema\":43},\"_limit\":10,\"externalKey\":\"topdesk:muni-1:1\"},{\"@self\":{\"register\":20,\"schema\":43},\"_limit\":10,\"_archived\":\"true\",\"externalKey\":\"topdesk:muni-1:1\"},{\"@self\":{\"register\":20,\"schema\":33},\"type\":\"Municipality\",\"_limit\":500,\"_offset\":0},{\"@self\":{\"register\":20,\"schema\":33},\"type\":\"Supplier\",\"_limit\":500,\"_offset\":0},{\"@self\":{\"register\":20,\"schema\":34},\"_limit\":10,\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000002\"},{\"@self\":{\"register\":20,\"schema\":34},\"_limit\":10,\"_archived\":\"true\",\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000002\"},{\"@self\":{\"register\":20,\"schema\":34},\"consumer\":\"muni-1\",\"_limit\":500,\"_offset\":0},{\"@self\":{\"register\":20,\"schema\":34},\"consumer\":\"muni-1\",\"_limit\":500,\"_offset\":0,\"_archived\":\"true\"},{\"@self\":{\"register\":20,\"schema\":43},\"_ids\":[\"00000000-0000-4000-8000-000000000002\"],\"_limit\":1},{\"@self\":{\"register\":20,\"schema\":43},\"_ids\":[\"00000000-0000-4000-8000-000000000002\"],\"_limit\":1,\"_archived\":\"true\"}],\"logLines\":[\"Started progress tracking {\\\"operation_id\\\":\\\"cmdb-(operation)\\\",\\\"operation_type\\\":\\\"cmdb_import\\\",\\\"total_items\\\":1}\",\"Progress phase updated {\\\"operation_id\\\":\\\"cmdb-(operation)\\\",\\\"phase\\\":\\\"processing_elements\\\",\\\"total_items\\\":1}\",\"CmdbExportImportService: import started {\\\"operationId\\\":\\\"cmdb-(operation)\\\",\\\"uid\\\":\\\"admin\\\",\\\"fileName\\\":\\\"\\\",\\\"municipality\\\":\\\"muni-1\\\",\\\"municipalityCreated\\\":false,\\\"updateExisting\\\":true,\\\"publish\\\":true,\\\"missingRecords\\\":\\\"archive\\\",\\\"rows\\\":1}\",\"Progress phase updated {\\\"operation_id\\\":\\\"cmdb-(operation)\\\",\\\"phase\\\":\\\"reconciling\\\",\\\"total_items\\\":2}\",\"Operation completed {\\\"operation_id\\\":\\\"cmdb-(operation)\\\",\\\"duration\\\":0,\\\"total_items\\\":2,\\\"errors\\\":0,\\\"warnings\\\":0}\",\"CmdbExportImportService: import finished {\\\"operationId\\\":\\\"cmdb-(operation)\\\",\\\"uid\\\":\\\"admin\\\",\\\"fileName\\\":\\\"\\\",\\\"municipality\\\":\\\"muni-1\\\",\\\"municipalityCreated\\\":false,\\\"updateExisting\\\":true,\\\"publish\\\":true,\\\"missingRecords\\\":\\\"archive\\\",\\\"summary\\\":{\\\"rowsRead\\\":1,\\\"processed\\\":1,\\\"created\\\":1,\\\"updated\\\":0,\\\"unchanged\\\":0,\\\"skipped\\\":0,\\\"failed\\\":0,\\\"archived\\\":0,\\\"unarchived\\\":0,\\\"deleted\\\":0,\\\"restored\\\":0,\\\"warnings\\\":0,\\\"unpublished\\\":0},\\\"cancelled\\\":false}\"],\"contacts\":[],\"addressBooks\":[],\"cache\":{\"progress_cmdb-(operation)\":{\"operation_id\":\"cmdb-(operation)\",\"operation_type\":\"cmdb_import\",\"owner_uid\":null,\"status\":\"completed\",\"phase\":\"completed\",\"phase_description\":\"Completed\",\"total_items\":2,\"processed_items\":2,\"current_item_type\":null,\"current_item_name\":null,\"percentage\":100,\"start_time\":\"(epoch)\",\"estimated_completion\":\"(epoch)\",\"errors\":[],\"warnings\":[],\"statistics\":{\"report\":{\"success\":true,\"operationId\":\"cmdb-(operation)\",\"cancelled\":false,\"municipality\":{\"uuid\":\"muni-1\",\"name\":\"Gemeente Voorbeeldstad\",\"created\":false},\"summary\":{\"rowsRead\":1,\"processed\":1,\"created\":1,\"updated\":0,\"unchanged\":0,\"skipped\":0,\"failed\":0,\"archived\":0,\"unarchived\":0,\"deleted\":0,\"restored\":0,\"warnings\":0,\"unpublished\":0},\"importWarnings\":[],\"rows\":[{\"sheet\":\"Beheerde Applicaties CMDB\",\"row\":2,\"appId\":\"1\",\"name\":\"Applicatie 1\",\"outcome\":\"created\",\"reasons\":[],\"warnings\":[],\"moduleUuid\":\"00000000-0000-4000-8000-000000000002\",\"usageUuid\":\"00000000-0000-4000-8000-000000000003\"}],\"rowsStored\":1,\"rowsTruncated\":false}}}}}", + "testOnlyTheModuleAndUsageMappingsWarnOnAnOptionalColumn ": "{\"store\":{\"43\":{\"00000000-0000-4000-8000-000000000001\":{\"type\":\"Application\",\"externalKey\":\"topdesk:muni-1:1\",\"publicationDate\":\"(now)\",\"id\":\"00000000-0000-4000-8000-000000000001\"},\"00000000-0000-4000-8000-000000000003\":{\"type\":\"Application\",\"externalKey\":\"topdesk:muni-1:2\",\"publicationDate\":\"(now)\",\"id\":\"00000000-0000-4000-8000-000000000003\"},\"00000000-0000-4000-8000-000000000005\":{\"type\":\"Application\",\"externalKey\":\"topdesk:muni-1:3\",\"publicationDate\":\"(now)\",\"id\":\"00000000-0000-4000-8000-000000000005\"},\"00000000-0000-4000-8000-000000000007\":{\"type\":\"Application\",\"externalKey\":\"topdesk:muni-1:4\",\"publicationDate\":\"(now)\",\"id\":\"00000000-0000-4000-8000-000000000007\"}},\"33\":{\"muni-1\":{\"id\":\"muni-1\",\"name\":\"Gemeente Voorbeeldstad\",\"type\":\"Municipality\",\"status\":\"Active\"}},\"34\":{\"00000000-0000-4000-8000-000000000002\":{\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000001\",\"id\":\"00000000-0000-4000-8000-000000000002\"},\"00000000-0000-4000-8000-000000000004\":{\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000003\",\"id\":\"00000000-0000-4000-8000-000000000004\"},\"00000000-0000-4000-8000-000000000006\":{\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000005\",\"id\":\"00000000-0000-4000-8000-000000000006\"},\"00000000-0000-4000-8000-000000000008\":{\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000007\",\"id\":\"00000000-0000-4000-8000-000000000008\"}},\"32\":[]},\"saves\":[{\"schema\":43,\"uuid\":\"00000000-0000-4000-8000-000000000001\",\"data\":{\"type\":\"Application\",\"externalKey\":\"topdesk:muni-1:1\",\"publicationDate\":\"(now)\",\"id\":\"00000000-0000-4000-8000-000000000001\"},\"create\":true},{\"schema\":34,\"uuid\":\"00000000-0000-4000-8000-000000000002\",\"data\":{\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000001\",\"id\":\"00000000-0000-4000-8000-000000000002\"},\"create\":true},{\"schema\":43,\"uuid\":\"00000000-0000-4000-8000-000000000003\",\"data\":{\"type\":\"Application\",\"externalKey\":\"topdesk:muni-1:2\",\"publicationDate\":\"(now)\",\"id\":\"00000000-0000-4000-8000-000000000003\"},\"create\":true},{\"schema\":34,\"uuid\":\"00000000-0000-4000-8000-000000000004\",\"data\":{\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000003\",\"id\":\"00000000-0000-4000-8000-000000000004\"},\"create\":true},{\"schema\":43,\"uuid\":\"00000000-0000-4000-8000-000000000005\",\"data\":{\"type\":\"Application\",\"externalKey\":\"topdesk:muni-1:3\",\"publicationDate\":\"(now)\",\"id\":\"00000000-0000-4000-8000-000000000005\"},\"create\":true},{\"schema\":34,\"uuid\":\"00000000-0000-4000-8000-000000000006\",\"data\":{\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000005\",\"id\":\"00000000-0000-4000-8000-000000000006\"},\"create\":true},{\"schema\":43,\"uuid\":\"00000000-0000-4000-8000-000000000007\",\"data\":{\"type\":\"Application\",\"externalKey\":\"topdesk:muni-1:4\",\"publicationDate\":\"(now)\",\"id\":\"00000000-0000-4000-8000-000000000007\"},\"create\":true},{\"schema\":34,\"uuid\":\"00000000-0000-4000-8000-000000000008\",\"data\":{\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000007\",\"id\":\"00000000-0000-4000-8000-000000000008\"},\"create\":true}],\"states\":[],\"transitions\":[],\"searches\":[{\"@self\":{\"register\":20,\"schema\":43},\"_limit\":10,\"externalKey\":\"topdesk:muni-1:1\"},{\"@self\":{\"register\":20,\"schema\":43},\"_limit\":10,\"_archived\":\"true\",\"externalKey\":\"topdesk:muni-1:1\"},{\"@self\":{\"register\":20,\"schema\":34},\"_limit\":10,\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000001\"},{\"@self\":{\"register\":20,\"schema\":34},\"_limit\":10,\"_archived\":\"true\",\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000001\"},{\"@self\":{\"register\":20,\"schema\":43},\"_limit\":10,\"externalKey\":\"topdesk:muni-1:2\"},{\"@self\":{\"register\":20,\"schema\":43},\"_limit\":10,\"_archived\":\"true\",\"externalKey\":\"topdesk:muni-1:2\"},{\"@self\":{\"register\":20,\"schema\":34},\"_limit\":10,\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000003\"},{\"@self\":{\"register\":20,\"schema\":34},\"_limit\":10,\"_archived\":\"true\",\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000003\"},{\"@self\":{\"register\":20,\"schema\":43},\"_limit\":10,\"externalKey\":\"topdesk:muni-1:3\"},{\"@self\":{\"register\":20,\"schema\":43},\"_limit\":10,\"_archived\":\"true\",\"externalKey\":\"topdesk:muni-1:3\"},{\"@self\":{\"register\":20,\"schema\":34},\"_limit\":10,\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000005\"},{\"@self\":{\"register\":20,\"schema\":34},\"_limit\":10,\"_archived\":\"true\",\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000005\"},{\"@self\":{\"register\":20,\"schema\":43},\"_limit\":10,\"externalKey\":\"topdesk:muni-1:4\"},{\"@self\":{\"register\":20,\"schema\":43},\"_limit\":10,\"_archived\":\"true\",\"externalKey\":\"topdesk:muni-1:4\"},{\"@self\":{\"register\":20,\"schema\":34},\"_limit\":10,\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000007\"},{\"@self\":{\"register\":20,\"schema\":34},\"_limit\":10,\"_archived\":\"true\",\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000007\"}],\"logLines\":[\"Started progress tracking {\\\"operation_id\\\":\\\"cmdb-(operation)\\\",\\\"operation_type\\\":\\\"cmdb_import\\\",\\\"total_items\\\":1}\",\"Progress phase updated {\\\"operation_id\\\":\\\"cmdb-(operation)\\\",\\\"phase\\\":\\\"processing_elements\\\",\\\"total_items\\\":1}\",\"CmdbExportImportService: import started {\\\"operationId\\\":\\\"cmdb-(operation)\\\",\\\"uid\\\":\\\"admin\\\",\\\"fileName\\\":\\\"\\\",\\\"municipality\\\":\\\"muni-1\\\",\\\"municipalityCreated\\\":false,\\\"updateExisting\\\":true,\\\"publish\\\":true,\\\"missingRecords\\\":\\\"keep\\\",\\\"rows\\\":1}\",\"Operation completed {\\\"operation_id\\\":\\\"cmdb-(operation)\\\",\\\"duration\\\":0,\\\"total_items\\\":1,\\\"errors\\\":0,\\\"warnings\\\":0}\",\"CmdbExportImportService: import finished {\\\"operationId\\\":\\\"cmdb-(operation)\\\",\\\"uid\\\":\\\"admin\\\",\\\"fileName\\\":\\\"\\\",\\\"municipality\\\":\\\"muni-1\\\",\\\"municipalityCreated\\\":false,\\\"updateExisting\\\":true,\\\"publish\\\":true,\\\"missingRecords\\\":\\\"keep\\\",\\\"summary\\\":{\\\"rowsRead\\\":1,\\\"processed\\\":1,\\\"created\\\":1,\\\"updated\\\":0,\\\"unchanged\\\":0,\\\"skipped\\\":0,\\\"failed\\\":0,\\\"archived\\\":0,\\\"unarchived\\\":0,\\\"deleted\\\":0,\\\"restored\\\":0,\\\"warnings\\\":1,\\\"unpublished\\\":0},\\\"cancelled\\\":false}\",\"Started progress tracking {\\\"operation_id\\\":\\\"cmdb-(operation)\\\",\\\"operation_type\\\":\\\"cmdb_import\\\",\\\"total_items\\\":1}\",\"Progress phase updated {\\\"operation_id\\\":\\\"cmdb-(operation)\\\",\\\"phase\\\":\\\"processing_elements\\\",\\\"total_items\\\":1}\",\"CmdbExportImportService: import started {\\\"operationId\\\":\\\"cmdb-(operation)\\\",\\\"uid\\\":\\\"admin\\\",\\\"fileName\\\":\\\"\\\",\\\"municipality\\\":\\\"muni-1\\\",\\\"municipalityCreated\\\":false,\\\"updateExisting\\\":true,\\\"publish\\\":true,\\\"missingRecords\\\":\\\"keep\\\",\\\"rows\\\":1}\",\"Operation completed {\\\"operation_id\\\":\\\"cmdb-(operation)\\\",\\\"duration\\\":0,\\\"total_items\\\":1,\\\"errors\\\":0,\\\"warnings\\\":0}\",\"CmdbExportImportService: import finished {\\\"operationId\\\":\\\"cmdb-(operation)\\\",\\\"uid\\\":\\\"admin\\\",\\\"fileName\\\":\\\"\\\",\\\"municipality\\\":\\\"muni-1\\\",\\\"municipalityCreated\\\":false,\\\"updateExisting\\\":true,\\\"publish\\\":true,\\\"missingRecords\\\":\\\"keep\\\",\\\"summary\\\":{\\\"rowsRead\\\":1,\\\"processed\\\":1,\\\"created\\\":1,\\\"updated\\\":0,\\\"unchanged\\\":0,\\\"skipped\\\":0,\\\"failed\\\":0,\\\"archived\\\":0,\\\"unarchived\\\":0,\\\"deleted\\\":0,\\\"restored\\\":0,\\\"warnings\\\":0,\\\"unpublished\\\":0},\\\"cancelled\\\":false}\",\"Started progress tracking {\\\"operation_id\\\":\\\"cmdb-(operation)\\\",\\\"operation_type\\\":\\\"cmdb_import\\\",\\\"total_items\\\":1}\",\"Progress phase updated {\\\"operation_id\\\":\\\"cmdb-(operation)\\\",\\\"phase\\\":\\\"processing_elements\\\",\\\"total_items\\\":1}\",\"CmdbExportImportService: import started {\\\"operationId\\\":\\\"cmdb-(operation)\\\",\\\"uid\\\":\\\"admin\\\",\\\"fileName\\\":\\\"\\\",\\\"municipality\\\":\\\"muni-1\\\",\\\"municipalityCreated\\\":false,\\\"updateExisting\\\":true,\\\"publish\\\":true,\\\"missingRecords\\\":\\\"keep\\\",\\\"rows\\\":1}\",\"Operation completed {\\\"operation_id\\\":\\\"cmdb-(operation)\\\",\\\"duration\\\":0,\\\"total_items\\\":1,\\\"errors\\\":0,\\\"warnings\\\":0}\",\"CmdbExportImportService: import finished {\\\"operationId\\\":\\\"cmdb-(operation)\\\",\\\"uid\\\":\\\"admin\\\",\\\"fileName\\\":\\\"\\\",\\\"municipality\\\":\\\"muni-1\\\",\\\"municipalityCreated\\\":false,\\\"updateExisting\\\":true,\\\"publish\\\":true,\\\"missingRecords\\\":\\\"keep\\\",\\\"summary\\\":{\\\"rowsRead\\\":1,\\\"processed\\\":1,\\\"created\\\":1,\\\"updated\\\":0,\\\"unchanged\\\":0,\\\"skipped\\\":0,\\\"failed\\\":0,\\\"archived\\\":0,\\\"unarchived\\\":0,\\\"deleted\\\":0,\\\"restored\\\":0,\\\"warnings\\\":0,\\\"unpublished\\\":0},\\\"cancelled\\\":false}\",\"Started progress tracking {\\\"operation_id\\\":\\\"cmdb-(operation)\\\",\\\"operation_type\\\":\\\"cmdb_import\\\",\\\"total_items\\\":1}\",\"Progress phase updated {\\\"operation_id\\\":\\\"cmdb-(operation)\\\",\\\"phase\\\":\\\"processing_elements\\\",\\\"total_items\\\":1}\",\"CmdbExportImportService: import started {\\\"operationId\\\":\\\"cmdb-(operation)\\\",\\\"uid\\\":\\\"admin\\\",\\\"fileName\\\":\\\"\\\",\\\"municipality\\\":\\\"muni-1\\\",\\\"municipalityCreated\\\":false,\\\"updateExisting\\\":true,\\\"publish\\\":true,\\\"missingRecords\\\":\\\"keep\\\",\\\"rows\\\":1}\",\"Operation completed {\\\"operation_id\\\":\\\"cmdb-(operation)\\\",\\\"duration\\\":0,\\\"total_items\\\":1,\\\"errors\\\":0,\\\"warnings\\\":0}\",\"CmdbExportImportService: import finished {\\\"operationId\\\":\\\"cmdb-(operation)\\\",\\\"uid\\\":\\\"admin\\\",\\\"fileName\\\":\\\"\\\",\\\"municipality\\\":\\\"muni-1\\\",\\\"municipalityCreated\\\":false,\\\"updateExisting\\\":true,\\\"publish\\\":true,\\\"missingRecords\\\":\\\"keep\\\",\\\"summary\\\":{\\\"rowsRead\\\":1,\\\"processed\\\":1,\\\"created\\\":1,\\\"updated\\\":0,\\\"unchanged\\\":0,\\\"skipped\\\":0,\\\"failed\\\":0,\\\"archived\\\":0,\\\"unarchived\\\":0,\\\"deleted\\\":0,\\\"restored\\\":0,\\\"warnings\\\":1,\\\"unpublished\\\":0},\\\"cancelled\\\":false}\"],\"contacts\":[],\"addressBooks\":[],\"cache\":{\"progress_cmdb-(operation)\":{\"operation_id\":\"cmdb-(operation)\",\"operation_type\":\"cmdb_import\",\"owner_uid\":null,\"status\":\"completed\",\"phase\":\"completed\",\"phase_description\":\"Completed\",\"total_items\":1,\"processed_items\":1,\"current_item_type\":null,\"current_item_name\":null,\"percentage\":100,\"start_time\":\"(epoch)\",\"estimated_completion\":\"(epoch)\",\"errors\":[],\"warnings\":[],\"statistics\":{\"report\":{\"success\":true,\"operationId\":\"cmdb-(operation)\",\"cancelled\":false,\"municipality\":{\"uuid\":\"muni-1\",\"name\":\"Gemeente Voorbeeldstad\",\"created\":false},\"summary\":{\"rowsRead\":1,\"processed\":1,\"created\":1,\"updated\":0,\"unchanged\":0,\"skipped\":0,\"failed\":0,\"archived\":0,\"unarchived\":0,\"deleted\":0,\"restored\":0,\"warnings\":1,\"unpublished\":0},\"importWarnings\":[],\"rows\":[{\"sheet\":\"Beheerde Applicaties CMDB\",\"row\":2,\"appId\":\"1\",\"name\":\"Applicatie 1\",\"outcome\":\"created\",\"reasons\":[],\"warnings\":[\"Column \\\"Optional\\\": unreadable\"],\"moduleUuid\":\"00000000-0000-4000-8000-000000000001\",\"usageUuid\":\"00000000-0000-4000-8000-000000000002\"}],\"rowsStored\":1,\"rowsTruncated\":false}}},\"progress_cmdb-(operation)\":{\"operation_id\":\"cmdb-(operation)\",\"operation_type\":\"cmdb_import\",\"owner_uid\":null,\"status\":\"completed\",\"phase\":\"completed\",\"phase_description\":\"Completed\",\"total_items\":1,\"processed_items\":1,\"current_item_type\":null,\"current_item_name\":null,\"percentage\":100,\"start_time\":\"(epoch)\",\"estimated_completion\":\"(epoch)\",\"errors\":[],\"warnings\":[],\"statistics\":{\"report\":{\"success\":true,\"operationId\":\"cmdb-(operation)\",\"cancelled\":false,\"municipality\":{\"uuid\":\"muni-1\",\"name\":\"Gemeente Voorbeeldstad\",\"created\":false},\"summary\":{\"rowsRead\":1,\"processed\":1,\"created\":1,\"updated\":0,\"unchanged\":0,\"skipped\":0,\"failed\":0,\"archived\":0,\"unarchived\":0,\"deleted\":0,\"restored\":0,\"warnings\":0,\"unpublished\":0},\"importWarnings\":[],\"rows\":[{\"sheet\":\"Beheerde Applicaties CMDB\",\"row\":2,\"appId\":\"2\",\"name\":\"Applicatie 2\",\"outcome\":\"created\",\"reasons\":[],\"warnings\":[],\"moduleUuid\":\"00000000-0000-4000-8000-000000000003\",\"usageUuid\":\"00000000-0000-4000-8000-000000000004\"}],\"rowsStored\":1,\"rowsTruncated\":false}}},\"progress_cmdb-(operation)\":{\"operation_id\":\"cmdb-(operation)\",\"operation_type\":\"cmdb_import\",\"owner_uid\":null,\"status\":\"completed\",\"phase\":\"completed\",\"phase_description\":\"Completed\",\"total_items\":1,\"processed_items\":1,\"current_item_type\":null,\"current_item_name\":null,\"percentage\":100,\"start_time\":\"(epoch)\",\"estimated_completion\":\"(epoch)\",\"errors\":[],\"warnings\":[],\"statistics\":{\"report\":{\"success\":true,\"operationId\":\"cmdb-(operation)\",\"cancelled\":false,\"municipality\":{\"uuid\":\"muni-1\",\"name\":\"Gemeente Voorbeeldstad\",\"created\":false},\"summary\":{\"rowsRead\":1,\"processed\":1,\"created\":1,\"updated\":0,\"unchanged\":0,\"skipped\":0,\"failed\":0,\"archived\":0,\"unarchived\":0,\"deleted\":0,\"restored\":0,\"warnings\":0,\"unpublished\":0},\"importWarnings\":[],\"rows\":[{\"sheet\":\"Beheerde Applicaties CMDB\",\"row\":2,\"appId\":\"3\",\"name\":\"Applicatie 3\",\"outcome\":\"created\",\"reasons\":[],\"warnings\":[],\"moduleUuid\":\"00000000-0000-4000-8000-000000000005\",\"usageUuid\":\"00000000-0000-4000-8000-000000000006\"}],\"rowsStored\":1,\"rowsTruncated\":false}}},\"progress_cmdb-(operation)\":{\"operation_id\":\"cmdb-(operation)\",\"operation_type\":\"cmdb_import\",\"owner_uid\":null,\"status\":\"completed\",\"phase\":\"completed\",\"phase_description\":\"Completed\",\"total_items\":1,\"processed_items\":1,\"current_item_type\":null,\"current_item_name\":null,\"percentage\":100,\"start_time\":\"(epoch)\",\"estimated_completion\":\"(epoch)\",\"errors\":[],\"warnings\":[],\"statistics\":{\"report\":{\"success\":true,\"operationId\":\"cmdb-(operation)\",\"cancelled\":false,\"municipality\":{\"uuid\":\"muni-1\",\"name\":\"Gemeente Voorbeeldstad\",\"created\":false},\"summary\":{\"rowsRead\":1,\"processed\":1,\"created\":1,\"updated\":0,\"unchanged\":0,\"skipped\":0,\"failed\":0,\"archived\":0,\"unarchived\":0,\"deleted\":0,\"restored\":0,\"warnings\":1,\"unpublished\":0},\"importWarnings\":[],\"rows\":[{\"sheet\":\"Beheerde Applicaties CMDB\",\"row\":2,\"appId\":\"4\",\"name\":\"Applicatie 4\",\"outcome\":\"created\",\"reasons\":[],\"warnings\":[\"Column \\\"Optional\\\": unreadable\"],\"moduleUuid\":\"00000000-0000-4000-8000-000000000007\",\"usageUuid\":\"00000000-0000-4000-8000-000000000008\"}],\"rowsStored\":1,\"rowsTruncated\":false}}}}}", "testOnlyWhatTheImportCreatedIsReconciled ": "{\"store\":{\"43\":{\"00000000-0000-4000-8000-000000000002\":{\"type\":\"Application\",\"name\":\"Applicatie 1\",\"externalNumber\":\"1\",\"externalId\":\"APP-1\",\"externalKey\":\"topdesk:muni-1:1\",\"provider\":\"00000000-0000-4000-8000-000000000001\",\"publicationDate\":\"(now)\",\"id\":\"00000000-0000-4000-8000-000000000002\"},\"00000000-0000-4000-8000-000000000004\":{\"type\":\"Application\",\"name\":\"Applicatie 7\",\"externalNumber\":\"7\",\"externalId\":\"APP-7\",\"externalKey\":\"topdesk:muni-1:7\",\"provider\":\"00000000-0000-4000-8000-000000000001\",\"publicationDate\":\"(now)\",\"id\":\"00000000-0000-4000-8000-000000000004\"},\"00000000-0000-4000-8000-000000000006\":{\"type\":\"Application\",\"name\":\"Applicatie 8\",\"externalNumber\":\"8\",\"externalId\":\"APP-8\",\"externalKey\":\"topdesk:muni-1:8\",\"provider\":\"00000000-0000-4000-8000-000000000001\",\"publicationDate\":\"(now)\",\"id\":\"00000000-0000-4000-8000-000000000006\"},\"module-nokey\":{\"id\":\"module-nokey\",\"name\":\"Zonder sleutel\"},\"module-bare\":{\"id\":\"module-bare\",\"name\":\"Kale sleutel\",\"externalKey\":\"topdesk:muni-1:\"},\"module-origin\":{\"id\":\"module-origin\",\"name\":\"Andere herkomst\",\"externalKey\":\"xxxxxxx:muni-1:9\"}},\"33\":{\"muni-1\":{\"id\":\"muni-1\",\"name\":\"Gemeente Voorbeeldstad\",\"type\":\"Municipality\",\"status\":\"Active\"},\"00000000-0000-4000-8000-000000000001\":{\"type\":\"Supplier\",\"status\":\"Active\",\"registeredBy\":\"Supplier\",\"name\":\"Fabfrikant\",\"id\":\"00000000-0000-4000-8000-000000000001\"}},\"34\":{\"00000000-0000-4000-8000-000000000003\":{\"status\":\"In production\",\"interneAnnotation\":\"Beheer geregeld: ja\",\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000002\",\"provider\":\"00000000-0000-4000-8000-000000000001\",\"id\":\"00000000-0000-4000-8000-000000000003\"},\"00000000-0000-4000-8000-000000000005\":{\"status\":\"In production\",\"interneAnnotation\":\"Beheer geregeld: nee\",\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000004\",\"provider\":\"00000000-0000-4000-8000-000000000001\",\"id\":\"00000000-0000-4000-8000-000000000005\"},\"00000000-0000-4000-8000-000000000008\":{\"status\":\"In production\",\"interneAnnotation\":\"Beheer geregeld: ja\",\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000006\",\"provider\":\"00000000-0000-4000-8000-000000000001\",\"businessOwner\":\"00000000-0000-4000-8000-000000000007\",\"id\":\"00000000-0000-4000-8000-000000000008\"},\"usage-module-nokey\":{\"id\":\"usage-module-nokey\",\"consumer\":\"muni-1\",\"module\":\"module-nokey\"},\"usage-module-bare\":{\"id\":\"usage-module-bare\",\"consumer\":\"muni-1\",\"module\":\"module-bare\"},\"usage-module-origin\":{\"id\":\"usage-module-origin\",\"consumer\":\"muni-1\",\"module\":\"module-origin\"}},\"32\":{\"00000000-0000-4000-8000-000000000007\":{\"contactsUid\":\"(uuid-1)\",\"organization\":\"muni-1\",\"id\":\"00000000-0000-4000-8000-000000000007\"}}},\"saves\":[{\"schema\":33,\"uuid\":\"00000000-0000-4000-8000-000000000001\",\"data\":{\"type\":\"Supplier\",\"status\":\"Active\",\"registeredBy\":\"Supplier\",\"name\":\"Fabfrikant\",\"id\":\"00000000-0000-4000-8000-000000000001\"},\"create\":true},{\"schema\":43,\"uuid\":\"00000000-0000-4000-8000-000000000002\",\"data\":{\"type\":\"Application\",\"name\":\"Applicatie 1\",\"externalNumber\":\"1\",\"externalId\":\"APP-1\",\"externalKey\":\"topdesk:muni-1:1\",\"provider\":\"00000000-0000-4000-8000-000000000001\",\"publicationDate\":\"(now)\",\"id\":\"00000000-0000-4000-8000-000000000002\"},\"create\":true},{\"schema\":34,\"uuid\":\"00000000-0000-4000-8000-000000000003\",\"data\":{\"status\":\"In production\",\"interneAnnotation\":\"Beheer geregeld: ja\",\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000002\",\"provider\":\"00000000-0000-4000-8000-000000000001\",\"id\":\"00000000-0000-4000-8000-000000000003\"},\"create\":true},{\"schema\":43,\"uuid\":\"00000000-0000-4000-8000-000000000004\",\"data\":{\"type\":\"Application\",\"name\":\"Applicatie 7\",\"externalNumber\":\"7\",\"externalId\":\"APP-7\",\"externalKey\":\"topdesk:muni-1:7\",\"provider\":\"00000000-0000-4000-8000-000000000001\",\"publicationDate\":\"(now)\",\"id\":\"00000000-0000-4000-8000-000000000004\"},\"create\":true},{\"schema\":34,\"uuid\":\"00000000-0000-4000-8000-000000000005\",\"data\":{\"status\":\"In production\",\"interneAnnotation\":\"Beheer geregeld: nee\",\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000004\",\"provider\":\"00000000-0000-4000-8000-000000000001\",\"id\":\"00000000-0000-4000-8000-000000000005\"},\"create\":true},{\"schema\":43,\"uuid\":\"00000000-0000-4000-8000-000000000006\",\"data\":{\"type\":\"Application\",\"name\":\"Applicatie 8\",\"externalNumber\":\"8\",\"externalId\":\"APP-8\",\"externalKey\":\"topdesk:muni-1:8\",\"provider\":\"00000000-0000-4000-8000-000000000001\",\"publicationDate\":\"(now)\",\"id\":\"00000000-0000-4000-8000-000000000006\"},\"create\":true},{\"schema\":32,\"uuid\":\"00000000-0000-4000-8000-000000000007\",\"data\":{\"contactsUid\":\"(uuid-1)\",\"organization\":\"muni-1\",\"id\":\"00000000-0000-4000-8000-000000000007\"},\"create\":true},{\"schema\":34,\"uuid\":\"00000000-0000-4000-8000-000000000008\",\"data\":{\"status\":\"In production\",\"interneAnnotation\":\"Beheer geregeld: ja\",\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000006\",\"provider\":\"00000000-0000-4000-8000-000000000001\",\"businessOwner\":\"00000000-0000-4000-8000-000000000007\",\"id\":\"00000000-0000-4000-8000-000000000008\"},\"create\":true}],\"states\":[],\"transitions\":[],\"searches\":[{\"@self\":{\"register\":20,\"schema\":43},\"_limit\":10,\"externalKey\":\"topdesk:muni-1:1\"},{\"@self\":{\"register\":20,\"schema\":43},\"_limit\":10,\"_archived\":\"true\",\"externalKey\":\"topdesk:muni-1:1\"},{\"@self\":{\"register\":20,\"schema\":33},\"type\":\"Municipality\",\"_limit\":500,\"_offset\":0},{\"@self\":{\"register\":20,\"schema\":33},\"type\":\"Supplier\",\"_limit\":500,\"_offset\":0},{\"@self\":{\"register\":20,\"schema\":34},\"_limit\":10,\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000002\"},{\"@self\":{\"register\":20,\"schema\":34},\"_limit\":10,\"_archived\":\"true\",\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000002\"},{\"@self\":{\"register\":20,\"schema\":43},\"_limit\":10,\"externalKey\":\"topdesk:muni-1:7\"},{\"@self\":{\"register\":20,\"schema\":43},\"_limit\":10,\"_archived\":\"true\",\"externalKey\":\"topdesk:muni-1:7\"},{\"@self\":{\"register\":20,\"schema\":34},\"_limit\":10,\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000004\"},{\"@self\":{\"register\":20,\"schema\":34},\"_limit\":10,\"_archived\":\"true\",\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000004\"},{\"@self\":{\"register\":20,\"schema\":43},\"_limit\":10,\"externalKey\":\"topdesk:muni-1:8\"},{\"@self\":{\"register\":20,\"schema\":43},\"_limit\":10,\"_archived\":\"true\",\"externalKey\":\"topdesk:muni-1:8\"},{\"@self\":{\"register\":20,\"schema\":32},\"_limit\":10,\"contactsUid\":\"(uuid-1)\",\"organization\":\"muni-1\"},{\"@self\":{\"register\":20,\"schema\":34},\"_limit\":10,\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000006\"},{\"@self\":{\"register\":20,\"schema\":34},\"_limit\":10,\"_archived\":\"true\",\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000006\"},{\"@self\":{\"register\":20,\"schema\":43},\"_limit\":10,\"externalKey\":\"topdesk:muni-1:1\"},{\"@self\":{\"register\":20,\"schema\":34},\"_limit\":10,\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000002\"},{\"@self\":{\"register\":20,\"schema\":33},\"type\":\"Municipality\",\"_limit\":500,\"_offset\":0},{\"@self\":{\"register\":20,\"schema\":33},\"type\":\"Supplier\",\"_limit\":500,\"_offset\":0},{\"@self\":{\"register\":20,\"schema\":34},\"_limit\":10,\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000002\"},{\"@self\":{\"register\":20,\"schema\":43},\"_limit\":10,\"externalKey\":\"topdesk:muni-1:7\"},{\"@self\":{\"register\":20,\"schema\":34},\"_limit\":10,\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000004\"},{\"@self\":{\"register\":20,\"schema\":34},\"_limit\":10,\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000004\"},{\"@self\":{\"register\":20,\"schema\":43},\"_limit\":10,\"externalKey\":\"topdesk:muni-1:8\"},{\"@self\":{\"register\":20,\"schema\":34},\"_limit\":10,\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000006\"},{\"@self\":{\"register\":20,\"schema\":34},\"_limit\":10,\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000006\"},{\"@self\":{\"register\":20,\"schema\":34},\"consumer\":\"muni-1\",\"_limit\":500,\"_offset\":0},{\"@self\":{\"register\":20,\"schema\":34},\"consumer\":\"muni-1\",\"_limit\":500,\"_offset\":0,\"_archived\":\"true\"},{\"@self\":{\"register\":20,\"schema\":43},\"_ids\":[\"00000000-0000-4000-8000-000000000002\",\"00000000-0000-4000-8000-000000000004\",\"00000000-0000-4000-8000-000000000006\",\"module-nokey\",\"module-bare\",\"module-origin\"],\"_limit\":6},{\"@self\":{\"register\":20,\"schema\":43},\"_ids\":[\"00000000-0000-4000-8000-000000000002\",\"00000000-0000-4000-8000-000000000004\",\"00000000-0000-4000-8000-000000000006\",\"module-nokey\",\"module-bare\",\"module-origin\"],\"_limit\":6,\"_archived\":\"true\"}],\"logLines\":[\"Started progress tracking {\\\"operation_id\\\":\\\"cmdb-(operation)\\\",\\\"operation_type\\\":\\\"cmdb_import\\\",\\\"total_items\\\":3}\",\"Progress phase updated {\\\"operation_id\\\":\\\"cmdb-(operation)\\\",\\\"phase\\\":\\\"processing_elements\\\",\\\"total_items\\\":3}\",\"CmdbExportImportService: import started {\\\"operationId\\\":\\\"cmdb-(operation)\\\",\\\"uid\\\":\\\"admin\\\",\\\"fileName\\\":\\\"\\\",\\\"municipality\\\":\\\"muni-1\\\",\\\"municipalityCreated\\\":false,\\\"updateExisting\\\":true,\\\"publish\\\":true,\\\"missingRecords\\\":\\\"keep\\\",\\\"rows\\\":3}\",\"Operation completed {\\\"operation_id\\\":\\\"cmdb-(operation)\\\",\\\"duration\\\":0,\\\"total_items\\\":3,\\\"errors\\\":0,\\\"warnings\\\":0}\",\"CmdbExportImportService: import finished {\\\"operationId\\\":\\\"cmdb-(operation)\\\",\\\"uid\\\":\\\"admin\\\",\\\"fileName\\\":\\\"\\\",\\\"municipality\\\":\\\"muni-1\\\",\\\"municipalityCreated\\\":false,\\\"updateExisting\\\":true,\\\"publish\\\":true,\\\"missingRecords\\\":\\\"keep\\\",\\\"summary\\\":{\\\"rowsRead\\\":3,\\\"processed\\\":3,\\\"created\\\":3,\\\"updated\\\":0,\\\"unchanged\\\":0,\\\"skipped\\\":0,\\\"failed\\\":0,\\\"archived\\\":0,\\\"unarchived\\\":0,\\\"deleted\\\":0,\\\"restored\\\":0,\\\"warnings\\\":0,\\\"unpublished\\\":0},\\\"cancelled\\\":false}\",\"Started progress tracking {\\\"operation_id\\\":\\\"cmdb-(operation)\\\",\\\"operation_type\\\":\\\"cmdb_import\\\",\\\"total_items\\\":3}\",\"Progress phase updated {\\\"operation_id\\\":\\\"cmdb-(operation)\\\",\\\"phase\\\":\\\"processing_elements\\\",\\\"total_items\\\":3}\",\"CmdbExportImportService: import started {\\\"operationId\\\":\\\"cmdb-(operation)\\\",\\\"uid\\\":\\\"admin\\\",\\\"fileName\\\":\\\"\\\",\\\"municipality\\\":\\\"muni-1\\\",\\\"municipalityCreated\\\":false,\\\"updateExisting\\\":true,\\\"publish\\\":true,\\\"missingRecords\\\":\\\"archive\\\",\\\"rows\\\":3}\",\"Progress phase updated {\\\"operation_id\\\":\\\"cmdb-(operation)\\\",\\\"phase\\\":\\\"reconciling\\\",\\\"total_items\\\":6}\",\"Operation completed {\\\"operation_id\\\":\\\"cmdb-(operation)\\\",\\\"duration\\\":0,\\\"total_items\\\":6,\\\"errors\\\":0,\\\"warnings\\\":0}\",\"CmdbExportImportService: import finished {\\\"operationId\\\":\\\"cmdb-(operation)\\\",\\\"uid\\\":\\\"admin\\\",\\\"fileName\\\":\\\"\\\",\\\"municipality\\\":\\\"muni-1\\\",\\\"municipalityCreated\\\":false,\\\"updateExisting\\\":true,\\\"publish\\\":true,\\\"missingRecords\\\":\\\"archive\\\",\\\"summary\\\":{\\\"rowsRead\\\":3,\\\"processed\\\":3,\\\"created\\\":0,\\\"updated\\\":0,\\\"unchanged\\\":3,\\\"skipped\\\":0,\\\"failed\\\":0,\\\"archived\\\":0,\\\"unarchived\\\":0,\\\"deleted\\\":0,\\\"restored\\\":0,\\\"warnings\\\":0,\\\"unpublished\\\":0},\\\"cancelled\\\":false}\"],\"contacts\":{\"(uuid-1)\":{\"name\":\"Voornaam Achternaam\",\"email\":\"\",\"book\":\"stackiq-cmdb-owners\"}},\"addressBooks\":{\"stackiq-cmdb-owners\":\"Stackiq CMDB owners\"},\"cache\":{\"progress_cmdb-(operation)\":{\"operation_id\":\"cmdb-(operation)\",\"operation_type\":\"cmdb_import\",\"owner_uid\":null,\"status\":\"completed\",\"phase\":\"completed\",\"phase_description\":\"Completed\",\"total_items\":3,\"processed_items\":3,\"current_item_type\":null,\"current_item_name\":null,\"percentage\":100,\"start_time\":\"(epoch)\",\"estimated_completion\":\"(epoch)\",\"errors\":[],\"warnings\":[],\"statistics\":{\"report\":{\"success\":true,\"operationId\":\"cmdb-(operation)\",\"cancelled\":false,\"municipality\":{\"uuid\":\"muni-1\",\"name\":\"Gemeente Voorbeeldstad\",\"created\":false},\"summary\":{\"rowsRead\":3,\"processed\":3,\"created\":3,\"updated\":0,\"unchanged\":0,\"skipped\":0,\"failed\":0,\"archived\":0,\"unarchived\":0,\"deleted\":0,\"restored\":0,\"warnings\":0,\"unpublished\":0},\"importWarnings\":[],\"rows\":[{\"sheet\":\"Beheerde Applicaties CMDB\",\"row\":2,\"appId\":\"1\",\"name\":\"Applicatie 1\",\"outcome\":\"created\",\"reasons\":[],\"warnings\":[],\"moduleUuid\":\"00000000-0000-4000-8000-000000000002\",\"usageUuid\":\"00000000-0000-4000-8000-000000000003\"},{\"sheet\":\"Onbeh Applicaties CMDB\",\"row\":3,\"appId\":\"7\",\"name\":\"Applicatie 7\",\"outcome\":\"created\",\"reasons\":[],\"warnings\":[],\"moduleUuid\":\"00000000-0000-4000-8000-000000000004\",\"usageUuid\":\"00000000-0000-4000-8000-000000000005\"},{\"sheet\":\"Beheerde Applicaties CMDB\",\"row\":4,\"appId\":\"8\",\"name\":\"Applicatie 8\",\"outcome\":\"created\",\"reasons\":[],\"warnings\":[],\"moduleUuid\":\"00000000-0000-4000-8000-000000000006\",\"usageUuid\":\"00000000-0000-4000-8000-000000000008\"}],\"rowsStored\":3,\"rowsTruncated\":false}}},\"progress_cmdb-(operation)\":{\"operation_id\":\"cmdb-(operation)\",\"operation_type\":\"cmdb_import\",\"owner_uid\":null,\"status\":\"completed\",\"phase\":\"completed\",\"phase_description\":\"Completed\",\"total_items\":6,\"processed_items\":6,\"current_item_type\":null,\"current_item_name\":null,\"percentage\":100,\"start_time\":\"(epoch)\",\"estimated_completion\":\"(epoch)\",\"errors\":[],\"warnings\":[],\"statistics\":{\"report\":{\"success\":true,\"operationId\":\"cmdb-(operation)\",\"cancelled\":false,\"municipality\":{\"uuid\":\"muni-1\",\"name\":\"Gemeente Voorbeeldstad\",\"created\":false},\"summary\":{\"rowsRead\":3,\"processed\":3,\"created\":0,\"updated\":0,\"unchanged\":3,\"skipped\":0,\"failed\":0,\"archived\":0,\"unarchived\":0,\"deleted\":0,\"restored\":0,\"warnings\":0,\"unpublished\":0},\"importWarnings\":[],\"rows\":[{\"sheet\":\"Beheerde Applicaties CMDB\",\"row\":2,\"appId\":\"1\",\"name\":\"Applicatie 1\",\"outcome\":\"unchanged\",\"reasons\":[],\"warnings\":[],\"moduleUuid\":\"00000000-0000-4000-8000-000000000002\",\"usageUuid\":\"00000000-0000-4000-8000-000000000003\"},{\"sheet\":\"Beheerde Applicaties CMDB\",\"row\":3,\"appId\":\"7\",\"name\":\"Applicatie 7\",\"outcome\":\"unchanged\",\"reasons\":[],\"warnings\":[],\"moduleUuid\":\"00000000-0000-4000-8000-000000000004\",\"usageUuid\":\"00000000-0000-4000-8000-000000000005\"},{\"sheet\":\"Beheerde Applicaties CMDB\",\"row\":4,\"appId\":\"8\",\"name\":\"Applicatie 8\",\"outcome\":\"unchanged\",\"reasons\":[],\"warnings\":[],\"moduleUuid\":\"00000000-0000-4000-8000-000000000006\",\"usageUuid\":\"00000000-0000-4000-8000-000000000008\"}],\"rowsStored\":3,\"rowsTruncated\":false}}}}}", "testOwnersAreMatchedOnlyInTheOwnersAddressBook ": "{\"store\":{\"43\":{\"00000000-0000-4000-8000-000000000002\":{\"type\":\"Application\",\"name\":\"Applicatie 1\",\"externalNumber\":\"1\",\"externalId\":\"APP-1\",\"externalKey\":\"topdesk:muni-1:1\",\"provider\":\"00000000-0000-4000-8000-000000000001\",\"publicationDate\":\"(now)\",\"id\":\"00000000-0000-4000-8000-000000000002\"},\"00000000-0000-4000-8000-000000000005\":{\"type\":\"Application\",\"name\":\"Applicatie 2\",\"externalNumber\":\"2\",\"externalId\":\"APP-2\",\"externalKey\":\"topdesk:muni-1:2\",\"provider\":\"00000000-0000-4000-8000-000000000001\",\"publicationDate\":\"(now)\",\"id\":\"00000000-0000-4000-8000-000000000005\"}},\"33\":{\"muni-1\":{\"id\":\"muni-1\",\"name\":\"Gemeente Voorbeeldstad\",\"type\":\"Municipality\",\"status\":\"Active\"},\"00000000-0000-4000-8000-000000000001\":{\"type\":\"Supplier\",\"status\":\"Active\",\"registeredBy\":\"Supplier\",\"name\":\"Fabfrikant\",\"id\":\"00000000-0000-4000-8000-000000000001\"}},\"34\":{\"00000000-0000-4000-8000-000000000004\":{\"status\":\"In production\",\"interneAnnotation\":\"Beheer geregeld: ja\",\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000002\",\"provider\":\"00000000-0000-4000-8000-000000000001\",\"businessOwner\":\"00000000-0000-4000-8000-000000000003\",\"id\":\"00000000-0000-4000-8000-000000000004\"},\"00000000-0000-4000-8000-000000000007\":{\"status\":\"In production\",\"interneAnnotation\":\"Beheer geregeld: ja\",\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000005\",\"provider\":\"00000000-0000-4000-8000-000000000001\",\"businessOwner\":\"00000000-0000-4000-8000-000000000006\",\"id\":\"00000000-0000-4000-8000-000000000007\"}},\"32\":{\"00000000-0000-4000-8000-000000000003\":{\"contactsUid\":\"(uuid-1)\",\"organization\":\"muni-1\",\"id\":\"00000000-0000-4000-8000-000000000003\"},\"00000000-0000-4000-8000-000000000006\":{\"contactsUid\":\"contact-owner\",\"organization\":\"muni-1\",\"id\":\"00000000-0000-4000-8000-000000000006\"}}},\"saves\":[{\"schema\":33,\"uuid\":\"00000000-0000-4000-8000-000000000001\",\"data\":{\"type\":\"Supplier\",\"status\":\"Active\",\"registeredBy\":\"Supplier\",\"name\":\"Fabfrikant\",\"id\":\"00000000-0000-4000-8000-000000000001\"},\"create\":true},{\"schema\":43,\"uuid\":\"00000000-0000-4000-8000-000000000002\",\"data\":{\"type\":\"Application\",\"name\":\"Applicatie 1\",\"externalNumber\":\"1\",\"externalId\":\"APP-1\",\"externalKey\":\"topdesk:muni-1:1\",\"provider\":\"00000000-0000-4000-8000-000000000001\",\"publicationDate\":\"(now)\",\"id\":\"00000000-0000-4000-8000-000000000002\"},\"create\":true},{\"schema\":32,\"uuid\":\"00000000-0000-4000-8000-000000000003\",\"data\":{\"contactsUid\":\"(uuid-1)\",\"organization\":\"muni-1\",\"id\":\"00000000-0000-4000-8000-000000000003\"},\"create\":true},{\"schema\":34,\"uuid\":\"00000000-0000-4000-8000-000000000004\",\"data\":{\"status\":\"In production\",\"interneAnnotation\":\"Beheer geregeld: ja\",\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000002\",\"provider\":\"00000000-0000-4000-8000-000000000001\",\"businessOwner\":\"00000000-0000-4000-8000-000000000003\",\"id\":\"00000000-0000-4000-8000-000000000004\"},\"create\":true},{\"schema\":43,\"uuid\":\"00000000-0000-4000-8000-000000000005\",\"data\":{\"type\":\"Application\",\"name\":\"Applicatie 2\",\"externalNumber\":\"2\",\"externalId\":\"APP-2\",\"externalKey\":\"topdesk:muni-1:2\",\"provider\":\"00000000-0000-4000-8000-000000000001\",\"publicationDate\":\"(now)\",\"id\":\"00000000-0000-4000-8000-000000000005\"},\"create\":true},{\"schema\":32,\"uuid\":\"00000000-0000-4000-8000-000000000006\",\"data\":{\"contactsUid\":\"contact-owner\",\"organization\":\"muni-1\",\"id\":\"00000000-0000-4000-8000-000000000006\"},\"create\":true},{\"schema\":34,\"uuid\":\"00000000-0000-4000-8000-000000000007\",\"data\":{\"status\":\"In production\",\"interneAnnotation\":\"Beheer geregeld: ja\",\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000005\",\"provider\":\"00000000-0000-4000-8000-000000000001\",\"businessOwner\":\"00000000-0000-4000-8000-000000000006\",\"id\":\"00000000-0000-4000-8000-000000000007\"},\"create\":true}],\"states\":[],\"transitions\":[],\"searches\":[{\"@self\":{\"register\":20,\"schema\":43},\"_limit\":10,\"externalKey\":\"topdesk:muni-1:1\"},{\"@self\":{\"register\":20,\"schema\":43},\"_limit\":10,\"_archived\":\"true\",\"externalKey\":\"topdesk:muni-1:1\"},{\"@self\":{\"register\":20,\"schema\":33},\"type\":\"Municipality\",\"_limit\":500,\"_offset\":0},{\"@self\":{\"register\":20,\"schema\":33},\"type\":\"Supplier\",\"_limit\":500,\"_offset\":0},{\"@self\":{\"register\":20,\"schema\":32},\"_limit\":10,\"contactsUid\":\"(uuid-1)\",\"organization\":\"muni-1\"},{\"@self\":{\"register\":20,\"schema\":34},\"_limit\":10,\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000002\"},{\"@self\":{\"register\":20,\"schema\":34},\"_limit\":10,\"_archived\":\"true\",\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000002\"},{\"@self\":{\"register\":20,\"schema\":43},\"_limit\":10,\"externalKey\":\"topdesk:muni-1:2\"},{\"@self\":{\"register\":20,\"schema\":43},\"_limit\":10,\"_archived\":\"true\",\"externalKey\":\"topdesk:muni-1:2\"},{\"@self\":{\"register\":20,\"schema\":32},\"_limit\":10,\"contactsUid\":\"contact-owner\",\"organization\":\"muni-1\"},{\"@self\":{\"register\":20,\"schema\":34},\"_limit\":10,\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000005\"},{\"@self\":{\"register\":20,\"schema\":34},\"_limit\":10,\"_archived\":\"true\",\"consumer\":\"muni-1\",\"module\":\"00000000-0000-4000-8000-000000000005\"},{\"@self\":{\"register\":20,\"schema\":34},\"consumer\":\"muni-1\",\"_limit\":500,\"_offset\":0},{\"@self\":{\"register\":20,\"schema\":34},\"consumer\":\"muni-1\",\"_limit\":500,\"_offset\":0,\"_archived\":\"true\"},{\"@self\":{\"register\":20,\"schema\":43},\"_ids\":[\"00000000-0000-4000-8000-000000000002\",\"00000000-0000-4000-8000-000000000005\"],\"_limit\":2},{\"@self\":{\"register\":20,\"schema\":43},\"_ids\":[\"00000000-0000-4000-8000-000000000002\",\"00000000-0000-4000-8000-000000000005\"],\"_limit\":2,\"_archived\":\"true\"}],\"logLines\":[\"Started progress tracking {\\\"operation_id\\\":\\\"cmdb-(operation)\\\",\\\"operation_type\\\":\\\"cmdb_import\\\",\\\"total_items\\\":2}\",\"Progress phase updated {\\\"operation_id\\\":\\\"cmdb-(operation)\\\",\\\"phase\\\":\\\"processing_elements\\\",\\\"total_items\\\":2}\",\"CmdbExportImportService: import started {\\\"operationId\\\":\\\"cmdb-(operation)\\\",\\\"uid\\\":\\\"admin\\\",\\\"fileName\\\":\\\"\\\",\\\"municipality\\\":\\\"muni-1\\\",\\\"municipalityCreated\\\":false,\\\"updateExisting\\\":true,\\\"publish\\\":true,\\\"missingRecords\\\":\\\"archive\\\",\\\"rows\\\":2}\",\"Progress phase updated {\\\"operation_id\\\":\\\"cmdb-(operation)\\\",\\\"phase\\\":\\\"reconciling\\\",\\\"total_items\\\":4}\",\"Operation completed {\\\"operation_id\\\":\\\"cmdb-(operation)\\\",\\\"duration\\\":0,\\\"total_items\\\":4,\\\"errors\\\":0,\\\"warnings\\\":0}\",\"CmdbExportImportService: import finished {\\\"operationId\\\":\\\"cmdb-(operation)\\\",\\\"uid\\\":\\\"admin\\\",\\\"fileName\\\":\\\"\\\",\\\"municipality\\\":\\\"muni-1\\\",\\\"municipalityCreated\\\":false,\\\"updateExisting\\\":true,\\\"publish\\\":true,\\\"missingRecords\\\":\\\"archive\\\",\\\"summary\\\":{\\\"rowsRead\\\":2,\\\"processed\\\":2,\\\"created\\\":2,\\\"updated\\\":0,\\\"unchanged\\\":0,\\\"skipped\\\":0,\\\"failed\\\":0,\\\"archived\\\":0,\\\"unarchived\\\":0,\\\"deleted\\\":0,\\\"restored\\\":0,\\\"warnings\\\":0,\\\"unpublished\\\":0},\\\"cancelled\\\":false}\"],\"contacts\":{\"contact-personal\":{\"name\":\"Voornaam Achternaam\",\"email\":\"\"},\"contact-owner\":{\"name\":\"Teamleider Applicatiebeheer\",\"email\":\"\",\"book\":\"stackiq-cmdb-owners\"},\"(uuid-1)\":{\"name\":\"Voornaam Achternaam\",\"email\":\"\",\"book\":\"stackiq-cmdb-owners\"}},\"addressBooks\":{\"stackiq-cmdb-owners\":\"Stackiq CMDB owners\"},\"cache\":{\"progress_cmdb-(operation)\":{\"operation_id\":\"cmdb-(operation)\",\"operation_type\":\"cmdb_import\",\"owner_uid\":null,\"status\":\"completed\",\"phase\":\"completed\",\"phase_description\":\"Completed\",\"total_items\":4,\"processed_items\":4,\"current_item_type\":null,\"current_item_name\":null,\"percentage\":100,\"start_time\":\"(epoch)\",\"estimated_completion\":\"(epoch)\",\"errors\":[],\"warnings\":[],\"statistics\":{\"report\":{\"success\":true,\"operationId\":\"cmdb-(operation)\",\"cancelled\":false,\"municipality\":{\"uuid\":\"muni-1\",\"name\":\"Gemeente Voorbeeldstad\",\"created\":false},\"summary\":{\"rowsRead\":2,\"processed\":2,\"created\":2,\"updated\":0,\"unchanged\":0,\"skipped\":0,\"failed\":0,\"archived\":0,\"unarchived\":0,\"deleted\":0,\"restored\":0,\"warnings\":0,\"unpublished\":0},\"importWarnings\":[],\"rows\":[{\"sheet\":\"Beheerde Applicaties CMDB\",\"row\":2,\"appId\":\"1\",\"name\":\"Applicatie 1\",\"outcome\":\"created\",\"reasons\":[],\"warnings\":[],\"moduleUuid\":\"00000000-0000-4000-8000-000000000002\",\"usageUuid\":\"00000000-0000-4000-8000-000000000004\"},{\"sheet\":\"Beheerde Applicaties CMDB\",\"row\":3,\"appId\":\"2\",\"name\":\"Applicatie 2\",\"outcome\":\"created\",\"reasons\":[],\"warnings\":[],\"moduleUuid\":\"00000000-0000-4000-8000-000000000005\",\"usageUuid\":\"00000000-0000-4000-8000-000000000007\"}],\"rowsStored\":2,\"rowsTruncated\":false}}}}}", "testPersonNamesSplit ": "{\"store\":{\"43\":[],\"33\":[],\"34\":[],\"32\":[]},\"saves\":[],\"states\":[],\"transitions\":[],\"searches\":[],\"logLines\":[],\"contacts\":[],\"addressBooks\":[],\"cache\":[]}",