Skip to content

Commit 6d94e8e

Browse files
committed
add skippatch unit test
1 parent d8243c5 commit 6d94e8e

File tree

1 file changed

+71
-0
lines changed

1 file changed

+71
-0
lines changed

pkg/registry/bundlegraphloader_test.go

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package registry
22

33
import (
44
"encoding/json"
5+
"github.com/blang/semver"
56
"testing"
67

78
"github.com/stretchr/testify/assert"
@@ -312,3 +313,73 @@ func TestBundleGraphLoader(t *testing.T) {
312313
})
313314
}
314315
}
316+
317+
func TestIsSkipPatchCandidate(t *testing.T) {
318+
tests := []struct{
319+
name string
320+
added string
321+
compare string
322+
expected bool
323+
commutative bool
324+
}{
325+
{
326+
name: "equal versions",
327+
added: "0.0.0",
328+
compare: "0.0.0",
329+
expected: false,
330+
commutative: true,
331+
},
332+
{
333+
name: "do not accept different major/minor version",
334+
added: "0.1.0",
335+
compare: "0.2.0",
336+
expected: false,
337+
commutative: true,
338+
},
339+
{
340+
name: "accept larger patch version",
341+
added: "0.0.1",
342+
compare: "0.0.0",
343+
expected: true,
344+
},
345+
{
346+
name: "accept patch version without pre-release",
347+
added: "0.0.0",
348+
compare: "0.0.0-1",
349+
expected: true,
350+
},
351+
{
352+
name: "accept longer pre-release with same prefix",
353+
added: "0.0.1-1.2",
354+
compare: "0.0.1-1",
355+
expected: true,
356+
},
357+
{
358+
name: "accept numerically larger pre-release",
359+
added: "0.0.1-11",
360+
compare: "0.0.1-2",
361+
expected: true,
362+
},
363+
{
364+
name: "accept lexicographically larger pre-release",
365+
added: "0.0.1-beta.1",
366+
compare: "0.0.1-alpha.1",
367+
expected: true,
368+
},
369+
}
370+
for _, tt := range tests {
371+
t.Run(tt.name, func(t *testing.T) {
372+
added, err := semver.Make(tt.added)
373+
require.NoError(t, err)
374+
compare, err := semver.Make(tt.compare)
375+
require.NoError(t, err)
376+
actual := isSkipPatchCandidate(added, compare)
377+
assert.Equal(t, tt.expected, actual)
378+
379+
if !tt.commutative {
380+
reverse := isSkipPatchCandidate(compare, added)
381+
assert.Equal(t, !tt.expected, reverse)
382+
}
383+
})
384+
}
385+
}

0 commit comments

Comments
 (0)