@voxgig/sdkgen 4.8.1 → 4.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/voxgig-sdkgen +1 -1
- package/dist/action/doctor.d.ts +1 -0
- package/dist/action/doctor.js +50 -2
- package/dist/action/doctor.js.map +1 -1
- package/dist/helpers/naming.js +4 -2
- package/dist/helpers/naming.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/model/sdkgen.aon +21 -0
- package/package.json +2 -2
- package/project/.sdk/model/feature/secrets.aon +120 -18
- package/project/.sdk/model/target/c.aon +10 -0
- package/project/.sdk/model/target/clojure.aon +13 -0
- package/project/.sdk/model/target/cpp.aon +10 -0
- package/project/.sdk/model/target/csharp.aon +9 -0
- package/project/.sdk/model/target/dart.aon +10 -0
- package/project/.sdk/model/target/elixir.aon +9 -0
- package/project/.sdk/model/target/go.aon +13 -0
- package/project/.sdk/model/target/java.aon +9 -0
- package/project/.sdk/model/target/js.aon +7 -0
- package/project/.sdk/model/target/kotlin.aon +9 -0
- package/project/.sdk/model/target/lean.aon +17 -0
- package/project/.sdk/model/target/lua.aon +8 -0
- package/project/.sdk/model/target/ocaml.aon +9 -0
- package/project/.sdk/model/target/perl.aon +8 -0
- package/project/.sdk/model/target/php.aon +8 -0
- package/project/.sdk/model/target/py.aon +13 -0
- package/project/.sdk/model/target/rb.aon +8 -0
- package/project/.sdk/model/target/rust.aon +10 -0
- package/project/.sdk/model/target/scala.aon +21 -2
- package/project/.sdk/model/target/swift.aon +18 -0
- package/project/.sdk/model/target/ts.aon +13 -0
- package/project/.sdk/src/cmp/clojure/Package_clojure.ts +9 -2
- package/project/.sdk/src/cmp/cpp/Gitignore_cpp.ts +3 -0
- package/project/.sdk/src/cmp/dart/Test_dart.ts +2 -0
- package/project/.sdk/src/cmp/elixir/Package_elixir.ts +4 -1
- package/project/.sdk/src/cmp/go/Config_go.ts +59 -2
- package/project/.sdk/src/cmp/go/Main_go.ts +8 -2
- package/project/.sdk/src/cmp/java/Test_java.ts +6 -5
- package/project/.sdk/src/cmp/kotlin/Test_kotlin.ts +6 -5
- package/project/.sdk/src/cmp/lean/Package_lean.ts +23 -0
- package/project/.sdk/src/cmp/lean/ReadmeInstall_lean.ts +1 -0
- package/project/.sdk/src/cmp/lean/ReadmeTopTest_lean.ts +1 -0
- package/project/.sdk/src/cmp/ocaml/Gitignore_ocaml.ts +1 -0
- package/project/.sdk/src/cmp/ocaml/Main_ocaml.ts +7 -3
- package/project/.sdk/src/cmp/py/Config_py.ts +82 -1
- package/project/.sdk/src/cmp/py/Main_py.ts +44 -0
- package/project/.sdk/src/cmp/py/fragment/Main.fragment.py +2 -0
- package/project/.sdk/src/cmp/swift/Main_swift.ts +10 -0
- package/project/.sdk/src/cmp/swift/Package_swift.ts +13 -1
- package/project/.sdk/src/cmp/ts/Config_ts.ts +42 -17
- package/project/.sdk/src/cmp/ts/fragment/Config.data.fragment.ts +13 -1
- package/project/.sdk/src/cmp/ts/fragment/Config.fragment.ts +13 -1
- package/project/.sdk/tm/c/Makefile +38 -3
- package/project/.sdk/tm/c/tests/omni_resolver.h +361 -0
- package/project/.sdk/tm/c/tests/omni_smoke_test.c +237 -0
- package/project/.sdk/tm/c/tests/primary_corpus_test.c +205 -284
- package/project/.sdk/tm/c/tests/struct_corpus_test.c +292 -212
- package/project/.sdk/tm/c/tests/vendor/omni/json.c +811 -0
- package/project/.sdk/tm/c/tests/vendor/omni/omni.h +240 -0
- package/project/.sdk/tm/c/tests/vendor/omni/runner.c +940 -0
- package/project/.sdk/tm/c/tests/vendor/omni/util.c +351 -0
- package/project/.sdk/tm/c/utility/struct/utility.c +7 -2
- package/project/.sdk/tm/clojure/test/sdk/test/omni.clj +401 -0
- package/project/.sdk/tm/clojure/test/sdk/test/omni_smoke.clj +81 -0
- package/project/.sdk/tm/clojure/test/sdk/test/primary.clj +92 -58
- package/project/.sdk/tm/clojure/test/sdk/test/struct_corpus.clj +122 -149
- package/project/.sdk/tm/clojure/test/sdk/test_runner.clj +8 -3
- package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/json.clj +145 -0
- package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/runner.clj +445 -0
- package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/util.clj +145 -0
- package/project/.sdk/tm/cpp/Makefile +5 -1
- package/project/.sdk/tm/cpp/test/omni_resolver.hpp +473 -0
- package/project/.sdk/tm/cpp/test/omni_smoke_test.cpp +209 -0
- package/project/.sdk/tm/cpp/test/primary_utility_test.cpp +243 -184
- package/project/.sdk/tm/cpp/test/runner_support.hpp +68 -181
- package/project/.sdk/tm/cpp/test/struct_corpus_test.cpp +183 -56
- package/project/.sdk/tm/cpp/test/vendor/omni/json.hpp +406 -0
- package/project/.sdk/tm/cpp/test/vendor/omni/omni.hpp +751 -0
- package/project/.sdk/tm/cpp/test/vendor/omni/util.hpp +256 -0
- package/project/.sdk/tm/cpp/utility/pipeline.hpp +7 -1
- package/project/.sdk/tm/csharp/test/OmniResolver.cs +491 -0
- package/project/.sdk/tm/csharp/test/OmniSmokeTest.cs +106 -0
- package/project/.sdk/tm/csharp/test/PrimaryUtilityTest.cs +299 -316
- package/project/.sdk/tm/csharp/test/Runner.cs +104 -269
- package/project/.sdk/tm/csharp/test/StructUtilityTest.cs +535 -724
- package/project/.sdk/tm/csharp/test/vendor/omni/Runner.cs +864 -0
- package/project/.sdk/tm/csharp/test/vendor/omni/Util.cs +347 -0
- package/project/.sdk/tm/csharp/utility/MakeSpec.cs +3 -1
- package/project/.sdk/tm/csharp/utility/PrepareMethod.cs +6 -1
- package/project/.sdk/tm/csharp/utility/struct/Struct.cs +21 -5
- package/project/.sdk/tm/dart/test/omni.dart +520 -0
- package/project/.sdk/tm/dart/test/omni_smoke_test.dart +143 -0
- package/project/.sdk/tm/dart/test/primary_test.dart +86 -28
- package/project/.sdk/tm/dart/test/struct_test.dart +438 -11
- package/project/.sdk/tm/dart/test/vendor/omni/omni.dart +7 -0
- package/project/.sdk/tm/dart/test/vendor/omni/runner.dart +653 -0
- package/project/.sdk/tm/dart/test/vendor/omni/util.dart +232 -0
- package/project/.sdk/tm/elixir/Makefile +11 -3
- package/project/.sdk/tm/elixir/test/omni_smoke_test.exs +117 -0
- package/project/.sdk/tm/elixir/test/primary_utility_test.exs +341 -16
- package/project/.sdk/tm/elixir/test/struct_corpus_test.exs +554 -9
- package/project/.sdk/tm/elixir/test/support/omni.ex +377 -0
- package/project/.sdk/tm/elixir/test/vendor/omni/json.ex +122 -0
- package/project/.sdk/tm/elixir/test/vendor/omni/runner.ex +623 -0
- package/project/.sdk/tm/elixir/test/vendor/omni/util.ex +187 -0
- package/project/.sdk/tm/go/core/context.go +32 -16
- package/project/.sdk/tm/go/feature/secrets/plugin/capability.go +261 -0
- package/project/.sdk/tm/go/feature/secrets/plugin/catalog.go +78 -0
- package/project/.sdk/tm/go/feature/secrets/plugin/config.go +652 -0
- package/project/.sdk/tm/go/feature/secrets/plugin/depend.go +250 -0
- package/project/.sdk/tm/go/feature/secrets/plugin/env.go +194 -0
- package/project/.sdk/tm/go/feature/secrets/plugin/export.go +80 -0
- package/project/.sdk/tm/go/feature/secrets/plugin/graph.go +238 -0
- package/project/.sdk/tm/go/feature/secrets/plugin/host.go +1575 -0
- package/project/.sdk/tm/go/feature/secrets/plugin/order.go +248 -0
- package/project/.sdk/tm/go/feature/secrets/plugin/point.go +184 -0
- package/project/.sdk/tm/go/feature/secrets/plugin/ref.go +123 -0
- package/project/.sdk/tm/go/feature/secrets/plugin/resolve.go +79 -0
- package/project/.sdk/tm/go/feature/secrets/plugin/types.go +296 -0
- package/project/.sdk/tm/go/feature/secrets/plugin/util.go +87 -0
- package/project/.sdk/tm/go/feature/secrets/plugin/version.go +161 -0
- package/project/.sdk/tm/go/feature/secrets/plugins/aws/aws.go +292 -0
- package/project/.sdk/tm/go/feature/secrets/plugins/aws/sigv4.go +201 -0
- package/project/.sdk/tm/go/feature/secrets/plugins/azuresecrets/azuresecrets.go +187 -0
- package/project/.sdk/tm/go/feature/secrets/plugins/boru/boru.go +184 -0
- package/project/.sdk/tm/go/feature/secrets/plugins/doppler/doppler.go +114 -0
- package/project/.sdk/tm/go/feature/secrets/plugins/gcpsecrets/gcpsecrets.go +156 -0
- package/project/.sdk/tm/go/feature/secrets/plugins/hashicorp/hashicorp.go +209 -0
- package/project/.sdk/tm/go/feature/secrets/plugins/httpjson/httpjson.go +241 -0
- package/project/.sdk/tm/go/feature/secrets/plugins/infisical/infisical.go +151 -0
- package/project/.sdk/tm/go/feature/secrets/plugins/onepassword/onepassword.go +152 -0
- package/project/.sdk/tm/go/feature/secrets/plugins/secretspec/secretspec.go +143 -0
- package/project/.sdk/tm/go/feature/secrets/sekreto/addr.go +120 -0
- package/project/.sdk/tm/go/feature/secrets/sekreto/providers.go +439 -0
- package/project/.sdk/tm/go/feature/secrets/sekreto/sekreto.go +685 -0
- package/project/.sdk/tm/go/feature/secrets_feature.go +675 -0
- package/project/.sdk/tm/go/src/feature/secrets/.gitkeep +0 -0
- package/project/.sdk/tm/go/test/feature/secrets/secrets_feature_test.go +799 -0
- package/project/.sdk/tm/go/test/omni/omni.go +897 -0
- package/project/.sdk/tm/go/test/omni/util.go +360 -0
- package/project/.sdk/tm/go/test/omniresolver_test.go +748 -0
- package/project/.sdk/tm/go/test/omnismoke_test.go +112 -0
- package/project/.sdk/tm/go/test/primary_utility_test.go +123 -191
- package/project/.sdk/tm/go/test/struct_utility_test.go +323 -16
- package/project/.sdk/tm/go/test/testsupport_test.go +294 -0
- package/project/.sdk/tm/go/utility/make_options.go +8 -1
- package/project/.sdk/tm/go/utility/prepare_method.go +5 -1
- package/project/.sdk/tm/go/utility/struct/voxgigstruct.go +2 -2
- package/project/.sdk/tm/java/test/OmniResolver.java +355 -0
- package/project/.sdk/tm/java/test/OmniSmokeTest.java +99 -0
- package/project/.sdk/tm/java/test/PrimaryUtilityTest.java +254 -280
- package/project/.sdk/tm/java/test/RunnerSupport.java +9 -194
- package/project/.sdk/tm/java/test/StructCorpusTest.java +119 -42
- package/project/.sdk/tm/java/test/vendor/omni/Json.java +287 -0
- package/project/.sdk/tm/java/test/vendor/omni/Runner.java +851 -0
- package/project/.sdk/tm/java/test/vendor/omni/Util.java +322 -0
- package/project/.sdk/tm/java/utility/MakeSpec.java +3 -1
- package/project/.sdk/tm/java/utility/PrepareMethod.java +5 -5
- package/project/.sdk/tm/java/utility/struct/Struct.java +17 -4
- package/project/.sdk/tm/js/src/utility/StructUtility.js +3 -3
- package/project/.sdk/tm/js/test/omni.js +251 -0
- package/project/.sdk/tm/js/test/omni.test.js +105 -0
- package/project/.sdk/tm/js/test/utility/PrimaryUtility.test.js +6 -2
- package/project/.sdk/tm/js/test/utility/StructUtility.test.js +27 -2
- package/project/.sdk/tm/js/test/vendor/omni/index.js +77 -0
- package/project/.sdk/tm/js/test/vendor/omni/runner.js +613 -0
- package/project/.sdk/tm/js/test/vendor/omni/util.js +212 -0
- package/project/.sdk/tm/kotlin/core/Utility.kt +1 -1
- package/project/.sdk/tm/kotlin/test/OmniResolver.kt +343 -0
- package/project/.sdk/tm/kotlin/test/OmniSmokeTest.kt +100 -0
- package/project/.sdk/tm/kotlin/test/PrimaryUtilityTest.kt +244 -262
- package/project/.sdk/tm/kotlin/test/RunnerSupport.kt +9 -178
- package/project/.sdk/tm/kotlin/test/StructCorpusTest.kt +121 -32
- package/project/.sdk/tm/kotlin/test/vendor/omni/Json.kt +264 -0
- package/project/.sdk/tm/kotlin/test/vendor/omni/Runner.kt +615 -0
- package/project/.sdk/tm/kotlin/test/vendor/omni/Util.kt +139 -0
- package/project/.sdk/tm/kotlin/utility/MakeSpecUrl.kt +6 -3
- package/project/.sdk/tm/kotlin/utility/Prepare.kt +6 -6
- package/project/.sdk/tm/kotlin/utility/struct/Struct.kt +18 -2
- package/project/.sdk/tm/lean/Makefile +12 -5
- package/project/.sdk/tm/lean/src/SdkUtility.lean +14 -1
- package/project/.sdk/tm/lean/test/OmniResolver.lean +358 -0
- package/project/.sdk/tm/lean/test/OmniSmoke.lean +174 -0
- package/project/.sdk/tm/lean/test/StructCorpus.lean +245 -574
- package/project/.sdk/tm/lean/test/TPrimaryUtility.lean +155 -291
- package/project/.sdk/tm/lean/test/vendor/omni/Omni.lean +997 -0
- package/project/.sdk/tm/lua/test/omni.lua +456 -0
- package/project/.sdk/tm/lua/test/omni_smoke_test.lua +103 -0
- package/project/.sdk/tm/lua/test/primary_utility_test.lua +250 -509
- package/project/.sdk/tm/lua/test/struct_utility_test.lua +161 -70
- package/project/.sdk/tm/lua/test/vendor/omni/json.lua +268 -0
- package/project/.sdk/tm/lua/test/vendor/omni/regex.lua +385 -0
- package/project/.sdk/tm/lua/test/vendor/omni/runner.lua +641 -0
- package/project/.sdk/tm/lua/test/vendor/omni/util.lua +282 -0
- package/project/.sdk/tm/lua/utility/prepare_method.lua +5 -1
- package/project/.sdk/tm/lua/utility/struct/regex.lua +663 -0
- package/project/.sdk/tm/lua/utility/struct/struct.lua +660 -420
- package/project/.sdk/tm/ocaml/Makefile +37 -12
- package/project/.sdk/tm/ocaml/test/omni_resolver.ml +284 -0
- package/project/.sdk/tm/ocaml/test/omni_smoke_test.ml +169 -0
- package/project/.sdk/tm/ocaml/test/primary_utility_test.ml +84 -100
- package/project/.sdk/tm/ocaml/test/struct_corpus.ml +225 -201
- package/project/.sdk/tm/ocaml/test/vendor/omni/omni.ml +1157 -0
- package/project/.sdk/tm/perl/lib/Voxgig/Struct.pm +88 -12
- package/project/.sdk/tm/perl/t/omni.pm +647 -0
- package/project/.sdk/tm/perl/t/omni_smoke.t +87 -0
- package/project/.sdk/tm/perl/t/primary_utility.t +189 -487
- package/project/.sdk/tm/perl/t/struct_utility.t +455 -389
- package/project/.sdk/tm/perl/t/vendor/omni/Voxgig/Omni/Runner.pm +649 -0
- package/project/.sdk/tm/perl/t/vendor/omni/Voxgig/Omni/Util.pm +253 -0
- package/project/.sdk/tm/perl/t/vendor/omni/Voxgig/Omni.pm +24 -0
- package/project/.sdk/tm/perl/utility/prepare_method.pm +7 -2
- package/project/.sdk/tm/php/test/Omni.php +691 -0
- package/project/.sdk/tm/php/test/OmniSmokeTest.php +93 -0
- package/project/.sdk/tm/php/test/PrimaryUtilityTest.php +210 -571
- package/project/.sdk/tm/php/test/StructUtilityTest.php +320 -342
- package/project/.sdk/tm/php/test/vendor/omni/Runner.php +644 -0
- package/project/.sdk/tm/php/test/vendor/omni/Util.php +283 -0
- package/project/.sdk/tm/php/utility/MakeSpec.php +10 -3
- package/project/.sdk/tm/php/utility/PrepareBody.php +7 -1
- package/project/.sdk/tm/php/utility/PrepareMethod.php +6 -2
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/__init__.py +36 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/capability.py +141 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/catalog.py +50 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/config.py +333 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/depend.py +198 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/env.py +147 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/export.py +52 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/graph.py +139 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/host.py +1053 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/order.py +171 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/point.py +95 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/ref.py +116 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/resolve.py +59 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/types.py +87 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/version.py +112 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/__init__.py +74 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/addr.py +116 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/aws.py +192 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/azuresecrets.py +120 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/boru.py +140 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/doppler.py +62 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/gcpsecrets.py +101 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/hashicorp.py +152 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/httpjson.py +115 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/infisical.py +92 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/onepassword.py +101 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/secretspec.py +119 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/sigv4.py +125 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/providers.py +211 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/sekreto.py +455 -0
- package/project/.sdk/tm/py/pkg/feature/secrets_feature.py +467 -0
- package/project/.sdk/tm/py/pkg/utility/prepare_method.py +5 -1
- package/project/.sdk/tm/py/pkg/utility/voxgig_struct/__init__.py +0 -2
- package/project/.sdk/tm/py/pkg/utility/voxgig_struct/voxgig_struct.py +780 -529
- package/project/.sdk/tm/py/src/feature/secrets/.gitkeep +0 -0
- package/project/.sdk/tm/py/test/feature/__init__.py +0 -0
- package/project/.sdk/tm/py/test/feature/secrets/__init__.py +0 -0
- package/project/.sdk/tm/py/test/feature/secrets/test_secrets.py +337 -0
- package/project/.sdk/tm/py/test/omni.py +415 -0
- package/project/.sdk/tm/py/test/test_omni_smoke.py +74 -0
- package/project/.sdk/tm/py/test/test_primary_utility.py +144 -668
- package/project/.sdk/tm/py/test/test_struct_utility.py +74 -27
- package/project/.sdk/tm/py/test/voxgig_omni/__init__.py +62 -0
- package/project/.sdk/tm/py/test/voxgig_omni/runner.py +566 -0
- package/project/.sdk/tm/py/test/voxgig_omni/util.py +237 -0
- package/project/.sdk/tm/rb/test/omni.rb +505 -0
- package/project/.sdk/tm/rb/test/omni_smoke_test.rb +72 -0
- package/project/.sdk/tm/rb/test/primary_utility_test.rb +174 -560
- package/project/.sdk/tm/rb/test/struct_utility_test.rb +13 -7
- package/project/.sdk/tm/rb/test/vendor/omni/runner.rb +493 -0
- package/project/.sdk/tm/rb/test/vendor/omni/util.rb +199 -0
- package/project/.sdk/tm/rb/test/vendor/omni/voxgig_omni.rb +15 -0
- package/project/.sdk/tm/rb/utility/prepare_method.rb +5 -1
- package/project/.sdk/tm/rust/tests/common/mod.rs +19 -242
- package/project/.sdk/tm/rust/tests/omni_resolver/mod.rs +888 -0
- package/project/.sdk/tm/rust/tests/omni_smoke_test.rs +286 -0
- package/project/.sdk/tm/rust/tests/primary_utility_test.rs +318 -312
- package/project/.sdk/tm/rust/tests/struct_utility_test.rs +66 -28
- package/project/.sdk/tm/rust/tests/vendor/omni/json.rs +412 -0
- package/project/.sdk/tm/rust/tests/vendor/omni/mod.rs +38 -0
- package/project/.sdk/tm/rust/tests/vendor/omni/regex.rs +392 -0
- package/project/.sdk/tm/rust/tests/vendor/omni/runner.rs +1001 -0
- package/project/.sdk/tm/rust/tests/vendor/omni/util.rs +161 -0
- package/project/.sdk/tm/rust/utility/prepare_method.rs +5 -1
- package/project/.sdk/tm/scala/Makefile +16 -6
- package/project/.sdk/tm/scala/sdktest/OmniResolver.scala +497 -0
- package/project/.sdk/tm/scala/sdktest/OmniSmoke.scala +192 -0
- package/project/.sdk/tm/scala/sdktest/PrimaryCorpus.scala +47 -19
- package/project/.sdk/tm/scala/sdktest/StructCorpus.scala +0 -0
- package/project/.sdk/tm/scala/sdktest/vendor/omni/Json.scala +229 -0
- package/project/.sdk/tm/scala/sdktest/vendor/omni/Runner.scala +552 -0
- package/project/.sdk/tm/scala/sdktest/vendor/omni/Util.scala +104 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/Struct/Constants.swift +10 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/Struct/Inject.swift +28 -5
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/Struct/Injection.swift +5 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/Struct/Minor.swift +4 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/Struct/Validate.swift +15 -5
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/utility/Prepare.swift +6 -1
- package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/OmniResolver.swift +474 -0
- package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/OmniSmokeTest.swift +107 -0
- package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/PrimaryUtilityTest.swift +141 -178
- package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/Runner.swift +17 -113
- package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/StructUtilityTest.swift +295 -446
- package/project/.sdk/tm/swift/Tests/vendor/omni/Json.swift +364 -0
- package/project/.sdk/tm/swift/Tests/vendor/omni/Runner.swift +730 -0
- package/project/.sdk/tm/swift/Tests/vendor/omni/Util.swift +162 -0
- package/project/.sdk/tm/ts/src/feature/secrets/SecretsFeature.ts +7 -0
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Capability.ts +148 -0
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Catalog.ts +55 -0
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Config.ts +344 -0
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Depend.ts +205 -0
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Env.ts +138 -0
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Export.ts +46 -0
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/FeatureHost.ts +349 -0
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Graph.ts +181 -0
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Host.ts +1132 -0
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Order.ts +177 -0
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Point.ts +119 -0
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Ref.ts +102 -0
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Resolve.ts +61 -0
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Types.ts +112 -0
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Version.ts +100 -0
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/index.ts +37 -0
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/Sekreto.ts +163 -30
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/index.ts +27 -22
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/{provider → plugins}/aws.ts +26 -36
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/{provider → plugins}/azuresecrets.ts +19 -21
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/{provider → plugins}/boru.ts +36 -17
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/{provider → plugins}/doppler.ts +14 -21
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/{provider → plugins}/gcpsecrets.ts +27 -27
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/{provider → plugins}/hashicorp.ts +25 -39
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/httpjson.ts +99 -0
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/{provider → plugins}/infisical.ts +14 -16
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/{provider → plugins}/onepassword.ts +15 -22
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/secretspec.ts +98 -0
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/{Sigv4.ts → plugins/sigv4.ts} +7 -6
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/addr.ts +97 -23
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/builtin.ts +37 -0
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/dotenv.ts +4 -17
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/env.ts +4 -16
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/file.ts +11 -25
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/memory.ts +6 -23
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/support.ts +106 -39
- package/project/.sdk/tm/ts/src/utility/StructUtility.ts +3 -3
- package/project/.sdk/tm/ts/test/omni.ts +104 -32
- package/project/.sdk/tm/ts/test/utility/StructUtility.test.ts +27 -0
- package/project/.sdk/tm/ts/test/vendor/omni/Runner.ts +32 -5
- package/project/.sdk/tm/ts/test/vendor/omni/Util.ts +2 -2
- package/project/.sdk/tm/ts/test/vendor/omni/index.ts +2 -2
- package/project/.sdk/tm/zig/test/primary_utility_test.zig +1 -1
- package/project/.sdk/tm/zig/test/struct_runner.zig +5 -4
- package/project/sdkgen-package.json +1 -1
- package/src/action/doctor.ts +66 -2
- package/src/helpers/naming.ts +4 -2
- package/project/.sdk/tm/c/tests/runner.h +0 -274
- package/project/.sdk/tm/cpp/test/struct_runner.hpp +0 -314
- package/project/.sdk/tm/csharp/test/StructRunner.cs +0 -276
- package/project/.sdk/tm/dart/test/runner.dart +0 -406
- package/project/.sdk/tm/dart/test/struct_corpus.dart +0 -531
- package/project/.sdk/tm/elixir/test/support/struct_corpus.ex +0 -1088
- package/project/.sdk/tm/go/test/runner_test.go +0 -629
- package/project/.sdk/tm/go/test/struct_runner_test.go +0 -1094
- package/project/.sdk/tm/java/test/StructRunner.java +0 -281
- package/project/.sdk/tm/js/test/runner.js +0 -387
- package/project/.sdk/tm/kotlin/test/StructRunner.kt +0 -177
- package/project/.sdk/tm/lua/test/struct_runner.lua +0 -602
- package/project/.sdk/tm/ocaml/test/corpus_runner.ml +0 -185
- package/project/.sdk/tm/perl/t/struct_runner.pm +0 -275
- package/project/.sdk/tm/php/test/StructRunner.php +0 -275
- package/project/.sdk/tm/py/test/struct_runner.py +0 -411
- package/project/.sdk/tm/rb/test/struct_runner.rb +0 -309
- package/project/.sdk/tm/rust/tests/struct_runner/mod.rs +0 -424
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/Registry.ts +0 -90
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/http.ts +0 -66
- package/project/.sdk/tm/ts/test/vendor/omni/compat.ts +0 -188
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
// Smoke tests for the vendored omni runner itself: a runner that cannot
|
|
2
|
+
// FAIL a bad entry would turn every corpus suite vacuously green, so pin
|
|
3
|
+
// the failure paths, not just the happy one. (The go peer of
|
|
4
|
+
// tm/ts/test/omni.test.ts.)
|
|
5
|
+
|
|
6
|
+
package sdktest
|
|
7
|
+
|
|
8
|
+
import (
|
|
9
|
+
"errors"
|
|
10
|
+
"fmt"
|
|
11
|
+
"strings"
|
|
12
|
+
"testing"
|
|
13
|
+
|
|
14
|
+
sdk "GOMODULE"
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
// omniRecorder captures RunSet failures, so a test can assert that a
|
|
18
|
+
// failure HAPPENED without itself failing - RunSet reports through
|
|
19
|
+
// TestingT rather than returning an error.
|
|
20
|
+
type omniRecorder struct {
|
|
21
|
+
failures []string
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
func (rec *omniRecorder) Helper() {}
|
|
25
|
+
|
|
26
|
+
func (rec *omniRecorder) Error(args ...any) {
|
|
27
|
+
rec.failures = append(rec.failures, fmt.Sprint(args...))
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// A minimal in-memory spec: no fixture file, no OMNI block (lenient v0,
|
|
31
|
+
// like the shared corpus).
|
|
32
|
+
func omniSmokeSpec() map[string]any {
|
|
33
|
+
return map[string]any{
|
|
34
|
+
"primary": map[string]any{
|
|
35
|
+
"smoke": map[string]any{
|
|
36
|
+
"basic": map[string]any{
|
|
37
|
+
"set": []any{
|
|
38
|
+
map[string]any{"in": 1, "out": 2},
|
|
39
|
+
map[string]any{"in": 41, "out": 42},
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
"bad": map[string]any{
|
|
43
|
+
"set": []any{
|
|
44
|
+
map[string]any{"in": 1, "out": 999},
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
"err": map[string]any{
|
|
48
|
+
"set": []any{
|
|
49
|
+
map[string]any{"in": 0, "err": "zero refused"},
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
func omniSmokeInc(n int) (any, error) {
|
|
58
|
+
if 0 == n {
|
|
59
|
+
return nil, errors.New("smoke: zero refused")
|
|
60
|
+
}
|
|
61
|
+
return n + 1, nil
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
func omniSmokeRun(t *testing.T) *RunPack {
|
|
65
|
+
t.Helper()
|
|
66
|
+
runner := MakeRunner(omniSmokeSpec(), sdk.TestSDK(nil, nil))
|
|
67
|
+
run, err := runner("smoke", nil)
|
|
68
|
+
if err != nil {
|
|
69
|
+
t.Fatalf("smoke runner failed to resolve: %v", err)
|
|
70
|
+
}
|
|
71
|
+
return run
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
func TestOmniRunner(t *testing.T) {
|
|
75
|
+
|
|
76
|
+
t.Run("runset passes a correct subject", func(t *testing.T) {
|
|
77
|
+
run := omniSmokeRun(t)
|
|
78
|
+
run.RunSet(t, run.Spec["basic"], omniSmokeInc)
|
|
79
|
+
})
|
|
80
|
+
|
|
81
|
+
t.Run("runset FAILS a wrong result", func(t *testing.T) {
|
|
82
|
+
run := omniSmokeRun(t)
|
|
83
|
+
rec := &omniRecorder{}
|
|
84
|
+
|
|
85
|
+
run.RunSet(rec, run.Spec["bad"], omniSmokeInc)
|
|
86
|
+
|
|
87
|
+
if 0 == len(rec.failures) {
|
|
88
|
+
t.Fatal("a wrong result went unreported - the corpus suites would be vacuously green")
|
|
89
|
+
}
|
|
90
|
+
if !strings.Contains(rec.failures[0], "result mismatch") {
|
|
91
|
+
t.Fatalf("expected a result mismatch failure, got: %s", rec.failures[0])
|
|
92
|
+
}
|
|
93
|
+
})
|
|
94
|
+
|
|
95
|
+
t.Run("an expected error is matched, an unexpected one fails", func(t *testing.T) {
|
|
96
|
+
run := omniSmokeRun(t)
|
|
97
|
+
|
|
98
|
+
run.RunSet(t, run.Spec["err"], omniSmokeInc)
|
|
99
|
+
|
|
100
|
+
rec := &omniRecorder{}
|
|
101
|
+
run.RunSet(rec, run.Spec["err"], func(n int) (any, error) {
|
|
102
|
+
return n, nil
|
|
103
|
+
})
|
|
104
|
+
|
|
105
|
+
if 0 == len(rec.failures) {
|
|
106
|
+
t.Fatal("a missing expected error went unreported")
|
|
107
|
+
}
|
|
108
|
+
if !strings.Contains(rec.failures[0], "expected error did not occur") {
|
|
109
|
+
t.Fatalf("expected an expected-error failure, got: %s", rec.failures[0])
|
|
110
|
+
}
|
|
111
|
+
})
|
|
112
|
+
}
|
|
@@ -11,15 +11,55 @@ import (
|
|
|
11
11
|
vs "github.com/voxgig/struct"
|
|
12
12
|
)
|
|
13
13
|
|
|
14
|
+
// PENDING sections are the ones deliberately left empty in the shared corpus
|
|
15
|
+
// (.sdk/test/primary/<name>.aon). Everything else MUST contribute cases.
|
|
16
|
+
var pendingSections = map[string]bool{
|
|
17
|
+
"fetcher": true, "makeFetchDef": true, "makeResult": true,
|
|
18
|
+
"featureAdd": true, "featureHook": true, "featureInit": true,
|
|
19
|
+
}
|
|
20
|
+
|
|
14
21
|
func TestPrimaryUtility(t *testing.T) {
|
|
15
|
-
|
|
16
|
-
|
|
22
|
+
client := sdk.TestSDK(nil, nil)
|
|
23
|
+
utility := client.GetUtility()
|
|
24
|
+
|
|
25
|
+
// The corpus, through the vendored omni runner (see
|
|
26
|
+
// omniresolver_test.go). Subjects receive omni's native argument list:
|
|
27
|
+
// a ctx entry arrives as args[0], a MAP - omniCtx builds the typed
|
|
28
|
+
// context a generated utility takes, and omniSyncCtx writes the
|
|
29
|
+
// observable ctx state back for `match: {ctx: ...}` assertions.
|
|
30
|
+
runner := MakeRunner(TEST_JSON_FILE, client)
|
|
31
|
+
run, err := runner("primary", nil)
|
|
32
|
+
if err != nil {
|
|
33
|
+
t.Fatalf("Failed to make the corpus runner: %v", err)
|
|
34
|
+
}
|
|
35
|
+
primary := run.Spec
|
|
17
36
|
if primary == nil {
|
|
18
37
|
t.Fatal("primary section not found in test.json")
|
|
19
38
|
}
|
|
20
39
|
|
|
21
|
-
|
|
22
|
-
|
|
40
|
+
// Run one corpus section, failing loudly when it would run ZERO cases.
|
|
41
|
+
// A renamed section, a fixture that failed to compile, or an empty set
|
|
42
|
+
// used to report PASS while running zero assertions - the whole point
|
|
43
|
+
// of a shared oracle lost without a single red test. (The guard lives
|
|
44
|
+
// here rather than in the runner, which is vendored verbatim; the
|
|
45
|
+
// shared corpus is a v0 spec, and v0 tolerates an empty set.)
|
|
46
|
+
runsection := func(t *testing.T, name string, subject any) {
|
|
47
|
+
t.Helper()
|
|
48
|
+
section, _ := primary[name].(map[string]any)
|
|
49
|
+
if section == nil {
|
|
50
|
+
t.Fatalf("test corpus section %q missing - check the name against .sdk/test/primary/", name)
|
|
51
|
+
}
|
|
52
|
+
basic, _ := section["basic"].(map[string]any)
|
|
53
|
+
set, ok := basic["set"].([]any)
|
|
54
|
+
if !ok {
|
|
55
|
+
t.Fatalf("test corpus section %q has no basic.set list - zero cases would run", name)
|
|
56
|
+
}
|
|
57
|
+
if 0 == len(set) && !pendingSections[name] {
|
|
58
|
+
t.Fatalf("test corpus section %q is EMPTY - zero cases would run; "+
|
|
59
|
+
"add cases, or mark the fixture PENDING in .sdk/test/primary/", name)
|
|
60
|
+
}
|
|
61
|
+
run.RunSet(t, basic, subject)
|
|
62
|
+
}
|
|
23
63
|
|
|
24
64
|
t.Run("exists", func(t *testing.T) {
|
|
25
65
|
if utility.Clean == nil {
|
|
@@ -121,36 +161,26 @@ func TestPrimaryUtility(t *testing.T) {
|
|
|
121
161
|
})
|
|
122
162
|
|
|
123
163
|
t.Run("done-basic", func(t *testing.T) {
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
ctx := makeCtxFromMap(ctxmap, client, utility)
|
|
127
|
-
fixctx(ctx, client)
|
|
164
|
+
runsection(t, "done", func(args ...any) (any, error) {
|
|
165
|
+
ctx := omniCtx(args[0], client, utility)
|
|
128
166
|
return utility.Done(ctx)
|
|
129
167
|
})
|
|
130
168
|
})
|
|
131
169
|
|
|
132
170
|
t.Run("makeError-basic", func(t *testing.T) {
|
|
133
|
-
|
|
134
|
-
args, _ := entry["args"].([]any)
|
|
171
|
+
runsection(t, "makeError", func(args ...any) (any, error) {
|
|
135
172
|
if len(args) == 0 {
|
|
136
173
|
args = []any{map[string]any{}}
|
|
137
174
|
}
|
|
138
175
|
|
|
139
|
-
|
|
140
|
-
if ctxmap == nil {
|
|
141
|
-
ctxmap = map[string]any{}
|
|
142
|
-
}
|
|
143
|
-
ctx := makeCtxFromMap(ctxmap, client, utility)
|
|
144
|
-
fixctx(ctx, client)
|
|
176
|
+
ctx := omniCtx(args[0], client, utility)
|
|
145
177
|
|
|
146
|
-
var
|
|
178
|
+
var errval error
|
|
147
179
|
if len(args) > 1 {
|
|
148
|
-
|
|
149
|
-
err = errFromMap(errMap)
|
|
150
|
-
}
|
|
180
|
+
errval = omniErrArg(args[1])
|
|
151
181
|
}
|
|
152
182
|
|
|
153
|
-
return utility.MakeError(ctx,
|
|
183
|
+
return utility.MakeError(ctx, errval)
|
|
154
184
|
})
|
|
155
185
|
})
|
|
156
186
|
|
|
@@ -313,9 +343,8 @@ func TestPrimaryUtility(t *testing.T) {
|
|
|
313
343
|
})
|
|
314
344
|
|
|
315
345
|
t.Run("makeContext-basic", func(t *testing.T) {
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
if inMap, ok := in.(map[string]any); ok {
|
|
346
|
+
runsection(t, "makeContext", func(args ...any) (any, error) {
|
|
347
|
+
if inMap, ok := args[0].(map[string]any); ok {
|
|
319
348
|
ctx := utility.MakeContext(inMap, nil)
|
|
320
349
|
out := map[string]any{
|
|
321
350
|
"id": ctx.Id,
|
|
@@ -402,8 +431,8 @@ func TestPrimaryUtility(t *testing.T) {
|
|
|
402
431
|
})
|
|
403
432
|
|
|
404
433
|
t.Run("makeOptions-basic", func(t *testing.T) {
|
|
405
|
-
|
|
406
|
-
in, _ :=
|
|
434
|
+
runsection(t, "makeOptions", func(args ...any) (any, error) {
|
|
435
|
+
in, _ := args[0].(map[string]any)
|
|
407
436
|
ctx := utility.MakeContext(map[string]any{
|
|
408
437
|
"options": in["options"],
|
|
409
438
|
"config": in["config"],
|
|
@@ -415,9 +444,8 @@ func TestPrimaryUtility(t *testing.T) {
|
|
|
415
444
|
})
|
|
416
445
|
|
|
417
446
|
t.Run("makeRequest-basic", func(t *testing.T) {
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
ctx := makeCtxFromMap(ctxmap, client, utility)
|
|
447
|
+
runsection(t, "makeRequest", func(args ...any) (any, error) {
|
|
448
|
+
ctx := omniCtx(args[0], client, utility)
|
|
421
449
|
ctx.Options = client.OptionsMap()
|
|
422
450
|
|
|
423
451
|
_, err := utility.MakeRequest(ctx)
|
|
@@ -425,41 +453,23 @@ func TestPrimaryUtility(t *testing.T) {
|
|
|
425
453
|
return nil, err
|
|
426
454
|
}
|
|
427
455
|
|
|
428
|
-
//
|
|
429
|
-
|
|
430
|
-
if ctx.Response != nil {
|
|
431
|
-
entryCtx["response"] = "exists"
|
|
432
|
-
}
|
|
433
|
-
if ctx.Result != nil {
|
|
434
|
-
entryCtx["result"] = "exists"
|
|
435
|
-
}
|
|
456
|
+
// Expose response/result existence for the match assertions.
|
|
457
|
+
omniSyncCtx(args[0], ctx)
|
|
436
458
|
|
|
437
459
|
return nil, nil
|
|
438
460
|
})
|
|
439
461
|
})
|
|
440
462
|
|
|
441
463
|
t.Run("makeResponse-basic", func(t *testing.T) {
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
ctx := makeCtxFromMap(ctxmap, client, utility)
|
|
445
|
-
fixctx(ctx, client)
|
|
464
|
+
runsection(t, "makeResponse", func(args ...any) (any, error) {
|
|
465
|
+
ctx := omniCtx(args[0], client, utility)
|
|
446
466
|
|
|
447
467
|
_, err := utility.MakeResponse(ctx)
|
|
448
468
|
if err != nil {
|
|
449
469
|
return nil, err
|
|
450
470
|
}
|
|
451
471
|
|
|
452
|
-
|
|
453
|
-
entryCtx, _ := entry["ctx"].(map[string]any)
|
|
454
|
-
if ctx.Result != nil {
|
|
455
|
-
entryCtx["result"] = map[string]any{
|
|
456
|
-
"ok": ctx.Result.Ok,
|
|
457
|
-
"status": ctx.Result.Status,
|
|
458
|
-
"statusText": ctx.Result.StatusText,
|
|
459
|
-
"headers": ctx.Result.Headers,
|
|
460
|
-
"body": ctx.Result.Body,
|
|
461
|
-
}
|
|
462
|
-
}
|
|
472
|
+
omniSyncCtx(args[0], ctx)
|
|
463
473
|
|
|
464
474
|
return nil, nil
|
|
465
475
|
})
|
|
@@ -528,9 +538,8 @@ func TestPrimaryUtility(t *testing.T) {
|
|
|
528
538
|
specClient := sdk.TestSDK(nil, setupOpts)
|
|
529
539
|
specUtility := specClient.GetUtility()
|
|
530
540
|
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
ctx := makeCtxFromMap(ctxmap, specClient, specUtility)
|
|
541
|
+
runsection(t, "makeSpec", func(args ...any) (any, error) {
|
|
542
|
+
ctx := omniCtx(args[0], specClient, specUtility)
|
|
534
543
|
ctx.Options = specClient.OptionsMap()
|
|
535
544
|
|
|
536
545
|
_, err := utility.MakeSpec(ctx)
|
|
@@ -538,20 +547,7 @@ func TestPrimaryUtility(t *testing.T) {
|
|
|
538
547
|
return nil, err
|
|
539
548
|
}
|
|
540
549
|
|
|
541
|
-
|
|
542
|
-
entryCtx, _ := entry["ctx"].(map[string]any)
|
|
543
|
-
if ctx.Spec != nil {
|
|
544
|
-
entryCtx["spec"] = map[string]any{
|
|
545
|
-
"base": ctx.Spec.Base,
|
|
546
|
-
"prefix": ctx.Spec.Prefix,
|
|
547
|
-
"suffix": ctx.Spec.Suffix,
|
|
548
|
-
"method": ctx.Spec.Method,
|
|
549
|
-
"params": ctx.Spec.Params,
|
|
550
|
-
"query": ctx.Spec.Query,
|
|
551
|
-
"headers": ctx.Spec.Headers,
|
|
552
|
-
"step": ctx.Spec.Step,
|
|
553
|
-
}
|
|
554
|
-
}
|
|
550
|
+
omniSyncCtx(args[0], ctx)
|
|
555
551
|
|
|
556
552
|
return nil, nil
|
|
557
553
|
})
|
|
@@ -568,11 +564,14 @@ func TestPrimaryUtility(t *testing.T) {
|
|
|
568
564
|
// corpus says `match: out: code` for both, so the error is normalised to a
|
|
569
565
|
// map carrying its code here rather than forking the fixture per language.
|
|
570
566
|
t.Run("makePoint-basic", func(t *testing.T) {
|
|
571
|
-
|
|
572
|
-
ctxmap, _ :=
|
|
567
|
+
runsection(t, "makePoint", func(args ...any) (any, error) {
|
|
568
|
+
ctxmap, _ := args[0].(map[string]any)
|
|
569
|
+
if ctxmap == nil {
|
|
570
|
+
ctxmap = map[string]any{}
|
|
571
|
+
}
|
|
573
572
|
|
|
574
573
|
// NewContext resolves Op from the ENTITY NAME, and reaches it
|
|
575
|
-
// through the Entity interface
|
|
574
|
+
// through the Entity interface - a literal {name:...} map from the
|
|
576
575
|
// fixture is not one, so entname would be "" and every lookup would
|
|
577
576
|
// miss, reporting point_no_points for all seven cases. TS reads the
|
|
578
577
|
// same field with getprop and accepts the plain map. Swap in the
|
|
@@ -588,7 +587,7 @@ func TestPrimaryUtility(t *testing.T) {
|
|
|
588
587
|
ctxmap = swapped
|
|
589
588
|
}
|
|
590
589
|
|
|
591
|
-
ctx :=
|
|
590
|
+
ctx := omniCtx(ctxmap, client, utility)
|
|
592
591
|
point, err := utility.MakePoint(ctx)
|
|
593
592
|
if err != nil {
|
|
594
593
|
var sdkErr *sdk.ProjectNameError
|
|
@@ -602,9 +601,8 @@ func TestPrimaryUtility(t *testing.T) {
|
|
|
602
601
|
})
|
|
603
602
|
|
|
604
603
|
t.Run("makeUrl-basic", func(t *testing.T) {
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
ctx := makeCtxFromMap(ctxmap, client, utility)
|
|
604
|
+
runsection(t, "makeUrl", func(args ...any) (any, error) {
|
|
605
|
+
ctx := omniCtx(args[0], client, utility)
|
|
608
606
|
if ctx.Result == nil {
|
|
609
607
|
ctx.Result = sdk.NewResult(map[string]any{})
|
|
610
608
|
}
|
|
@@ -613,58 +611,31 @@ func TestPrimaryUtility(t *testing.T) {
|
|
|
613
611
|
})
|
|
614
612
|
|
|
615
613
|
t.Run("operator-basic", func(t *testing.T) {
|
|
616
|
-
|
|
617
|
-
in, _ :=
|
|
614
|
+
runsection(t, "operator", func(args ...any) (any, error) {
|
|
615
|
+
in, _ := args[0].(map[string]any)
|
|
618
616
|
op := sdk.NewOperation(in)
|
|
619
617
|
return map[string]any{
|
|
620
|
-
"entity":
|
|
621
|
-
"name":
|
|
622
|
-
"input":
|
|
618
|
+
"entity": op.Entity,
|
|
619
|
+
"name": op.Name,
|
|
620
|
+
"input": op.Input,
|
|
623
621
|
"points": op.Points,
|
|
624
622
|
}, nil
|
|
625
623
|
})
|
|
626
624
|
})
|
|
627
625
|
|
|
628
626
|
t.Run("param-basic", func(t *testing.T) {
|
|
629
|
-
|
|
630
|
-
args, _ := entry["args"].([]any)
|
|
627
|
+
runsection(t, "param", func(args ...any) (any, error) {
|
|
631
628
|
if len(args) < 2 {
|
|
632
629
|
return nil, nil
|
|
633
630
|
}
|
|
634
631
|
|
|
635
|
-
|
|
636
|
-
if ctxmap == nil {
|
|
637
|
-
ctxmap = map[string]any{}
|
|
638
|
-
}
|
|
639
|
-
ctx := makeCtxFromMap(ctxmap, client, utility)
|
|
632
|
+
ctx := omniCtx(args[0], client, utility)
|
|
640
633
|
paramdef := args[1]
|
|
641
634
|
|
|
642
635
|
result := utility.Param(ctx, paramdef)
|
|
643
636
|
|
|
644
|
-
//
|
|
645
|
-
|
|
646
|
-
if ctxMatch, ok := matchSpec["ctx"].(map[string]any); ok {
|
|
647
|
-
entryCtx, _ := entry["ctx"].(map[string]any)
|
|
648
|
-
if entryCtx == nil {
|
|
649
|
-
entryCtx = map[string]any{}
|
|
650
|
-
entry["ctx"] = entryCtx
|
|
651
|
-
}
|
|
652
|
-
// Copy spec alias back to entry ctx for matching
|
|
653
|
-
if specMatch, ok := ctxMatch["spec"].(map[string]any); ok {
|
|
654
|
-
if ctx.Spec != nil {
|
|
655
|
-
if entryCtx["spec"] == nil {
|
|
656
|
-
entryCtx["spec"] = map[string]any{}
|
|
657
|
-
}
|
|
658
|
-
if aliasMatch, ok := specMatch["alias"].(map[string]any); ok {
|
|
659
|
-
_ = aliasMatch
|
|
660
|
-
entryCtx["spec"] = map[string]any{
|
|
661
|
-
"alias": ctx.Spec.Alias,
|
|
662
|
-
}
|
|
663
|
-
}
|
|
664
|
-
}
|
|
665
|
-
}
|
|
666
|
-
}
|
|
667
|
-
}
|
|
637
|
+
// The spec alias mutation is what mark 80 asserts on.
|
|
638
|
+
omniSyncCtx(args[0], ctx)
|
|
668
639
|
|
|
669
640
|
return result, nil
|
|
670
641
|
})
|
|
@@ -675,57 +646,51 @@ func TestPrimaryUtility(t *testing.T) {
|
|
|
675
646
|
authClient := sdk.TestSDK(nil, setupOpts)
|
|
676
647
|
authUtility := authClient.GetUtility()
|
|
677
648
|
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
ctx := makeCtxFromMap(ctxmap, authClient, authUtility)
|
|
681
|
-
fixctx(ctx, authClient)
|
|
649
|
+
runsection(t, "prepareAuth", func(args ...any) (any, error) {
|
|
650
|
+
ctx := omniCtx(args[0], authClient, authUtility)
|
|
682
651
|
|
|
683
652
|
_, err := utility.PrepareAuth(ctx)
|
|
684
653
|
if err != nil {
|
|
685
654
|
return nil, err
|
|
686
655
|
}
|
|
687
656
|
|
|
688
|
-
|
|
689
|
-
entryCtx, _ := entry["ctx"].(map[string]any)
|
|
690
|
-
if ctx.Spec != nil {
|
|
691
|
-
entryCtx["spec"] = map[string]any{
|
|
692
|
-
"headers": ctx.Spec.Headers,
|
|
693
|
-
}
|
|
694
|
-
}
|
|
657
|
+
omniSyncCtx(args[0], ctx)
|
|
695
658
|
|
|
696
659
|
return nil, nil
|
|
697
660
|
})
|
|
698
661
|
})
|
|
699
662
|
|
|
700
663
|
t.Run("prepareBody-basic", func(t *testing.T) {
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
ctx := makeCtxFromMap(ctxmap, client, utility)
|
|
704
|
-
fixctx(ctx, client)
|
|
664
|
+
runsection(t, "prepareBody", func(args ...any) (any, error) {
|
|
665
|
+
ctx := omniCtx(args[0], client, utility)
|
|
705
666
|
return utility.PrepareBody(ctx), nil
|
|
706
667
|
})
|
|
707
668
|
})
|
|
708
669
|
|
|
709
670
|
t.Run("prepareHeaders-basic", func(t *testing.T) {
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
ctx := makeCtxFromMap(ctxmap, client, utility)
|
|
671
|
+
runsection(t, "prepareHeaders", func(args ...any) (any, error) {
|
|
672
|
+
ctx := omniCtx(args[0], client, utility)
|
|
713
673
|
return utility.PrepareHeaders(ctx), nil
|
|
714
674
|
})
|
|
715
675
|
})
|
|
716
676
|
|
|
717
677
|
t.Run("prepareMethod-basic", func(t *testing.T) {
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
678
|
+
runsection(t, "prepareMethod", func(args ...any) (any, error) {
|
|
679
|
+
ctx := omniCtx(args[0], client, utility)
|
|
680
|
+
// An op the API does not define resolves NO method; ts answers
|
|
681
|
+
// undefined there and go answers "" - both are "no value" to
|
|
682
|
+
// the corpus.
|
|
683
|
+
method := utility.PrepareMethod(ctx)
|
|
684
|
+
if "" == method {
|
|
685
|
+
return nil, nil
|
|
686
|
+
}
|
|
687
|
+
return method, nil
|
|
722
688
|
})
|
|
723
689
|
})
|
|
724
690
|
|
|
725
691
|
t.Run("prepareParams-basic", func(t *testing.T) {
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
ctx := makeCtxFromMap(ctxmap, client, utility)
|
|
692
|
+
runsection(t, "prepareParams", func(args ...any) (any, error) {
|
|
693
|
+
ctx := omniCtx(args[0], client, utility)
|
|
729
694
|
return utility.PrepareParams(ctx), nil
|
|
730
695
|
})
|
|
731
696
|
})
|
|
@@ -735,38 +700,32 @@ func TestPrimaryUtility(t *testing.T) {
|
|
|
735
700
|
// the corpus like every other section, so all ports assert the same
|
|
736
701
|
// separator/blank-segment behaviour.
|
|
737
702
|
t.Run("preparePath-basic", func(t *testing.T) {
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
ctx := makeCtxFromMap(ctxmap, client, utility)
|
|
703
|
+
runsection(t, "preparePath", func(args ...any) (any, error) {
|
|
704
|
+
ctx := omniCtx(args[0], client, utility)
|
|
741
705
|
return utility.PreparePath(ctx), nil
|
|
742
706
|
})
|
|
743
707
|
})
|
|
744
708
|
|
|
745
709
|
t.Run("clean-corpus", func(t *testing.T) {
|
|
746
|
-
|
|
747
|
-
args, _ := entry["args"].([]any)
|
|
710
|
+
runsection(t, "clean", func(args ...any) (any, error) {
|
|
748
711
|
if 2 != len(args) {
|
|
749
712
|
return nil, fmt.Errorf("clean: expected 2 args, got %d", len(args))
|
|
750
713
|
}
|
|
751
|
-
|
|
752
|
-
ctx := makeCtxFromMap(ctxmap, client, utility)
|
|
714
|
+
ctx := omniCtx(args[0], client, utility)
|
|
753
715
|
return utility.Clean(ctx, args[1]), nil
|
|
754
716
|
})
|
|
755
717
|
})
|
|
756
718
|
|
|
757
719
|
t.Run("prepareQuery-basic", func(t *testing.T) {
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
ctx := makeCtxFromMap(ctxmap, client, utility)
|
|
720
|
+
runsection(t, "prepareQuery", func(args ...any) (any, error) {
|
|
721
|
+
ctx := omniCtx(args[0], client, utility)
|
|
761
722
|
return utility.PrepareQuery(ctx), nil
|
|
762
723
|
})
|
|
763
724
|
})
|
|
764
725
|
|
|
765
726
|
t.Run("resultBasic-basic", func(t *testing.T) {
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
ctx := makeCtxFromMap(ctxmap, client, utility)
|
|
769
|
-
fixctx(ctx, client)
|
|
727
|
+
runsection(t, "resultBasic", func(args ...any) (any, error) {
|
|
728
|
+
ctx := omniCtx(args[0], client, utility)
|
|
770
729
|
|
|
771
730
|
result := utility.ResultBasic(ctx)
|
|
772
731
|
|
|
@@ -785,76 +744,49 @@ func TestPrimaryUtility(t *testing.T) {
|
|
|
785
744
|
})
|
|
786
745
|
|
|
787
746
|
t.Run("resultBody-basic", func(t *testing.T) {
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
ctx := makeCtxFromMap(ctxmap, client, utility)
|
|
747
|
+
runsection(t, "resultBody", func(args ...any) (any, error) {
|
|
748
|
+
ctx := omniCtx(args[0], client, utility)
|
|
791
749
|
|
|
792
750
|
utility.ResultBody(ctx)
|
|
793
751
|
|
|
794
|
-
|
|
795
|
-
entryCtx, _ := entry["ctx"].(map[string]any)
|
|
796
|
-
if ctx.Result != nil {
|
|
797
|
-
entryCtx["result"] = map[string]any{
|
|
798
|
-
"body": ctx.Result.Body,
|
|
799
|
-
}
|
|
800
|
-
}
|
|
752
|
+
omniSyncCtx(args[0], ctx)
|
|
801
753
|
|
|
802
754
|
return nil, nil
|
|
803
755
|
})
|
|
804
756
|
})
|
|
805
757
|
|
|
806
758
|
t.Run("resultHeaders-basic", func(t *testing.T) {
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
ctx := makeCtxFromMap(ctxmap, client, utility)
|
|
759
|
+
runsection(t, "resultHeaders", func(args ...any) (any, error) {
|
|
760
|
+
ctx := omniCtx(args[0], client, utility)
|
|
810
761
|
|
|
811
762
|
utility.ResultHeaders(ctx)
|
|
812
763
|
|
|
813
|
-
|
|
814
|
-
entryCtx, _ := entry["ctx"].(map[string]any)
|
|
815
|
-
if ctx.Result != nil {
|
|
816
|
-
entryCtx["result"] = map[string]any{
|
|
817
|
-
"headers": ctx.Result.Headers,
|
|
818
|
-
}
|
|
819
|
-
}
|
|
764
|
+
omniSyncCtx(args[0], ctx)
|
|
820
765
|
|
|
821
766
|
return nil, nil
|
|
822
767
|
})
|
|
823
768
|
})
|
|
824
769
|
|
|
825
770
|
t.Run("transformRequest-basic", func(t *testing.T) {
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
ctx := makeCtxFromMap(ctxmap, client, utility)
|
|
771
|
+
runsection(t, "transformRequest", func(args ...any) (any, error) {
|
|
772
|
+
ctx := omniCtx(args[0], client, utility)
|
|
829
773
|
|
|
830
774
|
result := utility.TransformRequest(ctx)
|
|
831
775
|
|
|
832
|
-
//
|
|
833
|
-
|
|
834
|
-
if ctx.Spec != nil {
|
|
835
|
-
if specMap, ok := entryCtx["spec"].(map[string]any); ok {
|
|
836
|
-
specMap["step"] = ctx.Spec.Step
|
|
837
|
-
}
|
|
838
|
-
}
|
|
776
|
+
// The step advance is what the match assertion reads.
|
|
777
|
+
omniSyncCtx(args[0], ctx)
|
|
839
778
|
|
|
840
779
|
return result, nil
|
|
841
780
|
})
|
|
842
781
|
})
|
|
843
782
|
|
|
844
783
|
t.Run("transformResponse-basic", func(t *testing.T) {
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
ctx := makeCtxFromMap(ctxmap, client, utility)
|
|
784
|
+
runsection(t, "transformResponse", func(args ...any) (any, error) {
|
|
785
|
+
ctx := omniCtx(args[0], client, utility)
|
|
848
786
|
|
|
849
787
|
result := utility.TransformResponse(ctx)
|
|
850
788
|
|
|
851
|
-
|
|
852
|
-
entryCtx, _ := entry["ctx"].(map[string]any)
|
|
853
|
-
if ctx.Spec != nil {
|
|
854
|
-
if specMap, ok := entryCtx["spec"].(map[string]any); ok {
|
|
855
|
-
specMap["step"] = ctx.Spec.Step
|
|
856
|
-
}
|
|
857
|
-
}
|
|
789
|
+
omniSyncCtx(args[0], ctx)
|
|
858
790
|
|
|
859
791
|
return result, nil
|
|
860
792
|
})
|