Merge branch 'main' into Baliedge/PIP-2552-consistent-ordering

This commit is contained in:
Tristan Cartledge
2023-11-27 12:06:39 +00:00
219 changed files with 20934 additions and 4697 deletions

View File

@@ -11,6 +11,7 @@ import (
"testing"
"github.com/pb33f/libopenapi/datamodel"
"github.com/pb33f/libopenapi/orderedmap"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
@@ -178,15 +179,15 @@ func TestTranslateMapParallel(t *testing.T) {
t.Run("Happy path", func(t *testing.T) {
var expectedResults []string
m := make(map[string]int)
m := orderedmap.New[string, int]()
for i := 0; i < mapSize; i++ {
m[fmt.Sprintf("key%d", i)] = i + 1000
m.Set(fmt.Sprintf("key%d", i), i+1000)
expectedResults = append(expectedResults, fmt.Sprintf("foobar %d", i+1000))
}
var translateCounter int64
translateFunc := func(_ string, value int) (string, error) {
result := fmt.Sprintf("foobar %d", value)
translateFunc := func(pair orderedmap.Pair[string, int]) (string, error) {
result := fmt.Sprintf("foobar %d", pair.Value())
atomic.AddInt64(&translateCounter, 1)
return result, nil
}
@@ -204,9 +205,9 @@ func TestTranslateMapParallel(t *testing.T) {
})
t.Run("nil", func(t *testing.T) {
var m map[string]int
var m orderedmap.Map[string, int]
var translateCounter int64
translateFunc := func(_ string, value int) (string, error) {
translateFunc := func(pair orderedmap.Pair[string, int]) (string, error) {
atomic.AddInt64(&translateCounter, 1)
return "", nil
}
@@ -222,13 +223,13 @@ func TestTranslateMapParallel(t *testing.T) {
})
t.Run("Error in translate", func(t *testing.T) {
m := make(map[string]int)
m := orderedmap.New[string, int]()
for i := 0; i < mapSize; i++ {
m[fmt.Sprintf("key%d", i)] = i + 1000
m.Set(fmt.Sprintf("key%d", i), i+1000)
}
var translateCounter int64
translateFunc := func(_ string, _ int) (string, error) {
translateFunc := func(_ orderedmap.Pair[string, int]) (string, error) {
atomic.AddInt64(&translateCounter, 1)
return "", errors.New("Foobar")
}
@@ -241,12 +242,12 @@ func TestTranslateMapParallel(t *testing.T) {
})
t.Run("Error in result", func(t *testing.T) {
m := make(map[string]int)
m := orderedmap.New[string, int]()
for i := 0; i < mapSize; i++ {
m[fmt.Sprintf("key%d", i)] = i + 1000
m.Set(fmt.Sprintf("key%d", i), i+1000)
}
translateFunc := func(_ string, value int) (string, error) {
translateFunc := func(_ orderedmap.Pair[string, int]) (string, error) {
return "", nil
}
var resultCounter int
@@ -260,13 +261,13 @@ func TestTranslateMapParallel(t *testing.T) {
})
t.Run("EOF in translate", func(t *testing.T) {
m := make(map[string]int)
m := orderedmap.New[string, int]()
for i := 0; i < mapSize; i++ {
m[fmt.Sprintf("key%d", i)] = i + 1000
m.Set(fmt.Sprintf("key%d", i), i+1000)
}
var translateCounter int64
translateFunc := func(_ string, _ int) (string, error) {
translateFunc := func(_ orderedmap.Pair[string, int]) (string, error) {
atomic.AddInt64(&translateCounter, 1)
return "", io.EOF
}
@@ -279,12 +280,12 @@ func TestTranslateMapParallel(t *testing.T) {
})
t.Run("EOF in result", func(t *testing.T) {
m := make(map[string]int)
m := orderedmap.New[string, int]()
for i := 0; i < mapSize; i++ {
m[fmt.Sprintf("key%d", i)] = i + 1000
m.Set(fmt.Sprintf("key%d", i), i+1000)
}
translateFunc := func(_ string, value int) (string, error) {
translateFunc := func(_ orderedmap.Pair[string, int]) (string, error) {
return "", nil
}
var resultCounter int
@@ -298,13 +299,13 @@ func TestTranslateMapParallel(t *testing.T) {
})
t.Run("Continue in translate", func(t *testing.T) {
m := make(map[string]int)
m := orderedmap.New[string, int]()
for i := 0; i < mapSize; i++ {
m[fmt.Sprintf("key%d", i)] = i + 1000
m.Set(fmt.Sprintf("key%d", i), i+1000)
}
var translateCounter int64
translateFunc := func(_ string, _ int) (string, error) {
translateFunc := func(_ orderedmap.Pair[string, int]) (string, error) {
atomic.AddInt64(&translateCounter, 1)
return "", datamodel.Continue
}
@@ -331,7 +332,6 @@ func TestTranslatePipeline(t *testing.T) {
for _, testCase := range testCases {
itemCount := testCase.ItemCount
t.Run(fmt.Sprintf("Size %d", itemCount), func(t *testing.T) {
t.Run("Happy path", func(t *testing.T) {
var inputErr error
in := make(chan int)