@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,107 @@
|
|
|
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 Swift peer of
|
|
4
|
+
// tm/csharp/test/OmniSmokeTest.cs and tm/go/test/omnismoke_test.go.)
|
|
5
|
+
//
|
|
6
|
+
// Nothing here imports Omni: the resolver is the only file that may
|
|
7
|
+
// (OmniResolver decision 1), so the spec is built in the SDK's own Value
|
|
8
|
+
// model and engine failures are recognised through
|
|
9
|
+
// OmniResolver.isOmniError.
|
|
10
|
+
|
|
11
|
+
import XCTest
|
|
12
|
+
|
|
13
|
+
@testable import ProjectNameSdk
|
|
14
|
+
|
|
15
|
+
final class OmniSmokeTest: XCTestCase {
|
|
16
|
+
|
|
17
|
+
// A minimal in-memory spec: no fixture file, no OMNI block (lenient v0,
|
|
18
|
+
// like the shared corpus).
|
|
19
|
+
private func smokeSpec() -> Value {
|
|
20
|
+
func entry(_ pairs: (String, Value)...) -> Value {
|
|
21
|
+
let m = VMap()
|
|
22
|
+
for (k, v) in pairs { m.entries[k] = v }
|
|
23
|
+
return .map(m)
|
|
24
|
+
}
|
|
25
|
+
func group(_ items: Value...) -> Value {
|
|
26
|
+
let m = VMap()
|
|
27
|
+
m.entries["set"] = .list(items)
|
|
28
|
+
return .map(m)
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
let smoke = VMap()
|
|
32
|
+
smoke.entries["basic"] = group(
|
|
33
|
+
entry(("in", .int(1)), ("out", .int(2))),
|
|
34
|
+
entry(("in", .int(41)), ("out", .int(42))))
|
|
35
|
+
smoke.entries["bad"] = group(
|
|
36
|
+
entry(("in", .int(1)), ("out", .int(999))))
|
|
37
|
+
smoke.entries["err"] = group(
|
|
38
|
+
entry(("in", .int(0)), ("err", .string("zero refused"))))
|
|
39
|
+
|
|
40
|
+
let primary = VMap()
|
|
41
|
+
primary.entries["smoke"] = .map(smoke)
|
|
42
|
+
|
|
43
|
+
let root = VMap()
|
|
44
|
+
root.entries["primary"] = .map(primary)
|
|
45
|
+
return .map(root)
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// The subject under test: increment, but refuse zero.
|
|
49
|
+
private func smokeInc(_ args: [Value]) throws -> Value {
|
|
50
|
+
let n = args.first?.asInt ?? 0
|
|
51
|
+
if 0 == n {
|
|
52
|
+
throw OmniResolver.SubjectError("smoke: zero refused")
|
|
53
|
+
}
|
|
54
|
+
return .int(n + 1)
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
private func smokeRun() throws -> OmniResolver.Run {
|
|
58
|
+
let client = ProjectNameSDK.testSDK(nil, nil)
|
|
59
|
+
let run = try OmniResolver.makeRunner(smokeSpec(), client)("smoke")
|
|
60
|
+
XCTAssertTrue(run.spec.isMap, "smoke spec did not resolve")
|
|
61
|
+
return run
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
func testRunsetPassesACorrectSubject() throws {
|
|
65
|
+
let run = try smokeRun()
|
|
66
|
+
XCTAssertEqual(run.set("basic").setCount, 2, "smoke basic must carry 2 entries")
|
|
67
|
+
try run.runset(run.set("basic"), smokeInc)
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
func testRunsetFailsAWrongResult() throws {
|
|
71
|
+
let run = try smokeRun()
|
|
72
|
+
|
|
73
|
+
XCTAssertThrowsError(try run.runset(run.set("bad"), smokeInc)) { err in
|
|
74
|
+
XCTAssertTrue(OmniResolver.isOmniError(err),
|
|
75
|
+
"expected an engine failure, got: \(err)")
|
|
76
|
+
XCTAssertTrue(OmniResolver.message(err).contains("result mismatch"),
|
|
77
|
+
"expected a result mismatch failure, got: \(OmniResolver.message(err))")
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
func testExpectedErrorIsMatchedAndAMissingOneFails() throws {
|
|
82
|
+
let run = try smokeRun()
|
|
83
|
+
|
|
84
|
+
// The erroring subject satisfies the expected-error entry.
|
|
85
|
+
try run.runset(run.set("err"), smokeInc)
|
|
86
|
+
|
|
87
|
+
// A subject that does NOT raise must fail that same entry.
|
|
88
|
+
XCTAssertThrowsError(
|
|
89
|
+
try run.runset(run.set("err"), { args in args.first ?? .noval })
|
|
90
|
+
) { err in
|
|
91
|
+
XCTAssertTrue(OmniResolver.message(err).contains("expected error did not occur"),
|
|
92
|
+
"expected an expected-error failure, got: \(OmniResolver.message(err))")
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// The engine must also refuse a group that does not exist at all, rather
|
|
97
|
+
// than reporting a silent pass over zero entries.
|
|
98
|
+
func testMissingGroupFails() throws {
|
|
99
|
+
let run = try smokeRun()
|
|
100
|
+
XCTAssertNil(run.set("nosuchgroup").setCount,
|
|
101
|
+
"a missing group must not present a set")
|
|
102
|
+
XCTAssertThrowsError(try run.runset(run.set("nosuchgroup"), smokeInc)) { err in
|
|
103
|
+
XCTAssertTrue(OmniResolver.message(err).contains("no set"),
|
|
104
|
+
"expected a missing-set failure, got: \(OmniResolver.message(err))")
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
// Primary utility test suite - drives every utility on the client utility
|
|
2
|
-
// object
|
|
3
|
-
// ("primary" section)
|
|
2
|
+
// object against the shared corpus in ../../../.sdk/test/test.json
|
|
3
|
+
// ("primary" section) through the VENDORED omni runner (OmniResolver over
|
|
4
|
+
// Tests/vendor/omni), plus direct checks. Swift twin of
|
|
4
5
|
// tm/csharp/test/PrimaryUtilityTest.cs and tm/go/test/primary_utility_test.go.
|
|
6
|
+
//
|
|
7
|
+
// Subjects receive omni's native argument list in the SDK's value model: a
|
|
8
|
+
// ctx entry arrives as args[0], a MAP - OmniResolver.omniCtx builds the
|
|
9
|
+
// typed Context a generated utility takes, and OmniResolver.omniSyncCtx
|
|
10
|
+
// writes the observable ctx state back for `match: {ctx: ...}` assertions
|
|
11
|
+
// (which the resolver retargets onto `match.args.0`, its decision 3).
|
|
5
12
|
|
|
6
13
|
import XCTest
|
|
7
14
|
|
|
@@ -28,18 +35,80 @@ final class TestInitFeature: BaseFeature {
|
|
|
28
35
|
}
|
|
29
36
|
|
|
30
37
|
final class PrimaryUtilityTest: XCTestCase {
|
|
38
|
+
// PENDING sections are the ones deliberately left EMPTY in the shared
|
|
39
|
+
// corpus (.sdk/test/primary/<name>.aon). Everything else MUST contribute
|
|
40
|
+
// cases: a renamed section or a fixture that failed to compile used to
|
|
41
|
+
// report PASS while running zero assertions.
|
|
42
|
+
private static let PENDING: Set<String> = [
|
|
43
|
+
"fetcher", "makeFetchDef", "makeResult",
|
|
44
|
+
"featureAdd", "featureHook", "featureInit",
|
|
45
|
+
]
|
|
46
|
+
|
|
47
|
+
// One corpus runner for the whole suite (XCTest builds a fresh instance
|
|
48
|
+
// per test method, so the runner is static).
|
|
49
|
+
private static var RUN: OmniResolver.Run?
|
|
50
|
+
private static let runLock = NSLock()
|
|
51
|
+
|
|
52
|
+
private static func primaryRun() throws -> OmniResolver.Run {
|
|
53
|
+
runLock.lock()
|
|
54
|
+
defer { runLock.unlock() }
|
|
55
|
+
if let run = RUN { return run }
|
|
56
|
+
let run = try OmniResolver.makeRunner(
|
|
57
|
+
SdkRunner.testJsonPath(), ProjectNameSDK.testSDK(nil, nil))("primary")
|
|
58
|
+
RUN = run
|
|
59
|
+
return run
|
|
60
|
+
}
|
|
61
|
+
|
|
31
62
|
// XCTestCase has no custom init; set these up per test.
|
|
32
|
-
private var primary: Value!
|
|
33
63
|
private var client: ProjectNameSDK!
|
|
34
64
|
private var utility: Utility!
|
|
35
65
|
|
|
36
66
|
override func setUp() {
|
|
37
67
|
super.setUp()
|
|
38
|
-
primary = SdkRunner.loadPrimary()
|
|
39
68
|
client = ProjectNameSDK.testSDK(nil, nil)
|
|
40
69
|
utility = client.getUtility()
|
|
41
70
|
}
|
|
42
71
|
|
|
72
|
+
// Run one corpus section through the vendored engine, failing loudly when
|
|
73
|
+
// it would run ZERO cases.
|
|
74
|
+
private func runsection(
|
|
75
|
+
_ name: String, _ subject: @escaping OmniResolver.Subject,
|
|
76
|
+
file: StaticString = #filePath, line: UInt = #line
|
|
77
|
+
) {
|
|
78
|
+
do {
|
|
79
|
+
let run = try PrimaryUtilityTest.primaryRun()
|
|
80
|
+
|
|
81
|
+
let section = run.spec.get(name)
|
|
82
|
+
guard section.isMap else {
|
|
83
|
+
return XCTFail("test corpus section \"\(name)\" missing - check the " +
|
|
84
|
+
"name against .sdk/test/primary/", file: file, line: line)
|
|
85
|
+
}
|
|
86
|
+
let basic = section.get("basic")
|
|
87
|
+
guard let count = basic.setCount else {
|
|
88
|
+
return XCTFail("test corpus section \"\(name)\" has no basic.set list " +
|
|
89
|
+
"- zero cases would run", file: file, line: line)
|
|
90
|
+
}
|
|
91
|
+
if 0 == count && !PrimaryUtilityTest.PENDING.contains(name) {
|
|
92
|
+
return XCTFail("test corpus section \"\(name)\" is EMPTY - zero cases " +
|
|
93
|
+
"would run; add cases, or mark the fixture PENDING in " +
|
|
94
|
+
".sdk/test/primary/", file: file, line: line)
|
|
95
|
+
}
|
|
96
|
+
if 0 == count { return }
|
|
97
|
+
|
|
98
|
+
try run.runset(basic, subject)
|
|
99
|
+
print("ok primary.\(name): \(count)/\(count)")
|
|
100
|
+
} catch {
|
|
101
|
+
XCTFail("primary.\(name): \(OmniResolver.message(error))",
|
|
102
|
+
file: file, line: line)
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
// The DEF.setup options a section names, as SDK options.
|
|
107
|
+
private func setupOptions(_ name: String, _ key: String) throws -> VMap? {
|
|
108
|
+
try PrimaryUtilityTest.primaryRun().spec
|
|
109
|
+
.get([name, "DEF", "setup", key]).value.asMap
|
|
110
|
+
}
|
|
111
|
+
|
|
43
112
|
// MARK: - Local helpers
|
|
44
113
|
|
|
45
114
|
// Unwrap a loose Value scalar/node to the native Swift form Context expects
|
|
@@ -141,30 +210,19 @@ final class PrimaryUtilityTest: XCTestCase {
|
|
|
141
210
|
}
|
|
142
211
|
|
|
143
212
|
func testDoneBasic() {
|
|
144
|
-
|
|
145
|
-
let
|
|
146
|
-
let ctx = SdkRunner.makeCtxFromMap(ctxmap, self.client, self.utility)
|
|
147
|
-
SdkRunner.fixCtx(ctx, self.client)
|
|
213
|
+
runsection("done") { args in
|
|
214
|
+
let ctx = OmniResolver.omniCtx(args[0], self.client, self.utility)
|
|
148
215
|
return try self.utility.done(ctx)
|
|
149
216
|
}
|
|
150
217
|
}
|
|
151
218
|
|
|
152
219
|
func testMakeErrorBasic() {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
let l = VList()
|
|
157
|
-
l.items.append(.map(VMap()))
|
|
158
|
-
argsList = l
|
|
159
|
-
}
|
|
160
|
-
let args = argsList!
|
|
161
|
-
|
|
162
|
-
let ctxmap = args.items[0].asMap ?? VMap()
|
|
163
|
-
let ctx = SdkRunner.makeCtxFromMap(ctxmap, self.client, self.utility)
|
|
164
|
-
SdkRunner.fixCtx(ctx, self.client)
|
|
220
|
+
runsection("makeError") { args in
|
|
221
|
+
let ctxarg = args.first ?? .map(VMap())
|
|
222
|
+
let ctx = OmniResolver.omniCtx(ctxarg, self.client, self.utility)
|
|
165
223
|
|
|
166
224
|
var err: Error? = nil
|
|
167
|
-
if args.
|
|
225
|
+
if 1 < args.count, let errMap = args[1].asMap {
|
|
168
226
|
err = SdkRunner.errFromMap(errMap)
|
|
169
227
|
}
|
|
170
228
|
|
|
@@ -301,8 +359,8 @@ final class PrimaryUtilityTest: XCTestCase {
|
|
|
301
359
|
}
|
|
302
360
|
|
|
303
361
|
func testMakeContextBasic() {
|
|
304
|
-
|
|
305
|
-
guard let inMap =
|
|
362
|
+
runsection("makeContext") { args in
|
|
363
|
+
guard let inMap = args.first?.asMap else { return .noval }
|
|
306
364
|
let ctx = self.utility.makeContext(self.nativeCtxMap(inMap), nil)
|
|
307
365
|
let result = VMap()
|
|
308
366
|
result.entries["id"] = .string(ctx.id)
|
|
@@ -368,8 +426,8 @@ final class PrimaryUtilityTest: XCTestCase {
|
|
|
368
426
|
}
|
|
369
427
|
|
|
370
428
|
func testMakeOptionsBasic() {
|
|
371
|
-
|
|
372
|
-
let inMap =
|
|
429
|
+
runsection("makeOptions") { args in
|
|
430
|
+
let inMap = args.first?.asMap ?? VMap()
|
|
373
431
|
var nctx: [String: Any?] = [:]
|
|
374
432
|
if let o = inMap.entries["options"]?.asMap { nctx["options"] = o }
|
|
375
433
|
if let c = inMap.entries["config"]?.asMap { nctx["config"] = c }
|
|
@@ -381,42 +439,24 @@ final class PrimaryUtilityTest: XCTestCase {
|
|
|
381
439
|
}
|
|
382
440
|
|
|
383
441
|
func testMakeRequestBasic() {
|
|
384
|
-
|
|
385
|
-
let
|
|
386
|
-
let ctx = SdkRunner.makeCtxFromMap(ctxmap, self.client, self.utility)
|
|
442
|
+
runsection("makeRequest") { args in
|
|
443
|
+
let ctx = OmniResolver.omniCtx(args[0], self.client, self.utility)
|
|
387
444
|
ctx.options = self.client.optionsMap()
|
|
388
445
|
|
|
389
446
|
_ = try self.utility.makeRequest(ctx)
|
|
390
447
|
|
|
391
|
-
|
|
392
|
-
if let ctxmap = ctxmap {
|
|
393
|
-
if ctx.response != nil { ctxmap.entries["response"] = .string("exists") }
|
|
394
|
-
if ctx.result != nil { ctxmap.entries["result"] = .string("exists") }
|
|
395
|
-
}
|
|
396
|
-
|
|
448
|
+
OmniResolver.omniSyncCtx(args[0], ctx)
|
|
397
449
|
return .noval
|
|
398
450
|
}
|
|
399
451
|
}
|
|
400
452
|
|
|
401
453
|
func testMakeResponseBasic() {
|
|
402
|
-
|
|
403
|
-
let
|
|
404
|
-
let ctx = SdkRunner.makeCtxFromMap(ctxmap, self.client, self.utility)
|
|
405
|
-
SdkRunner.fixCtx(ctx, self.client)
|
|
454
|
+
runsection("makeResponse") { args in
|
|
455
|
+
let ctx = OmniResolver.omniCtx(args[0], self.client, self.utility)
|
|
406
456
|
|
|
407
457
|
_ = try self.utility.makeResponse(ctx)
|
|
408
458
|
|
|
409
|
-
|
|
410
|
-
if let ctxmap = ctxmap, let result = ctx.result {
|
|
411
|
-
let rm = VMap()
|
|
412
|
-
rm.entries["ok"] = .bool(result.ok)
|
|
413
|
-
rm.entries["status"] = .int(Int64(result.status))
|
|
414
|
-
rm.entries["statusText"] = .string(result.statusText)
|
|
415
|
-
rm.entries["headers"] = .map(result.headers)
|
|
416
|
-
rm.entries["body"] = result.body
|
|
417
|
-
ctxmap.entries["result"] = .map(rm)
|
|
418
|
-
}
|
|
419
|
-
|
|
459
|
+
OmniResolver.omniSyncCtx(args[0], ctx)
|
|
420
460
|
return .noval
|
|
421
461
|
}
|
|
422
462
|
}
|
|
@@ -467,32 +507,18 @@ final class PrimaryUtilityTest: XCTestCase {
|
|
|
467
507
|
XCTAssertThrowsError(try utility.makeResult(ctx))
|
|
468
508
|
}
|
|
469
509
|
|
|
470
|
-
func testMakeSpecBasic() {
|
|
471
|
-
let setupOpts =
|
|
510
|
+
func testMakeSpecBasic() throws {
|
|
511
|
+
let setupOpts = try setupOptions("makeSpec", "a")
|
|
472
512
|
let specClient = ProjectNameSDK.testSDK(nil, setupOpts)
|
|
473
513
|
let specUtility = specClient.getUtility()
|
|
474
514
|
|
|
475
|
-
|
|
476
|
-
let
|
|
477
|
-
let ctx = SdkRunner.makeCtxFromMap(ctxmap, specClient, specUtility)
|
|
515
|
+
runsection("makeSpec") { args in
|
|
516
|
+
let ctx = OmniResolver.omniCtx(args[0], specClient, specUtility)
|
|
478
517
|
ctx.options = specClient.optionsMap()
|
|
479
518
|
|
|
480
|
-
_ = try
|
|
481
|
-
|
|
482
|
-
// Update entry ctx for match.
|
|
483
|
-
if let ctxmap = ctxmap, let spec = ctx.spec {
|
|
484
|
-
let sm = VMap()
|
|
485
|
-
sm.entries["base"] = .string(spec.base)
|
|
486
|
-
sm.entries["prefix"] = .string(spec.prefix)
|
|
487
|
-
sm.entries["suffix"] = .string(spec.suffix)
|
|
488
|
-
sm.entries["method"] = .string(spec.method)
|
|
489
|
-
sm.entries["params"] = .map(spec.params)
|
|
490
|
-
sm.entries["query"] = .map(spec.query)
|
|
491
|
-
sm.entries["headers"] = .map(spec.headers)
|
|
492
|
-
sm.entries["step"] = .string(spec.step)
|
|
493
|
-
ctxmap.entries["spec"] = .map(sm)
|
|
494
|
-
}
|
|
519
|
+
_ = try specUtility.makeSpec(ctx)
|
|
495
520
|
|
|
521
|
+
OmniResolver.omniSyncCtx(args[0], ctx)
|
|
496
522
|
return .noval
|
|
497
523
|
}
|
|
498
524
|
}
|
|
@@ -515,17 +541,16 @@ final class PrimaryUtilityTest: XCTestCase {
|
|
|
515
541
|
}
|
|
516
542
|
|
|
517
543
|
func testMakeUrlBasic() {
|
|
518
|
-
|
|
519
|
-
let
|
|
520
|
-
let ctx = SdkRunner.makeCtxFromMap(ctxmap, self.client, self.utility)
|
|
544
|
+
runsection("makeUrl") { args in
|
|
545
|
+
let ctx = OmniResolver.omniCtx(args[0], self.client, self.utility)
|
|
521
546
|
if ctx.result == nil { ctx.result = Result(nil) }
|
|
522
547
|
return .string(try self.utility.makeUrl(ctx))
|
|
523
548
|
}
|
|
524
549
|
}
|
|
525
550
|
|
|
526
551
|
func testOperatorBasic() {
|
|
527
|
-
|
|
528
|
-
let inMap =
|
|
552
|
+
runsection("operator") { args in
|
|
553
|
+
let inMap = args.first?.asMap ?? VMap()
|
|
529
554
|
let op = Operation(inMap)
|
|
530
555
|
let out = VMap()
|
|
531
556
|
out.entries["entity"] = .string(op.entity)
|
|
@@ -539,101 +564,67 @@ final class PrimaryUtilityTest: XCTestCase {
|
|
|
539
564
|
}
|
|
540
565
|
|
|
541
566
|
func testParamBasic() {
|
|
542
|
-
|
|
543
|
-
guard
|
|
544
|
-
return .noval
|
|
545
|
-
}
|
|
567
|
+
runsection("param") { args in
|
|
568
|
+
guard 2 <= args.count else { return .noval }
|
|
546
569
|
|
|
547
|
-
let
|
|
548
|
-
let
|
|
549
|
-
let paramdef = args.items[1]
|
|
550
|
-
|
|
551
|
-
let result = self.utility.param(ctx, paramdef)
|
|
552
|
-
|
|
553
|
-
// Copy spec alias back to entry ctx for matching.
|
|
554
|
-
if let matchSpec = entry.entries["match"]?.asMap,
|
|
555
|
-
let ctxMatch = matchSpec.entries["ctx"]?.asMap,
|
|
556
|
-
let specMatch = ctxMatch.entries["spec"]?.asMap,
|
|
557
|
-
specMatch.entries["alias"] != nil,
|
|
558
|
-
let spec = ctx.spec
|
|
559
|
-
{
|
|
560
|
-
let aliasHolder = VMap()
|
|
561
|
-
aliasHolder.entries["alias"] = .map(spec.alias)
|
|
562
|
-
if let entryCtx = entry.entries["ctx"]?.asMap {
|
|
563
|
-
entryCtx.entries["spec"] = .map(aliasHolder)
|
|
564
|
-
} else {
|
|
565
|
-
let newCtx = VMap()
|
|
566
|
-
newCtx.entries["spec"] = .map(aliasHolder)
|
|
567
|
-
entry.entries["ctx"] = .map(newCtx)
|
|
568
|
-
}
|
|
569
|
-
}
|
|
570
|
+
let ctx = OmniResolver.omniCtx(args[0], self.client, self.utility)
|
|
571
|
+
let result = self.utility.param(ctx, args[1])
|
|
570
572
|
|
|
573
|
+
OmniResolver.omniSyncCtx(args[0], ctx)
|
|
571
574
|
return result
|
|
572
575
|
}
|
|
573
576
|
}
|
|
574
577
|
|
|
575
|
-
func testPrepareAuthBasic() {
|
|
576
|
-
let setupOpts =
|
|
578
|
+
func testPrepareAuthBasic() throws {
|
|
579
|
+
let setupOpts = try setupOptions("prepareAuth", "a")
|
|
577
580
|
let authClient = ProjectNameSDK.testSDK(nil, setupOpts)
|
|
578
581
|
let authUtility = authClient.getUtility()
|
|
579
582
|
|
|
580
|
-
|
|
581
|
-
let
|
|
582
|
-
let ctx = SdkRunner.makeCtxFromMap(ctxmap, authClient, authUtility)
|
|
583
|
-
SdkRunner.fixCtx(ctx, authClient)
|
|
584
|
-
|
|
585
|
-
_ = try self.utility.prepareAuth(ctx)
|
|
583
|
+
runsection("prepareAuth") { args in
|
|
584
|
+
let ctx = OmniResolver.omniCtx(args[0], authClient, authUtility)
|
|
586
585
|
|
|
587
|
-
|
|
588
|
-
if let ctxmap = ctxmap, let spec = ctx.spec {
|
|
589
|
-
let sm = VMap()
|
|
590
|
-
sm.entries["headers"] = .map(spec.headers)
|
|
591
|
-
ctxmap.entries["spec"] = .map(sm)
|
|
592
|
-
}
|
|
586
|
+
_ = try authUtility.prepareAuth(ctx)
|
|
593
587
|
|
|
588
|
+
OmniResolver.omniSyncCtx(args[0], ctx)
|
|
594
589
|
return .noval
|
|
595
590
|
}
|
|
596
591
|
}
|
|
597
592
|
|
|
598
593
|
func testPrepareBodyBasic() {
|
|
599
|
-
|
|
600
|
-
let
|
|
601
|
-
let ctx = SdkRunner.makeCtxFromMap(ctxmap, self.client, self.utility)
|
|
602
|
-
SdkRunner.fixCtx(ctx, self.client)
|
|
594
|
+
runsection("prepareBody") { args in
|
|
595
|
+
let ctx = OmniResolver.omniCtx(args[0], self.client, self.utility)
|
|
603
596
|
return self.utility.prepareBody(ctx)
|
|
604
597
|
}
|
|
605
598
|
}
|
|
606
599
|
|
|
607
600
|
func testPrepareHeadersBasic() {
|
|
608
|
-
|
|
609
|
-
let
|
|
610
|
-
let ctx = SdkRunner.makeCtxFromMap(ctxmap, self.client, self.utility)
|
|
601
|
+
runsection("prepareHeaders") { args in
|
|
602
|
+
let ctx = OmniResolver.omniCtx(args[0], self.client, self.utility)
|
|
611
603
|
return .map(self.utility.prepareHeaders(ctx))
|
|
612
604
|
}
|
|
613
605
|
}
|
|
614
606
|
|
|
615
607
|
func testPrepareMethodBasic() {
|
|
616
|
-
|
|
617
|
-
let
|
|
618
|
-
|
|
619
|
-
|
|
608
|
+
runsection("prepareMethod") { args in
|
|
609
|
+
let ctx = OmniResolver.omniCtx(args[0], self.client, self.utility)
|
|
610
|
+
// An op the API does not define resolves NO method: "" is Swift's
|
|
611
|
+
// spelling of that, and the corpus expects a null (the entry for
|
|
612
|
+
// opname "bad" carries no `out`).
|
|
613
|
+
let method = self.utility.prepareMethod(ctx)
|
|
614
|
+
return method.isEmpty ? .noval : .string(method)
|
|
620
615
|
}
|
|
621
616
|
}
|
|
622
617
|
|
|
623
618
|
func testPrepareParamsBasic() {
|
|
624
|
-
|
|
625
|
-
let
|
|
626
|
-
let ctx = SdkRunner.makeCtxFromMap(ctxmap, self.client, self.utility)
|
|
619
|
+
runsection("prepareParams") { args in
|
|
620
|
+
let ctx = OmniResolver.omniCtx(args[0], self.client, self.utility)
|
|
627
621
|
return .map(self.utility.prepareParams(ctx))
|
|
628
622
|
}
|
|
629
623
|
}
|
|
630
624
|
|
|
631
625
|
func testPreparePathBasic() {
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
SdkRunner.runSet(SdkRunner.spec(primary, "preparePath", "basic")) { entry in
|
|
635
|
-
let ctxmap = entry.entries["ctx"]?.asMap
|
|
636
|
-
let ctx = SdkRunner.makeCtxFromMap(ctxmap, self.client, self.utility)
|
|
626
|
+
runsection("preparePath") { args in
|
|
627
|
+
let ctx = OmniResolver.omniCtx(args[0], self.client, self.utility)
|
|
637
628
|
return .string(self.utility.preparePath(ctx))
|
|
638
629
|
}
|
|
639
630
|
}
|
|
@@ -650,18 +641,15 @@ final class PrimaryUtilityTest: XCTestCase {
|
|
|
650
641
|
}
|
|
651
642
|
|
|
652
643
|
func testPrepareQueryBasic() {
|
|
653
|
-
|
|
654
|
-
let
|
|
655
|
-
let ctx = SdkRunner.makeCtxFromMap(ctxmap, self.client, self.utility)
|
|
644
|
+
runsection("prepareQuery") { args in
|
|
645
|
+
let ctx = OmniResolver.omniCtx(args[0], self.client, self.utility)
|
|
656
646
|
return .map(self.utility.prepareQuery(ctx))
|
|
657
647
|
}
|
|
658
648
|
}
|
|
659
649
|
|
|
660
650
|
func testResultBasicBasic() {
|
|
661
|
-
|
|
662
|
-
let
|
|
663
|
-
let ctx = SdkRunner.makeCtxFromMap(ctxmap, self.client, self.utility)
|
|
664
|
-
SdkRunner.fixCtx(ctx, self.client)
|
|
651
|
+
runsection("resultBasic") { args in
|
|
652
|
+
let ctx = OmniResolver.omniCtx(args[0], self.client, self.utility)
|
|
665
653
|
|
|
666
654
|
let result = self.utility.resultBasic(ctx)
|
|
667
655
|
|
|
@@ -679,70 +667,45 @@ final class PrimaryUtilityTest: XCTestCase {
|
|
|
679
667
|
}
|
|
680
668
|
|
|
681
669
|
func testResultBodyBasic() {
|
|
682
|
-
|
|
683
|
-
let
|
|
684
|
-
let ctx = SdkRunner.makeCtxFromMap(ctxmap, self.client, self.utility)
|
|
670
|
+
runsection("resultBody") { args in
|
|
671
|
+
let ctx = OmniResolver.omniCtx(args[0], self.client, self.utility)
|
|
685
672
|
|
|
686
673
|
_ = self.utility.resultBody(ctx)
|
|
687
674
|
|
|
688
|
-
|
|
689
|
-
let rm = VMap()
|
|
690
|
-
rm.entries["body"] = result.body
|
|
691
|
-
ctxmap.entries["result"] = .map(rm)
|
|
692
|
-
}
|
|
693
|
-
|
|
675
|
+
OmniResolver.omniSyncCtx(args[0], ctx)
|
|
694
676
|
return .noval
|
|
695
677
|
}
|
|
696
678
|
}
|
|
697
679
|
|
|
698
680
|
func testResultHeadersBasic() {
|
|
699
|
-
|
|
700
|
-
let
|
|
701
|
-
let ctx = SdkRunner.makeCtxFromMap(ctxmap, self.client, self.utility)
|
|
681
|
+
runsection("resultHeaders") { args in
|
|
682
|
+
let ctx = OmniResolver.omniCtx(args[0], self.client, self.utility)
|
|
702
683
|
|
|
703
684
|
_ = self.utility.resultHeaders(ctx)
|
|
704
685
|
|
|
705
|
-
|
|
706
|
-
let rm = VMap()
|
|
707
|
-
rm.entries["headers"] = .map(result.headers)
|
|
708
|
-
ctxmap.entries["result"] = .map(rm)
|
|
709
|
-
}
|
|
710
|
-
|
|
686
|
+
OmniResolver.omniSyncCtx(args[0], ctx)
|
|
711
687
|
return .noval
|
|
712
688
|
}
|
|
713
689
|
}
|
|
714
690
|
|
|
715
691
|
func testTransformRequestBasic() {
|
|
716
|
-
|
|
717
|
-
let
|
|
718
|
-
let ctx = SdkRunner.makeCtxFromMap(ctxmap, self.client, self.utility)
|
|
692
|
+
runsection("transformRequest") { args in
|
|
693
|
+
let ctx = OmniResolver.omniCtx(args[0], self.client, self.utility)
|
|
719
694
|
|
|
720
695
|
let result = self.utility.transformRequest(ctx)
|
|
721
696
|
|
|
722
|
-
|
|
723
|
-
if let ctxmap = ctxmap, let spec = ctx.spec,
|
|
724
|
-
let specMap = ctxmap.entries["spec"]?.asMap
|
|
725
|
-
{
|
|
726
|
-
specMap.entries["step"] = .string(spec.step)
|
|
727
|
-
}
|
|
728
|
-
|
|
697
|
+
OmniResolver.omniSyncCtx(args[0], ctx)
|
|
729
698
|
return result
|
|
730
699
|
}
|
|
731
700
|
}
|
|
732
701
|
|
|
733
702
|
func testTransformResponseBasic() {
|
|
734
|
-
|
|
735
|
-
let
|
|
736
|
-
let ctx = SdkRunner.makeCtxFromMap(ctxmap, self.client, self.utility)
|
|
703
|
+
runsection("transformResponse") { args in
|
|
704
|
+
let ctx = OmniResolver.omniCtx(args[0], self.client, self.utility)
|
|
737
705
|
|
|
738
706
|
let result = self.utility.transformResponse(ctx)
|
|
739
707
|
|
|
740
|
-
|
|
741
|
-
let specMap = ctxmap.entries["spec"]?.asMap
|
|
742
|
-
{
|
|
743
|
-
specMap.entries["step"] = .string(spec.step)
|
|
744
|
-
}
|
|
745
|
-
|
|
708
|
+
OmniResolver.omniSyncCtx(args[0], ctx)
|
|
746
709
|
return result
|
|
747
710
|
}
|
|
748
711
|
}
|