Skip to content

Commit 6a015e9

Browse files
committed
merged v4.8.0
2 parents 3370e37 + 40077bc commit 6a015e9

File tree

176 files changed

+151625
-180
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

176 files changed

+151625
-180
lines changed
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: node.js CI for SDMX TCK
2+
run-name: Build SDMX TCK
3+
on:
4+
push:
5+
tags:
6+
- '*'
7+
8+
env:
9+
REGISTRY: ghcr.io
10+
IMAGE_NAME: ${{ github.repository }}
11+
12+
jobs:
13+
build:
14+
runs-on: ubuntu-latest
15+
strategy:
16+
matrix:
17+
node-version: [16.x]
18+
steps:
19+
- uses: actions/checkout@v3
20+
- name: Use node.js ${{ matrix.node-version }}
21+
uses: actions/setup-node@v3
22+
with:
23+
node-version: ${{ matrix.node-version }}
24+
- run: npm install
25+
working-directory: sdmx-tck-api
26+
- run: npm install
27+
working-directory: sdmx-tck-parsers
28+
- run: npm install
29+
working-directory: sdmx-tck-manager
30+
- run: npm install
31+
working-directory: sdmx-tck-client
32+
- run: npm install
33+
working-directory: sdmx-tck-reporter
34+
build-and-push-image:
35+
runs-on: ubuntu-latest
36+
needs: build
37+
38+
permissions:
39+
contents: read
40+
packages: write
41+
42+
steps:
43+
- name: Checkout repository
44+
uses: actions/checkout@v3
45+
46+
- name: Log in to the Container registry
47+
uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
48+
with:
49+
registry: ${{ env.REGISTRY }}
50+
username: ${{ github.actor }}
51+
password: ${{ secrets.GITHUB_TOKEN }}
52+
53+
- name: Extract metadata (tags, labels) for Docker
54+
id: meta
55+
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
56+
with:
57+
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
58+
59+
- name: Build and push Docker image
60+
uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4
61+
with:
62+
context: .
63+
push: true
64+
tags: ${{ steps.meta.outputs.tags }}
65+
labels: ${{ steps.meta.outputs.labels }}

.gitignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
11
/**/node_modules
22
/**/.vscode
3-
.idea
4-
package-lock.json
3+
.idea

