diff --git a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/DatabaseServiceIntegrationTest.java b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/DatabaseServiceIntegrationTest.java index 8fd4a26c5ea83f66b6f8f3e2d55d3a6589dd7ee5..5d0a95ed89cb8689106e34ec69449b8383667df1 100644 --- a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/DatabaseServiceIntegrationTest.java +++ b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/DatabaseServiceIntegrationTest.java @@ -4,9 +4,7 @@ import at.tuwien.api.database.ViewColumnDto; import at.tuwien.api.database.ViewDto; import at.tuwien.api.database.table.TableBriefDto; import at.tuwien.api.database.table.TableDto; -import at.tuwien.api.database.table.columns.ColumnDto; -import at.tuwien.api.database.table.columns.ColumnTypeDto; -import at.tuwien.api.database.table.columns.CreateTableColumnDto; +import at.tuwien.api.database.table.columns.*; import at.tuwien.api.database.table.constraints.ConstraintsDto; import at.tuwien.api.database.table.constraints.CreateTableConstraintsDto; import at.tuwien.api.database.table.constraints.foreign.CreateForeignKeyDto; @@ -206,10 +204,10 @@ public class DatabaseServiceIntegrationTest extends AbstractUnitTest { assertColumn(columns.get(0), null, null, DATABASE_2_ID, "id", "id", ColumnTypeDto.BIGINT, 19L, 0L, false, null); assertColumn(columns.get(1), null, null, DATABASE_2_ID, "mode", "mode", ColumnTypeDto.ENUM, 3L, null, false, null); assertEquals(2, columns.get(1).getEnums().size()); - assertEquals(List.of("ABC", "DEF"), columns.get(1).getEnums()); + assertEquals(List.of("ABC", "DEF"), columns.get(1).getEnums().stream().map(EnumDto::getValue).toList()); assertColumn(columns.get(2), null, null, DATABASE_2_ID, "seq", "seq", ColumnTypeDto.SET, 5L, null, true, null); assertEquals(3, columns.get(2).getSets().size()); - assertEquals(List.of("1", "2", "3"), columns.get(2).getSets()); + assertEquals(List.of("1", "2", "3"), columns.get(2).getSets().stream().map(SetDto::getValue).toList()); /* ignore rest (constraints) */ } diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/TableServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/TableServiceImpl.java index 6df1265b75209f4a2671291d8e1ee3beb6cb79f9..8ea890d7b41f83167e58059004a858b4d037cc3f 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/TableServiceImpl.java +++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/TableServiceImpl.java @@ -3,8 +3,8 @@ package at.tuwien.service.impl; import at.tuwien.api.database.table.CreateTableDto; import at.tuwien.api.database.table.TableStatisticDto; import at.tuwien.api.database.table.TableUpdateDto; -import at.tuwien.api.database.table.columns.CreateTableColumnDto; import at.tuwien.api.database.table.columns.ColumnStatisticDto; +import at.tuwien.api.database.table.columns.CreateTableColumnDto; import at.tuwien.api.database.table.columns.concepts.ColumnSemanticsUpdateDto; import at.tuwien.config.RabbitConfig; import at.tuwien.entities.database.Database; @@ -114,20 +114,24 @@ public class TableServiceImpl implements TableService { for (int i = 0; i < data.getColumns().size(); i++) { final CreateTableColumnDto c = data.getColumns().get(i); final TableColumn column = metadataMapper.columnCreateDtoToTableColumn(c, database.getContainer().getImage()); - column.setEnums(c.getEnums() - .stream() - .map(e -> ColumnEnum.builder() - .column(column) - .value(e) - .build()) - .toList()); - column.setSets(c.getSets() - .stream() - .map(e -> ColumnSet.builder() - .column(column) - .value(e) - .build()) - .toList()); + if (c.getEnums() != null) { + column.setEnums(c.getEnums() + .stream() + .map(e -> ColumnEnum.builder() + .column(column) + .value(e) + .build()) + .toList()); + } + if (c.getSets() != null) { + column.setSets(c.getSets() + .stream() + .map(e -> ColumnSet.builder() + .column(column) + .value(e) + .build()) + .toList()); + } column.setOrdinalPosition(idx[0]++); column.setTable(table); if (c.getUnitUri() != null) { diff --git a/lib/python/tests/test_unit_container.py b/lib/python/tests/test_unit_container.py index 1faf4ec738ff689d56ec6fcf84932767ad68379c..aae90467b504b684e96b6b0c3fa314fe83445ef6 100644 --- a/lib/python/tests/test_unit_container.py +++ b/lib/python/tests/test_unit_container.py @@ -26,9 +26,12 @@ class ContainerUnitTest(unittest.TestCase): driver_class="org.mariadb.jdbc.Driver", jdbc_method="mariadb", data_types=[ - DataType(display_name="SERIAL", value="serial", + DataType(id="a01957bf-6fed-46a3-8b13-dc6ea304a3af", + display_name="SERIAL", + value="serial", documentation="https://mariadb.com/kb/en/bigint/", - is_quoted=False, is_buildable=True)])) + is_quoted=False, + is_buildable=True)])) # mock mock.post('/api/container', json=exp.model_dump(), status_code=201) # test @@ -177,9 +180,12 @@ class ContainerUnitTest(unittest.TestCase): driver_class="org.mariadb.jdbc.Driver", jdbc_method="mariadb", data_types=[ - DataType(display_name="SERIAL", value="serial", + DataType(id="a01957bf-6fed-46a3-8b13-dc6ea304a3af", + display_name="SERIAL", + value="serial", documentation="https://mariadb.com/kb/en/bigint/", - is_quoted=False, is_buildable=True)])) + is_quoted=False, + is_buildable=True)])) # mock mock.get('/api/container/44d811a8-4019-46ba-bd57-ea10a2eb0c74', json=exp.model_dump()) # test diff --git a/lib/python/tests/test_unit_image.py b/lib/python/tests/test_unit_image.py index 2802efc69073ba10b7c7286b87cdb531ffafbbb1..9b994c6f1705978c30ea3f1a24f2b92500708ee6 100644 --- a/lib/python/tests/test_unit_image.py +++ b/lib/python/tests/test_unit_image.py @@ -3,7 +3,6 @@ import unittest import requests_mock from dbrepo.RestClient import RestClient - from dbrepo.api.dto import ImageBrief @@ -19,7 +18,9 @@ class ImageUnitTest(unittest.TestCase): def test_get_images_succeeds(self): with requests_mock.Mocker() as mock: - exp = [ImageBrief(id=1, name="mariadb", version="11.1.3", jdbc_method="mariadb", default=False)] + exp = [ImageBrief(id="5d065194-2196-42e3-83e6-d8fc658c4b66", + name="mariadb", + version="11.1.3")] # mock mock.get('/api/image', json=[exp[0].model_dump()]) # test diff --git a/lib/python/tests/test_unit_messages.py b/lib/python/tests/test_unit_messages.py index cf863dcb6cbb0507cb97a67175274b5b50c61948..5523955c65a74ec0df5ee5ddc76d519d11269523 100644 --- a/lib/python/tests/test_unit_messages.py +++ b/lib/python/tests/test_unit_messages.py @@ -3,7 +3,6 @@ import unittest import requests_mock from dbrepo.RestClient import RestClient - from dbrepo.api.dto import Message @@ -19,7 +18,7 @@ class ImageUnitTest(unittest.TestCase): def test_get_images_succeeds(self): with requests_mock.Mocker() as mock: - exp = [Message(id=1, type="info")] + exp = [Message(id="97e46776-aef2-4a6f-9e82-9d2ae556745f", type="info")] # mock mock.get('/api/message', json=[exp[0].model_dump()]) # test