Skip to content

Commit 011438a

Browse files
committed
Ignore deprecation warnings from in_toto lib
Ref: https://issues.redhat.com/browse/EC-1648 Dealing with these deprecations requires a major refactoring, which doesn't fit in this PR. For this reason, let's ignore all of the warnings for now, and deal with them in a later moment.
1 parent c992e7d commit 011438a

File tree

13 files changed

+139
-6
lines changed

13 files changed

+139
-6
lines changed

internal/applicationsnapshot/attestation.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,17 @@ func (r *Report) renderAttestations() ([]byte, error) {
6464
return bytes.Join(byts, []byte{'\n'}), nil
6565
}
6666

67+
//nolint:staticcheck
6768
func (r *Report) attestations() ([]in_toto.Statement, error) {
69+
//nolint:staticcheck
6870
var statements []in_toto.Statement
6971
for _, c := range r.Components {
7072
for _, a := range c.Attestations {
73+
//nolint:staticcheck
7174
var statement in_toto.Statement
7275
err := json.Unmarshal(a.Statement, &statement)
7376
if err != nil {
77+
//nolint:staticcheck
7478
return []in_toto.Statement{}, nil
7579
}
7680
statements = append(statements, statement)

internal/applicationsnapshot/attestation_test.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,11 +126,14 @@ func TestAttestationReport(t *testing.T) {
126126
}
127127

128128
func TestAttestations(t *testing.T) {
129+
//nolint:staticcheck
129130
statement := in_toto.Statement{
131+
//nolint:staticcheck
130132
StatementHeader: in_toto.StatementHeader{
131133
Type: "my-type",
132134
PredicateType: "my-predicate-type",
133-
Subject: []in_toto.Subject{},
135+
//nolint:staticcheck
136+
Subject: []in_toto.Subject{},
134137
},
135138
}
136139
data, err := json.Marshal(statement)
@@ -155,6 +158,7 @@ func TestAttestations(t *testing.T) {
155158
report := Report{Components: components}
156159
att, err := report.attestations()
157160
assert.NoError(t, err)
161+
//nolint:staticcheck
158162
assert.Equal(t, []in_toto.Statement{statement}, att)
159163
}
160164

@@ -164,7 +168,9 @@ func att(data string) AttestationResult {
164168
}
165169
}
166170

171+
//nolint:staticcheck
167172
type provenance struct {
173+
//nolint:staticcheck
168174
statement in_toto.Statement
169175
data []byte
170176
signatures []signature.EntitySignature
@@ -186,6 +192,7 @@ func (p provenance) Statement() []byte {
186192
return p.data
187193
}
188194

195+
//nolint:staticcheck
189196
func (p provenance) Subject() []in_toto.Subject {
190197
return p.statement.Subject
191198
}
@@ -204,6 +211,7 @@ func (s slsaProvenance) Statement() []byte {
204211
return s.data
205212
}
206213

214+
//nolint:staticcheck
207215
func (s slsaProvenance) Subject() []in_toto.Subject {
208216
return s.statement.Subject
209217
}
@@ -222,7 +230,9 @@ func (s slsaProvenance) PredicateBuildType() string {
222230
}
223231

224232
func TestNewAttestationResultWithProvenanceOnly(t *testing.T) {
233+
//nolint:staticcheck
225234
p := provenance{
235+
//nolint:staticcheck
226236
statement: in_toto.Statement{},
227237
data: []byte("some data"),
228238
signatures: []signature.EntitySignature{{KeyID: "key1"}},

internal/attestation/attestation.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ type Attestation interface {
3838
PredicateType() string
3939
Statement() []byte
4040
Signatures() []signature.EntitySignature
41+
//nolint:staticcheck
4142
Subject() []in_toto.Subject
4243
}
4344

@@ -128,6 +129,7 @@ func ProvenanceFromSignature(sig oci.Signature) (Attestation, error) {
128129
return nil, err
129130
}
130131

132+
//nolint:staticcheck
131133
var statement in_toto.Statement
132134
if err := json.Unmarshal(embedded, &statement); err != nil {
133135
return nil, fmt.Errorf("malformed attestation data: %w", err)
@@ -142,6 +144,7 @@ func ProvenanceFromSignature(sig oci.Signature) (Attestation, error) {
142144
}
143145

144146
type provenance struct {
147+
//nolint:staticcheck
145148
statement in_toto.Statement
146149
data []byte
147150
signatures []signature.EntitySignature
@@ -163,6 +166,7 @@ func (p provenance) Signatures() []signature.EntitySignature {
163166
return p.signatures
164167
}
165168

169+
//nolint:staticcheck
166170
func (p provenance) Subject() []in_toto.Subject {
167171
return p.statement.Subject
168172
}

internal/attestation/attestation_test.go

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -221,12 +221,14 @@ func TestProvenance_Signatures(t *testing.T) {
221221
}
222222

223223
func TestProvenance_Subject(t *testing.T) {
224+
//nolint:staticcheck
224225
mockSubject1 := in_toto.Subject{
225226
Name: "subject1",
226227
Digest: map[string]string{
227228
"sha256": "digest1",
228229
},
229230
}
231+
//nolint:staticcheck
230232
mockSubject2 := in_toto.Subject{
231233
Name: "subject2",
232234
Digest: map[string]string{
@@ -235,35 +237,46 @@ func TestProvenance_Subject(t *testing.T) {
235237
}
236238

237239
tests := []struct {
238-
name string
240+
name string
241+
//nolint:staticcheck
239242
statement in_toto.Statement
240-
expected []in_toto.Subject
243+
//nolint:staticcheck
244+
expected []in_toto.Subject
241245
}{
242246
{
243247
name: "returns single subject",
248+
//nolint:staticcheck
244249
statement: in_toto.Statement{
250+
//nolint:staticcheck
245251
StatementHeader: in_toto.StatementHeader{
246252
Subject: []in_toto.Subject{mockSubject1},
247253
},
248254
},
255+
//nolint:staticcheck
249256
expected: []in_toto.Subject{mockSubject1},
250257
},
251258
{
252259
name: "returns multiple subjects",
260+
//nolint:staticcheck
253261
statement: in_toto.Statement{
262+
//nolint:staticcheck
254263
StatementHeader: in_toto.StatementHeader{
255264
Subject: []in_toto.Subject{mockSubject1, mockSubject2},
256265
},
257266
},
267+
//nolint:staticcheck
258268
expected: []in_toto.Subject{mockSubject1, mockSubject2},
259269
},
260270
{
261271
name: "returns empty slice when no subjects",
272+
//nolint:staticcheck
262273
statement: in_toto.Statement{
274+
//nolint:staticcheck
263275
StatementHeader: in_toto.StatementHeader{
264276
Subject: []in_toto.Subject{},
265277
},
266278
},
279+
//nolint:staticcheck
267280
expected: []in_toto.Subject{},
268281
},
269282
}

internal/attestation/slsa_provenance_02.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ func (a slsaProvenance) Signatures() []signature.EntitySignature {
103103
return a.signatures
104104
}
105105

106+
//nolint:staticcheck
106107
func (a slsaProvenance) Subject() []in_toto.Subject {
107108
return a.statement.Subject
108109
}

internal/attestation/slsa_provenance_02_test.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -377,12 +377,14 @@ func buffy(data string) io.ReadCloser {
377377
}
378378

379379
func TestSLSAProvenance_Subject(t *testing.T) {
380+
//nolint:staticcheck
380381
mockSubject1 := in_toto.Subject{
381382
Name: "registry.io/example/image@sha256:abc123",
382383
Digest: map[string]string{
383384
"sha256": "abc123def456",
384385
},
385386
}
387+
//nolint:staticcheck
386388
mockSubject2 := in_toto.Subject{
387389
Name: "registry.io/example/artifact@sha256:def456",
388390
Digest: map[string]string{
@@ -394,34 +396,41 @@ func TestSLSAProvenance_Subject(t *testing.T) {
394396
tests := []struct {
395397
name string
396398
statement in_toto.ProvenanceStatementSLSA02
399+
//nolint:staticcheck
397400
expected []in_toto.Subject
398401
wantPanic bool
399402
}{
400403
{
401404
name: "returns single subject successfully",
402405
statement: in_toto.ProvenanceStatementSLSA02{
406+
//nolint:staticcheck
403407
StatementHeader: in_toto.StatementHeader{
404408
Subject: []in_toto.Subject{mockSubject1},
405409
},
406410
},
411+
//nolint:staticcheck
407412
expected: []in_toto.Subject{mockSubject1},
408413
},
409414
{
410415
name: "returns multiple subjects successfully",
411416
statement: in_toto.ProvenanceStatementSLSA02{
417+
//nolint:staticcheck
412418
StatementHeader: in_toto.StatementHeader{
413419
Subject: []in_toto.Subject{mockSubject1, mockSubject2},
414420
},
415421
},
422+
//nolint:staticcheck
416423
expected: []in_toto.Subject{mockSubject1, mockSubject2},
417424
},
418425
{
419426
name: "returns empty slice when no subjects",
427+
//nolint:staticcheck
420428
statement: in_toto.ProvenanceStatementSLSA02{
421429
StatementHeader: in_toto.StatementHeader{
422430
Subject: []in_toto.Subject{},
423431
},
424432
},
433+
//nolint:staticcheck
425434
expected: []in_toto.Subject{},
426435
},
427436
}

internal/attestation/slsa_provenance_v1.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ func SLSAProvenanceFromSignatureV1(sig oci.Signature) (Attestation, error) {
4747
return nil, err
4848
}
4949

50+
//nolint:staticcheck
5051
var statement in_toto.ProvenanceStatementSLSA1
5152
if err := json.Unmarshal(embedded, &statement); err != nil {
5253
return nil, fmt.Errorf("malformed attestation data: %w", err)
@@ -77,6 +78,7 @@ func SLSAProvenanceFromSignatureV1(sig oci.Signature) (Attestation, error) {
7778
return slsaProvenanceV1{statement: statement, data: embedded, signatures: signatures}, nil
7879
}
7980

81+
//nolint:staticcheck
8082
type slsaProvenanceV1 struct {
8183
statement in_toto.ProvenanceStatementSLSA1
8284
data []byte
@@ -104,6 +106,7 @@ func (a slsaProvenanceV1) Signatures() []signature.EntitySignature {
104106
return a.signatures
105107
}
106108

109+
//nolint:staticcheck
107110
func (a slsaProvenanceV1) Subject() []in_toto.Subject {
108111
return a.statement.Subject
109112
}

internal/attestation/slsa_provenance_v1_test.go

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -335,12 +335,14 @@ func TestSLSAProvenanceFromSignatureV1(t *testing.T) {
335335
}
336336

337337
func TestSLSAProvenanceV1_Subject(t *testing.T) {
338+
//nolint:staticcheck
338339
mockSubject1 := in_toto.Subject{
339340
Name: "registry.io/example/image@sha256:abc123",
340341
Digest: map[string]string{
341342
"sha256": "abc123def456",
342343
},
343344
}
345+
//nolint:staticcheck
344346
mockSubject2 := in_toto.Subject{
345347
Name: "registry.io/example/artifact@sha256:def456",
346348
Digest: map[string]string{
@@ -350,36 +352,50 @@ func TestSLSAProvenanceV1_Subject(t *testing.T) {
350352
}
351353

352354
tests := []struct {
353-
name string
355+
name string
356+
//nolint:staticcheck
354357
statement in_toto.ProvenanceStatementSLSA1
358+
//nolint:staticcheck
355359
expected []in_toto.Subject
356360
wantPanic bool
357361
}{
358362
{
359363
name: "returns single subject successfully",
364+
//nolint:staticcheck
360365
statement: in_toto.ProvenanceStatementSLSA1{
366+
//nolint:staticcheck
361367
StatementHeader: in_toto.StatementHeader{
368+
//nolint:staticcheck
362369
Subject: []in_toto.Subject{mockSubject1},
363370
},
364371
},
372+
//nolint:staticcheck
365373
expected: []in_toto.Subject{mockSubject1},
366374
},
367375
{
368376
name: "returns multiple subjects successfully",
377+
//nolint:staticcheck
369378
statement: in_toto.ProvenanceStatementSLSA1{
379+
//nolint:staticcheck
370380
StatementHeader: in_toto.StatementHeader{
381+
//nolint:staticcheck
371382
Subject: []in_toto.Subject{mockSubject1, mockSubject2},
372383
},
373384
},
385+
//nolint:staticcheck
374386
expected: []in_toto.Subject{mockSubject1, mockSubject2},
375387
},
376388
{
377389
name: "returns empty slice when no subjects",
390+
//nolint:staticcheck
378391
statement: in_toto.ProvenanceStatementSLSA1{
392+
//nolint:staticcheck
379393
StatementHeader: in_toto.StatementHeader{
394+
//nolint:staticcheck
380395
Subject: []in_toto.Subject{},
381396
},
382397
},
398+
//nolint:staticcheck
383399
expected: []in_toto.Subject{},
384400
},
385401
}
@@ -410,8 +426,11 @@ func TestSLSAProvenanceV1_Subject(t *testing.T) {
410426
}
411427

412428
func TestSLSAProvenanceV1_Type(t *testing.T) {
429+
//nolint:staticcheck
413430
slsa := slsaProvenanceV1{
431+
//nolint:staticcheck
414432
statement: in_toto.ProvenanceStatementSLSA1{
433+
//nolint:staticcheck
415434
StatementHeader: in_toto.StatementHeader{
416435
Type: in_toto.StatementInTotoV01,
417436
PredicateType: PredicateSLSAProvenanceV1,
@@ -424,8 +443,11 @@ func TestSLSAProvenanceV1_Type(t *testing.T) {
424443
}
425444

426445
func TestSLSAProvenanceV1_PredicateType(t *testing.T) {
446+
//nolint:staticcheck
427447
slsa := slsaProvenanceV1{
448+
//nolint:staticcheck
428449
statement: in_toto.ProvenanceStatementSLSA1{
450+
//nolint:staticcheck
429451
StatementHeader: in_toto.StatementHeader{
430452
Type: in_toto.StatementInTotoV01,
431453
PredicateType: PredicateSLSAProvenanceV1,
@@ -454,18 +476,25 @@ func TestSLSAProvenanceV1_PredicateBuildType(t *testing.T) {
454476

455477
for _, tt := range tests {
456478
t.Run(tt.name, func(t *testing.T) {
479+
//nolint:staticcheck
457480
slsa := slsaProvenanceV1{
481+
//nolint:staticcheck
458482
statement: in_toto.ProvenanceStatementSLSA1{
483+
//nolint:staticcheck
459484
StatementHeader: in_toto.StatementHeader{
460485
Type: in_toto.StatementInTotoV01,
461486
PredicateType: PredicateSLSAProvenanceV1,
462487
},
488+
//nolint:staticcheck
463489
Predicate: v1.ProvenancePredicate{
490+
//nolint:staticcheck
464491
BuildDefinition: v1.ProvenanceBuildDefinition{
465492
BuildType: tt.buildType,
466493
ExternalParameters: map[string]interface{}{},
467494
},
495+
//nolint:staticcheck
468496
RunDetails: v1.ProvenanceRunDetails{
497+
//nolint:staticcheck
469498
Builder: v1.Builder{
470499
ID: "https://my.builder",
471500
},

0 commit comments

Comments
 (0)