Skip to content

Commit d9d5768

Browse files
committed
Content-Security-Policy header middleware toevoegen aan nieuwe atom-operator
1 parent 9683228 commit d9d5768

File tree

2 files changed

+130
-0
lines changed

2 files changed

+130
-0
lines changed

api/v3/atom_validation_test.go

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
package v3
2+
3+
import (
4+
//nolint:revive // ginkgo bdd
5+
smoothoperatormodel "github.com/pdok/smooth-operator/model"
6+
"k8s.io/apimachinery/pkg/util/validation/field"
7+
//"golang.org/x/net/context"
8+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
9+
"k8s.io/client-go/rest"
10+
"testing"
11+
)
12+
13+
var (
14+
cfg *rest.Config
15+
testTheme = "TEST_THEME"
16+
TestTTLInt32 int32 = 30
17+
)
18+
19+
func getFilledAtomv3() *Atom {
20+
21+
return &Atom{
22+
TypeMeta: metav1.TypeMeta{
23+
Kind: "Atom",
24+
APIVersion: "v1",
25+
},
26+
ObjectMeta: metav1.ObjectMeta{
27+
Name: "v3-asis-no-error-no-warning",
28+
Labels: map[string]string{
29+
"dataset-owner": "test_datasetowner",
30+
"dataset": "test_dataset",
31+
"theme": testTheme,
32+
"service-type": "test_servicetype",
33+
},
34+
},
35+
Spec: AtomSpec{
36+
Lifecycle: &smoothoperatormodel.Lifecycle{
37+
TTLInDays: &TestTTLInt32,
38+
},
39+
},
40+
}
41+
}
42+
43+
func TestValidateAtomWithoutClusterChecks(t *testing.T) {
44+
myWarnings := []string{}
45+
myAllErrors := field.ErrorList{}
46+
type args struct {
47+
atom *Atom
48+
warnings *[]string
49+
allErrs *field.ErrorList
50+
}
51+
tests := []struct {
52+
name string
53+
args args
54+
}{
55+
// TODO: Add test cases.
56+
{
57+
name: "MyFirstTest",
58+
args: args{
59+
atom: getFilledAtomv3(),
60+
warnings: &myWarnings,
61+
allErrs: &myAllErrors,
62+
},
63+
},
64+
}
65+
for _, tt := range tests {
66+
t.Run(tt.name, func(t *testing.T) {
67+
ValidateAtomWithoutClusterChecks(tt.args.atom, tt.args.warnings, tt.args.allErrs)
68+
})
69+
}
70+
}

api/v3/test_data/atom-v3-1.yaml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
apiVersion: pdok.nl/v3
2+
kind: Atom
3+
metadata:
4+
annotations:
5+
kangaroo.pdok.nl/lifecycle-phase: prod
6+
kangaroo.pdok.nl/service-bundle-ids: 65daed5f-e9e4-5791-a7c9-7e9effcca520
7+
kangaroo.pdok.nl/readonly: "true"
8+
labels:
9+
pdok.nl/dataset-id: wetlands
10+
pdok.nl/owner-id: rvo
11+
pdok.nl/service-type: atom
12+
name: asis-readonly-prod
13+
namespace: services
14+
spec:
15+
service:
16+
baseUrl: http://localhost:32788/rvo/wetlands/atom
17+
datasetFeeds:
18+
- author:
19+
20+
name: Ministerie van EL&I - GIS Competence Center
21+
datasetMetadataLinks:
22+
metadataIdentifier: 07d73b60-dfd6-4c54-9c82-9fac70c6c48e
23+
templates:
24+
- csw
25+
- html
26+
entries:
27+
- content:
28+
Wetlands zijn de natte natuurgebieden in Nederland (44 gebieden).
29+
Het Wetland verdrag is op 2 februari 1971 te Ramsar in Iran ondertekend.
30+
Nederland was een van de zestien landen die het Verdrag toen ondertekende.
31+
downloadlinks:
32+
- data: public/rvo/wetlands/65daed5f-e9e4-5791-a7c9-7e9effcca520/3/wetlands.gpkg
33+
polygon:
34+
bbox:
35+
maxx: "7.5553527"
36+
maxy: "55.66948"
37+
minx: "2.354173"
38+
miny: "50.71447"
39+
srs:
40+
name: Amersfoort / RD New
41+
uri: https://www.opengis.net/def/crs/EPSG/0/28992
42+
technicalName: wetlands
43+
title: wetlands
44+
updated: "2025-02-28T09:04:17Z"
45+
spatialDatasetIdentifierCode: 07d73b60-dfd6-4c54-9c82-9fac70c6c48e
46+
spatialDatasetIdentifierNamespace: http://www.pdok.nl
47+
subtitle: wetlands
48+
technicalName: wetlands
49+
title: wetlands
50+
lang: nl
51+
ownerInfoRef: pdok
52+
rights: https://creativecommons.org/publicdomain/zero/1.0/deed.nl
53+
serviceMetadataLinks:
54+
metadataIdentifier: 2751ba40-5100-4186-81be-b7fdee95b49c
55+
templates:
56+
- csw
57+
- opensearch
58+
- html
59+
subtitle: Download Service van wetlands
60+
title: Wetlands

0 commit comments

Comments
 (0)