Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),

#### Stack-level

- **Liquibase**: `service.type` is limited to `WMS`, `WFS`, and `WMTS` on the development, postgres, and oracle profiles. A stored service of another type is not deleted ([#101](https://github.com/sitmun/sitmun-application-stack/issues/101)).
- **Docker**: `docker compose build front` uses the Angular 22 viewer webpack config. `envsubst` replaces only `PUBLIC_BASE_PATH`, so the viewer image build keeps the `jszip`, `util`, and `@spz-loader` exclusions.
- **Docker**: `sitmun-shared` checks out `gradlew` with LF line endings. On Windows with `core.autocrlf=true`, the backend and proxy image builds failed in `publishToMavenLocal` with `/bin/sh^M: bad interpreter` (exit code 126) ([#89](https://github.com/sitmun/sitmun-application-stack/issues/89)).
- **E2E**: Each root E2E job publishes the pinned `sitmun-shared` to the local Maven repository before the suite starts. The backend resolves `sitmun-spring-upstream` and `sitmun-proxy-contract` `1.2.9` from that repository.
Expand Down
1 change: 1 addition & 0 deletions e2e/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ Browser E2E against backend-core on in-memory H2. No Docker Compose.
- Tree form **Details** SVG local-file persist and touristic **Tree structure** node Appearance SVG persist: picker `accept` includes `.svg`; POST/PUT stores `data:image/svg+xml;base64,...` without raster scaling; reload preview stays SVG ([sitmun-admin-app#330](https://github.com/sitmun/sitmun-admin-app/issues/330); `e2e/admin/forms/tree-svg-image.spec.ts`, project `admin-forms`)
- Layers form **Details**: validation, create, reload persistence; Feature Information character-count must not throw `raw.split` beside the queryable-layers CSV validator (`e2e/admin/forms/layers-form.spec.ts`, project `admin-forms`)
- Layers form relation tabs: opening Details must not GET `/cartographies/{id}/availabilities|permissions|treeNodes`; those association requests fire only after the matching tab is selected ([#41](https://github.com/sitmun/sitmun-application-stack/issues/41); same spec)
- Service form type list offers only `WMS`, `WFS`, and `WMTS` (`e2e/admin/forms/service-type-options.spec.ts`, project `admin-forms`, [sitmun-application-stack#101](https://github.com/sitmun/sitmun-application-stack/issues/101))
- Service form Get Metadata: MapServer-style URL with existing `?map=` POSTs `helpers/capabilities` JSON (`url` is the form endpoint, `type` is WMS); backend adds GetCapabilities (intercepted stub; no live ICGC) (`e2e/admin/forms/service-capabilities-mapserver.spec.ts`, project `admin-forms`)
- Layers list delete: create via form, search, grid delete → `DELETE /api/cartographies/{id}` **204** and GET **404** (`e2e/admin/forms/layers-list-delete.spec.ts`, project `admin-forms`)
- Plantilla dry-run: ADMIN `POST /api/tasks/template/preview` and `/execute-child` without required `appId`/`terId` (`e2e/admin/forms/template-execute-child.spec.ts`, project `admin-forms`)
Expand Down
19 changes: 19 additions & 0 deletions e2e/admin/forms/service-type-options.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import { expect, test } from '../fixtures';
import { control, dismissBlockingOverlays, gotoCreateForm } from '../helpers/form';

test.describe('Service form type list', () => {
test('offers only WMS, WFS, and WMTS', async ({ page }) => {
await gotoCreateForm(page, '/#/service/-1/serviceForm', 'name');
const typeSelect = control(page, 'type');
await typeSelect.scrollIntoViewIfNeeded();
await dismissBlockingOverlays(page);
await typeSelect.locator('.mat-mdc-select-trigger').click({ force: true });
const options = page.getByRole('option');
await options.first().waitFor({ state: 'visible', timeout: 15_000 });
const names = (await options.allTextContents())
.map((text) => text.trim())
.filter((text) => text.length > 0)
.sort();
expect(names).toEqual(['WFS', 'WMS', 'WMTS']);
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
databaseChangeLog:
- changeSet:
id: 87-restrict-service-types
author: sitmun
changes:
- delete:
tableName: STM_CODELIST
where: "COD_LIST = 'service.type' AND COD_VALUE NOT IN ('WMS', 'WFS', 'WMTS')"
1 change: 1 addition & 0 deletions profiles/development/backend/liquibase/master.xml
Original file line number Diff line number Diff line change
Expand Up @@ -93,4 +93,5 @@
<include file="changelog/84_parameter_type_translations.yaml" relativeToChangelogFile="true"/>
<include file="changelog/85_dev_wfs_menorca_fars.yaml" relativeToChangelogFile="true"/>
<include file="changelog/86_dev_service_parameter_info_olparam_oracle.yaml" relativeToChangelogFile="true"/>
<include file="changelog/87_restrict_service_types.yaml" relativeToChangelogFile="true"/>
</databaseChangeLog>
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
databaseChangeLog:
- changeSet:
id: 31-restrict-service-types
author: sitmun
changes:
- delete:
tableName: STM_CODELIST
where: "COD_LIST = 'service.type' AND COD_VALUE NOT IN ('WMS', 'WFS', 'WMTS')"
1 change: 1 addition & 0 deletions profiles/oracle/liquibase/master.xml
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,5 @@
<include file="changelog/28_service_check.yaml" relativeToChangelogFile="true"/>
<include file="changelog/29_parameter_operation_scope.yaml" relativeToChangelogFile="true"/>
<include file="changelog/30_cartography_service_parameter.yaml" relativeToChangelogFile="true"/>
<include file="changelog/31_restrict_service_types.yaml" relativeToChangelogFile="true"/>
</databaseChangeLog>
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
databaseChangeLog:
- changeSet:
id: 31-restrict-service-types
author: sitmun
changes:
- delete:
tableName: STM_CODELIST
where: "COD_LIST = 'service.type' AND COD_VALUE NOT IN ('WMS', 'WFS', 'WMTS')"
1 change: 1 addition & 0 deletions profiles/postgres/liquibase/master.xml
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,5 @@
<include file="changelog/28_service_check.yaml" relativeToChangelogFile="true"/>
<include file="changelog/29_parameter_operation_scope.yaml" relativeToChangelogFile="true"/>
<include file="changelog/30_cartography_service_parameter.yaml" relativeToChangelogFile="true"/>
<include file="changelog/31_restrict_service_types.yaml" relativeToChangelogFile="true"/>
</databaseChangeLog>
Loading