...

Source file src/github.com/datawire/ambassador/v2/cmd/entrypoint/internal/testqueue/queue_test.go

Documentation: github.com/datawire/ambassador/v2/cmd/entrypoint/internal/testqueue

     1  package testqueue_test
     2  
     3  import (
     4  	"testing"
     5  	"time"
     6  
     7  	"github.com/datawire/ambassador/v2/cmd/entrypoint/internal/testqueue"
     8  	"github.com/stretchr/testify/require"
     9  )
    10  
    11  func TestFakeQueueGet(t *testing.T) {
    12  	q := testqueue.NewQueue(t, 10*time.Second)
    13  
    14  	go func() {
    15  		for count := 0; count < 10; count++ {
    16  			q.Add(t, count)
    17  		}
    18  	}()
    19  
    20  	for count := 0; count < 10; count++ {
    21  		obj, err := q.Get(t, func(obj interface{}) bool {
    22  			return true
    23  		})
    24  		require.NoError(t, err)
    25  		require.Equal(t, count, obj)
    26  	}
    27  }
    28  
    29  func TestFakeQueueSkip(t *testing.T) {
    30  	q := testqueue.NewQueue(t, 10*time.Second)
    31  
    32  	go func() {
    33  		for count := 0; count < 10; count++ {
    34  			q.Add(t, count)
    35  		}
    36  	}()
    37  
    38  	for count := 0; count < 10; count += 2 {
    39  		obj, err := q.Get(t, func(obj interface{}) bool {
    40  			i := obj.(int)
    41  			return (i % 2) == 0
    42  		})
    43  		require.NoError(t, err)
    44  		require.Equal(t, count, obj)
    45  	}
    46  }
    47  

View as plain text