github.com/kyma-incubator/compass/components/director@v0.0.0-20230623144113-d764f56ff805/pkg/consumer/context_test.go (about) 1 package consumer_test 2 3 import ( 4 "context" 5 "testing" 6 7 "github.com/kyma-incubator/compass/components/director/pkg/consumer" 8 9 "github.com/stretchr/testify/assert" 10 "github.com/stretchr/testify/require" 11 ) 12 13 func TestConsumerContext(t *testing.T) { 14 t.Run("load returns consumer previously saved in context", func(t *testing.T) { 15 // GIVEN 16 id := "223da628-3756-4bef-ab48-fb0061a4eae4" 17 givenConsumer := consumer.Consumer{ConsumerID: id, ConsumerType: consumer.Runtime} 18 ctx := consumer.SaveToContext(context.TODO(), givenConsumer) 19 20 // WHEN 21 actual, err := consumer.LoadFromContext(ctx) 22 23 // THEN 24 require.NoError(t, err) 25 assert.Equal(t, givenConsumer, actual) 26 }) 27 t.Run("load returns error if consumer not found in ctx", func(t *testing.T) { 28 // WHEN 29 _, err := consumer.LoadFromContext(context.TODO()) 30 // THEN 31 assert.Equal(t, consumer.NoConsumerError, err) 32 }) 33 34 t.Run("cannot override consumer accidentally", func(t *testing.T) { 35 // GIVEN 36 id := "223da628-3756-4bef-ab48-fb0061a4eae4" 37 givenConsumer := consumer.Consumer{ConsumerID: id, ConsumerType: consumer.Runtime} 38 ctx := consumer.SaveToContext(context.TODO(), givenConsumer) 39 ctx = context.WithValue(ctx, 0, "some random value") 40 41 // WHEN 42 actual, err := consumer.LoadFromContext(ctx) 43 44 // THEN 45 require.NoError(t, err) 46 assert.Equal(t, givenConsumer, actual) 47 }) 48 }