• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

kubescape / storage / 6719853104

01 Nov 2023 12:48PM UTC coverage: 23.525%. First build
6719853104

Pull #58

github

web-flow
Merge e01e1f7df into ca59d2b54
Pull Request #58: Generated network policy

1107 of 1107 new or added lines in 6 files covered. (100.0%)

977 of 4153 relevant lines covered (23.53%)

7.51 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

41.12
/pkg/apis/softwarecomposition/validation/validation.go
1
/*
2
Copyright 2016 The Kubernetes Authors.
3

4
Licensed under the Apache License, Version 2.0 (the "License");
5
you may not use this file except in compliance with the License.
6
You may obtain a copy of the License at
7

8
    http://www.apache.org/licenses/LICENSE-2.0
9

10
Unless required by applicable law or agreed to in writing, software
11
distributed under the License is distributed on an "AS IS" BASIS,
12
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
See the License for the specific language governing permissions and
14
limitations under the License.
15
*/
16

17
package validation
18

19
import (
20
        "fmt"
21

22
        "github.com/kubescape/storage/pkg/apis/softwarecomposition"
23
        "k8s.io/apimachinery/pkg/runtime"
24
        "k8s.io/apimachinery/pkg/util/validation/field"
25
)
26

27
// ValidateFlunder validates a Flunder.
28
func ValidateFlunder(f *softwarecomposition.SBOMSPDXv2p3) field.ErrorList {
×
29
        allErrs := field.ErrorList{}
×
30

×
31
        allErrs = append(allErrs, ValidateFlunderSpec(&f.Spec, field.NewPath("spec"))...)
×
32

×
33
        return allErrs
×
34
}
×
35

36
// ValidateFlunderSpec validates a FlunderSpec.
37
func ValidateFlunderSpec(s *softwarecomposition.SBOMSPDXv2p3Spec, fldPath *field.Path) field.ErrorList {
×
38
        allErrs := field.ErrorList{}
×
39

×
40
        return allErrs
×
41
}
×
42

43
func ValidateSBOMSPDXv2p3Filtered(s *softwarecomposition.SBOMSPDXv2p3Filtered) field.ErrorList {
×
44
        allErrs := field.ErrorList{}
×
45

×
46
        allErrs = append(allErrs, ValidateFlunderSpec(&s.Spec, field.NewPath("spec"))...)
×
47

×
48
        return allErrs
×
49
}
×
50

51
func ValidateVulnerabilityManifestSpec(v *softwarecomposition.VulnerabilityManifestSpec, fldPath *field.Path) field.ErrorList {
×
52
        allErrs := field.ErrorList{}
×
53

×
54
        return allErrs
×
55
}
×
56

57
func ValidateVulnerabilityManifest(v *softwarecomposition.VulnerabilityManifest) field.ErrorList {
×
58
        allErrs := field.ErrorList{}
×
59

×
60
        allErrs = append(allErrs, ValidateVulnerabilityManifestSpec(&v.Spec, field.NewPath("spec"))...)
×
61

×
62
        return allErrs
×
63
}
×
64

65
func ValidateSBOMSummarySpec(v *softwarecomposition.SBOMSummarySpec, fldPath *field.Path) field.ErrorList {
×
66
        allErrs := field.ErrorList{}
×
67

×
68
        return allErrs
×
69
}
×
70

71
func ValidateSBOMSummary(v *softwarecomposition.SBOMSummary) field.ErrorList {
×
72
        allErrs := field.ErrorList{}
×
73

×
74
        allErrs = append(allErrs, ValidateSBOMSummarySpec(&v.Spec, field.NewPath("spec"))...)
×
75

×
76
        return allErrs
×
77
}
×
78

79
func ValidateVulnerabilityManifestSummarySpec(v *softwarecomposition.VulnerabilityManifestSummarySpec, fldPath *field.Path) field.ErrorList {
×
80
        allErrs := field.ErrorList{}
×
81

×
82
        return allErrs
×
83
}
×
84