CHANGELOG.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# HISTORY
2+
## sdmx-tck-modules v4.8.0 (2024-12-05)
3+
- Introduce structure tests to support multiple values for AGENCY, ID and VERSION, using the OR separator.
4+
- Handle Geospatial specialised code lists (i.e., GeographicCodelist and GeoGridCodelist) when parsing codelists.
5+
- Support parameter value ancestors for the `references` parameter.
6+
7+
## sdmx-tck-modules v4.7.0 (2024-03-26)
8+
9+
### Details
10+
- Adapt the existing tests and introduce new ones within the "Structure Further Describing Results Parameters" category that work with REST api version 2.0.
11+
12+
## sdmx-tck-modules v4.6.0 (2024-03-07)
13+
14+
### Details
15+
16+
- Adjust data extended identification tests to support REST 2.0 and SDMX 3.0. Added support for many keys using filters for dimension values.
17+
18+
- Introduced key identifier for tests because the existing URL used as identifier was not sufficient to describe the same test for different REST api versions.
19+
20+
- Minor fix in the creation of testId for data availability tests.
21+
22+
- Organised unit tests for SDMX-ML structure parsers.
23+
24+
- Added fix for <code>/hierarchicalcodelist/agency/id/version/items</code> test, as proposed by Oleksandr Buhaiov (buhaiovos)). The test was failing because hierarchies were not parsed and the code was not able to select the two hierarchies required by the specific test in order to run.
25+
26+
- Fix handling of 406 response code for represenation tests with invalid/not supported represenation type (fix proposed by Oleksandr Buhaiov (buhaiovos)).
27+
28+
- Fixed a bug in handling of 'structure' request type parameter. The process of randomly selecting a structure based on its type was not suitable for the 'structure' resource and has been appropriately addressed.
29+
30+
- Resolved a bug affecting the semantic checking of structure identification tests specifically when the requested REST resource is 'structure'.
31+
32+
## sdmx-tck-modules v4.5.0 (2024-02-22)
33+
34+
### Details
35+
36+
//TODO
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
@startuml StrcuctureTestExecutionManager_SequenceDiagram
2+
3+
skinparam sequence {
4+
' ArrowColor DeepSkyBlue
5+
' ActorBorderColor DeepSkyBlue
6+
LifeLineBorderColor blue
7+
LifeLineBackgroundColor #A9DCDF
8+
ParticipantBorderColor DeepSkyBlue
9+
ParticipantBackgroundColor #cfe4ff
10+
ParticipantFontName Consolas
11+
ParticipantFontSize 14
12+
' ParticipantFontColor #A9DCDF
13+
' ActorBackgroundColor aqua
14+
' ActorFontColor #A9DCDF
15+
ActorFontSize 14
16+
ActorFontName Consolas
17+
}
18+
actor User as u
19+
participant "StructureTestExecutionManager" as STM
20+
participant "StructureRequestBuilder" as SRB
21+
box sdmx-rest4js
22+
participant "UrlGenerator" as UG
23+
participant "sdmx_requestor" as SR
24+
end box
25+
participant "ResponseValidator" as RV
26+
participant "SdmxXmlParser" as SXP
27+
participant "SemanticCheckerFactory" as SCF
28+
29+
u -> STM: executeTest(test, apiVersion, endpoint)
30+
activate STM
31+
' alt testType = STRUCTURE_REFERENCE_PARTIAL
32+
' STM -> STM: identifiers = ContentConstraintTypeValidator.getContentConstraintOfAllowedType(toRun)
33+
' end
34+
35+
' TODO: prepareRequest to be further broken down.
36+
STM -> SRB: prepareRequest(endpoint, apiVersion, resource, ...)
37+
activate SRB
38+
SRB --> STM: preparedRequest
39+
deactivate SRB
40+
41+
STM -> UG: getUrl(query, service, skipDefaults=true)
42+
activate UG
43+
UG --> STM: url
44+
deactivate UG
45+
46+
STM -> SR: request2(url, preparedRequest.headers)
47+
activate SR
48+
SR --> STM: httpResponse
49+
deactivate SR
50+
51+
group HTTP Validation
52+
' validateHttpResponse to be further broken down
53+
STM -> RV: validateHttpResponse(preparedRequest.request, httpResponse)
54+
activate RV
55+
RV --> STM: HTTP Validation outcome
56+
deactivate RV
57+
break HTTP Validation failed
58+
STM --> STM: throw TckError("HTTP validation failed")
59+
end
60+
61+
alt testType == 'Structure Query Representation'
62+
STM -> RV: validateRepresentation(representation, httpResponse, apiVersion)
63+
activate RV
64+
RV --> STM: HTTP Validation outcome
65+
deactivate RV
66+
break Validation failed
67+
STM --> STM: throw TckError("HTTP validation failed")
68+
end
69+
STM --> u: Test Results
70+
end
71+
end
72+
73+
STM -> SXP: getIMObjects(httpResponse, apiVersion)
74+
activate SXP
75+
SXP --> STM: workspace
76+
deactivate SXP
77+
78+
group Workspace Validation
79+
STM -> SCF: getChecker(test).checkWorkspace(test, preparedRequest, workspace)
80+
activate SCF
81+
SCF --> STM: workspaceValidation
82+
deactivate SCF
83+
break Workspace Validation Failed
84+
STM --> STM: throw TckError("Workspace validation failed")
85+
end
86+
end
87+
STM --> u: Test Results
88+
deactivate STM
89+
@enduml

0 commit comments

Comments
 (0)