mirror of
https://github.com/pomerium/pomerium.git
synced 2025-04-29 02:16:28 +02:00
* wip * storage: add filtering to SyncLatest * don't increment the record version, so intermediate changes are requested * databroker: add support for query filtering * fill server and record version * postgres: databroker storage backend * wip * serialize puts * add test * skip tests for macos * add test * return error from protojson * set data * exclude postgres from cover tests
34 lines
842 B
Go
34 lines
842 B
Go
package contextutil
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestMerge(t *testing.T) {
|
|
t.Run("value", func(t *testing.T) {
|
|
ctx1 := context.WithValue(context.Background(), "key1", "value1") //nolint
|
|
ctx2 := context.WithValue(context.Background(), "key2", "value2") //nolint
|
|
ctx3, _ := Merge(ctx1, ctx2)
|
|
assert.Equal(t, "value1", ctx3.Value("key1"))
|
|
assert.Equal(t, "value2", ctx3.Value("key2"))
|
|
})
|
|
t.Run("cancel", func(t *testing.T) {
|
|
ctx1, cancel1 := context.WithCancel(context.Background())
|
|
defer cancel1()
|
|
ctx2, cancel2 := context.WithCancel(context.Background())
|
|
ctx3, _ := Merge(ctx1, ctx2)
|
|
cancel2()
|
|
assert.Eventually(t, func() bool {
|
|
select {
|
|
case <-ctx3.Done():
|
|
return true
|
|
default:
|
|
return false
|
|
}
|
|
}, time.Second, time.Millisecond*100)
|
|
})
|
|
}
|