aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/aws/smithy-go/middleware/stack_values_test.go
diff options
context:
space:
mode:
authorvitalyisaev <vitalyisaev@ydb.tech>2023-12-12 21:55:07 +0300
committervitalyisaev <vitalyisaev@ydb.tech>2023-12-12 22:25:10 +0300
commit4967f99474a4040ba150eb04995de06342252718 (patch)
treec9c118836513a8fab6e9fcfb25be5d404338bca7 /vendor/github.com/aws/smithy-go/middleware/stack_values_test.go
parent2ce9cccb9b0bdd4cd7a3491dc5cbf8687cda51de (diff)
downloadydb-4967f99474a4040ba150eb04995de06342252718.tar.gz
YQ Connector: prepare code base for S3 integration
1. Кодовая база Коннектора переписана с помощью Go дженериков так, чтобы добавление нового источника данных (в частности S3 + csv) максимально переиспользовало имеющийся код (чтобы сохранялась логика нарезания на блоки данных, учёт трафика и пр.) 2. API Connector расширено для работы с S3, но ещё пока не протестировано.
Diffstat (limited to 'vendor/github.com/aws/smithy-go/middleware/stack_values_test.go')
-rw-r--r--vendor/github.com/aws/smithy-go/middleware/stack_values_test.go40
1 files changed, 40 insertions, 0 deletions
diff --git a/vendor/github.com/aws/smithy-go/middleware/stack_values_test.go b/vendor/github.com/aws/smithy-go/middleware/stack_values_test.go
new file mode 100644
index 0000000000..81b7a66289
--- /dev/null
+++ b/vendor/github.com/aws/smithy-go/middleware/stack_values_test.go
@@ -0,0 +1,40 @@
+package middleware
+
+import (
+ "context"
+ "testing"
+)
+
+func TestStackValues(t *testing.T) {
+ ctx := context.Background()
+
+ // Ensure empty stack values don't return something
+ if v := GetStackValue(ctx, "some key"); v != nil {
+ t.Fatalf("expect not-existing key to be nil, got %T, %v", v, v)
+ }
+
+ // Add a stack values, ensure not polluting previous context.
+ ctx2 := WithStackValue(ctx, "some key", "foo")
+ ctx2 = WithStackValue(ctx2, "some other key", "bar")
+ if v := GetStackValue(ctx, "some key"); v != nil {
+ t.Fatalf("expect not-existing key to be nil, got %T, %v", v, v)
+ }
+ if v, ok := GetStackValue(ctx2, "some key").(string); !ok || v != "foo" {
+ t.Fatalf("expect key to be present")
+ }
+ if v, ok := GetStackValue(ctx2, "some other key").(string); !ok || v != "bar" {
+ t.Fatalf("expect key to be present")
+ }
+
+ // Clear the stack values ensure new context doesn't have any stack values.
+ ctx3 := ClearStackValues(ctx2)
+ if v, ok := GetStackValue(ctx2, "some key").(string); !ok || v != "foo" {
+ t.Fatalf("expect key to be present")
+ }
+ if v := GetStackValue(ctx3, "some key"); v != nil {
+ t.Fatalf("expect not-existing key to be nil, got %T, %v", v, v)
+ }
+ if v := GetStackValue(ctx3, "some other key"); v != nil {
+ t.Fatalf("expect not-existing key to be nil, got %T, %v", v, v)
+ }
+}