85
func ValidateVulnerabilityManifestSummary(v *softwarecomposition.VulnerabilityManifestSummary) field.ErrorList {
×
86
        allErrs := field.ErrorList{}
×
87

×
88
        allErrs = append(allErrs, ValidateVulnerabilityManifestSummarySpec(&v.Spec, field.NewPath("spec"))...)
×
89

×
90
        return allErrs
×
91
}
×
92

93
func ValidateGeneratedNetworkPolicy(v *softwarecomposition.GeneratedNetworkPolicy) field.ErrorList {
×
94
        return AlwaysValid(v)
×
95
}
×
96

97
func ValidateNetworkNeighbors(v *softwarecomposition.NetworkNeighbors) field.ErrorList {
4✔
98
        allErrs := field.ErrorList{}
4✔
99

4✔
100
        allErrs = append(allErrs, ValidateNetworkNeighborsSpec(&v.Spec, field.NewPath("spec"))...)
4✔
101

4✔
102
        return allErrs
4✔
103
}
4✔
104

105
func ValidateNetworkNeighborsSpec(nns *softwarecomposition.NetworkNeighborsSpec, fldPath *field.Path) field.ErrorList {
4✔
106
        allErrs := field.ErrorList{}
4✔
107

4✔
108
        for i, ingress := range nns.Ingress {
8✔
109
                allErrs = append(allErrs, ValidateNetworkNeighbor(&ingress, fldPath.Child("ingress").Index(i))...)
4✔
110
        }
4✔
111

112
        for i, egress := range nns.Egress {
4✔
113
                allErrs = append(allErrs, ValidateNetworkNeighbor(&egress, fldPath.Child("egress").Index(i))...)
×
114
        }
×
115

116
        return allErrs
4✔
117

118
}
119

120
func ValidateNetworkNeighbor(nns *softwarecomposition.NetworkNeighbor, fldPath *field.Path) field.ErrorList {
4✔
121
        allErrs := field.ErrorList{}
4✔
122
        for i, networkPort := range nns.Ports {
8✔
123
                allErrs = append(allErrs, ValidateNetworkNeighborsPort(&networkPort, fldPath.Child("ports").Index(i))...)
4✔
124
        }
4✔
125
        return allErrs
4✔
126
}
127

128
func ValidateNetworkNeighborsPort(p *softwarecomposition.NetworkPort, fldPath *field.Path) field.ErrorList {
4✔
129
        allErrs := field.ErrorList{}
4✔
130

4✔
131
        allErrs = append(allErrs, validatePortNumber(*p.Port, fldPath.Child("port"))...)
4✔
132

4✔
133
        allErrs = append(allErrs, validatePortName(p, fldPath.Child("name"))...)
4✔
134

4✔
135
        return allErrs
4✔
136
}
4✔
137

138
func validatePortNumber(port int32, fldPath *field.Path) field.ErrorList {
4✔
139
        allErrs := field.ErrorList{}
4✔
140
        if port < 0 || port > 65535 {
6✔
141
                allErrs = append(allErrs, field.Invalid(fldPath, port, "port must be in range 0-65535"))
2✔
142
        }
2✔
143
        return allErrs
4✔
144
}
145

146
func validatePortName(p *softwarecomposition.NetworkPort, fldPath *field.Path) field.ErrorList {
4✔
147
        allErrs := field.ErrorList{}
4✔
148

4✔
149
        expectedPortName := fmt.Sprintf("%s-%d", p.Protocol, *p.Port)
4✔
150
        if p.Name != expectedPortName {
6✔
151
                allErrs = append(allErrs, field.Invalid(fldPath, p.Name, "port name must be in the format {protocol}-{port}"))
2✔
152
        }
2✔
153

154
        return allErrs
4✔
155
}
156

157
func AlwaysValid(o runtime.Object) field.ErrorList {
×
158
        return field.ErrorList{}
×
159
}
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc