@voxgig/sdkgen-langpack 0.0.1
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/.sdk/model/target/dart.aon +63 -0
- package/.sdk/model/target/haskell.aon +72 -0
- package/.sdk/model/target/lean.aon +91 -0
- package/.sdk/src/cmp/dart/Config_dart.ts +248 -0
- package/.sdk/src/cmp/dart/EntityBase_dart.ts +34 -0
- package/.sdk/src/cmp/dart/EntityOperation_dart.ts +43 -0
- package/.sdk/src/cmp/dart/EntityTypes_dart.ts +207 -0
- package/.sdk/src/cmp/dart/Entity_dart.ts +87 -0
- package/.sdk/src/cmp/dart/Gitignore_dart.ts +34 -0
- package/.sdk/src/cmp/dart/MainEntity_dart.ts +33 -0
- package/.sdk/src/cmp/dart/Main_dart.ts +178 -0
- package/.sdk/src/cmp/dart/Package_dart.ts +82 -0
- package/.sdk/src/cmp/dart/ReadmeEntity_dart.ts +177 -0
- package/.sdk/src/cmp/dart/ReadmeExamplesTest_dart.ts +238 -0
- package/.sdk/src/cmp/dart/ReadmeExplanation_dart.ts +53 -0
- package/.sdk/src/cmp/dart/ReadmeHowto_dart.ts +152 -0
- package/.sdk/src/cmp/dart/ReadmeInstall_dart.ts +59 -0
- package/.sdk/src/cmp/dart/ReadmeIntro_dart.ts +65 -0
- package/.sdk/src/cmp/dart/ReadmeModel_dart.ts +151 -0
- package/.sdk/src/cmp/dart/ReadmeOptions_dart.ts +63 -0
- package/.sdk/src/cmp/dart/ReadmeQuick_dart.ts +225 -0
- package/.sdk/src/cmp/dart/ReadmeRef_dart.ts +397 -0
- package/.sdk/src/cmp/dart/ReadmeTopHowto_dart.ts +24 -0
- package/.sdk/src/cmp/dart/ReadmeTopQuick_dart.ts +106 -0
- package/.sdk/src/cmp/dart/ReadmeTopTest_dart.ts +78 -0
- package/.sdk/src/cmp/dart/SdkError_dart.ts +42 -0
- package/.sdk/src/cmp/dart/TestDirect_dart.ts +516 -0
- package/.sdk/src/cmp/dart/TestEntity_dart.ts +628 -0
- package/.sdk/src/cmp/dart/Test_dart.ts +138 -0
- package/.sdk/src/cmp/dart/fragment/Config.data.fragment.dart +98 -0
- package/.sdk/src/cmp/dart/fragment/Config.fragment.dart +70 -0
- package/.sdk/src/cmp/dart/fragment/Direct.test.fragment.dart +25 -0
- package/.sdk/src/cmp/dart/fragment/Entity.fragment.dart +29 -0
- package/.sdk/src/cmp/dart/fragment/Entity.test.fragment.dart +28 -0
- package/.sdk/src/cmp/dart/fragment/EntityBase.fragment.dart +302 -0
- package/.sdk/src/cmp/dart/fragment/EntityCreateOp.fragment.dart +98 -0
- package/.sdk/src/cmp/dart/fragment/EntityListOp.fragment.dart +90 -0
- package/.sdk/src/cmp/dart/fragment/EntityLoadOp.fragment.dart +102 -0
- package/.sdk/src/cmp/dart/fragment/EntityRemoveOp.fragment.dart +108 -0
- package/.sdk/src/cmp/dart/fragment/EntityUpdateOp.fragment.dart +102 -0
- package/.sdk/src/cmp/dart/fragment/Main.fragment.dart +339 -0
- package/.sdk/src/cmp/dart/fragment/SdkError.fragment.dart +26 -0
- package/.sdk/src/cmp/dart/tsconfig.json +15 -0
- package/.sdk/src/cmp/dart/utility_dart.ts +155 -0
- package/.sdk/src/cmp/haskell/Config_haskell.ts +98 -0
- package/.sdk/src/cmp/haskell/Entity_haskell.ts +13 -0
- package/.sdk/src/cmp/haskell/Gitignore_haskell.ts +27 -0
- package/.sdk/src/cmp/haskell/Main_haskell.ts +123 -0
- package/.sdk/src/cmp/haskell/Package_haskell.ts +60 -0
- package/.sdk/src/cmp/haskell/ReadmeEntity_haskell.ts +186 -0
- package/.sdk/src/cmp/haskell/ReadmeExamplesTest_haskell.ts +135 -0
- package/.sdk/src/cmp/haskell/ReadmeExplanation_haskell.ts +48 -0
- package/.sdk/src/cmp/haskell/ReadmeHowto_haskell.ts +168 -0
- package/.sdk/src/cmp/haskell/ReadmeInstall_haskell.ts +51 -0
- package/.sdk/src/cmp/haskell/ReadmeIntro_haskell.ts +67 -0
- package/.sdk/src/cmp/haskell/ReadmeModel_haskell.ts +162 -0
- package/.sdk/src/cmp/haskell/ReadmeOptions_haskell.ts +74 -0
- package/.sdk/src/cmp/haskell/ReadmeQuick_haskell.ts +241 -0
- package/.sdk/src/cmp/haskell/ReadmeRef_haskell.ts +408 -0
- package/.sdk/src/cmp/haskell/ReadmeTopHowto_haskell.ts +31 -0
- package/.sdk/src/cmp/haskell/ReadmeTopQuick_haskell.ts +104 -0
- package/.sdk/src/cmp/haskell/ReadmeTopTest_haskell.ts +80 -0
- package/.sdk/src/cmp/haskell/Test_haskell.ts +297 -0
- package/.sdk/src/cmp/haskell/tsconfig.json +15 -0
- package/.sdk/src/cmp/haskell/utility_haskell.ts +166 -0
- package/.sdk/src/cmp/lean/Config_lean.ts +93 -0
- package/.sdk/src/cmp/lean/Entity_lean.ts +9 -0
- package/.sdk/src/cmp/lean/Gitignore_lean.ts +18 -0
- package/.sdk/src/cmp/lean/Main_lean.ts +120 -0
- package/.sdk/src/cmp/lean/Package_lean.ts +93 -0
- package/.sdk/src/cmp/lean/ReadmeEntity_lean.ts +29 -0
- package/.sdk/src/cmp/lean/ReadmeExplanation_lean.ts +19 -0
- package/.sdk/src/cmp/lean/ReadmeHowto_lean.ts +25 -0
- package/.sdk/src/cmp/lean/ReadmeInstall_lean.ts +39 -0
- package/.sdk/src/cmp/lean/ReadmeIntro_lean.ts +25 -0
- package/.sdk/src/cmp/lean/ReadmeModel_lean.ts +24 -0
- package/.sdk/src/cmp/lean/ReadmeOptions_lean.ts +22 -0
- package/.sdk/src/cmp/lean/ReadmeQuick_lean.ts +50 -0
- package/.sdk/src/cmp/lean/ReadmeRef_lean.ts +40 -0
- package/.sdk/src/cmp/lean/ReadmeTopHowto_lean.ts +16 -0
- package/.sdk/src/cmp/lean/ReadmeTopQuick_lean.ts +23 -0
- package/.sdk/src/cmp/lean/ReadmeTopTest_lean.ts +19 -0
- package/.sdk/src/cmp/lean/Test_lean.ts +261 -0
- package/.sdk/src/cmp/lean/utility_lean.ts +129 -0
- package/.sdk/tm/dart/LICENSE +22 -0
- package/.sdk/tm/dart/Makefile +50 -0
- package/.sdk/tm/dart/lib/Context.dart +150 -0
- package/.sdk/tm/dart/lib/Control.dart +15 -0
- package/.sdk/tm/dart/lib/Operation.dart +31 -0
- package/.sdk/tm/dart/lib/Point.dart +51 -0
- package/.sdk/tm/dart/lib/Response.dart +32 -0
- package/.sdk/tm/dart/lib/Result.dart +39 -0
- package/.sdk/tm/dart/lib/Spec.dart +49 -0
- package/.sdk/tm/dart/lib/feature/audit/AuditFeature.dart +103 -0
- package/.sdk/tm/dart/lib/feature/base/BaseFeature.dart +76 -0
- package/.sdk/tm/dart/lib/feature/cache/CacheFeature.dart +152 -0
- package/.sdk/tm/dart/lib/feature/clienttrack/ClienttrackFeature.dart +104 -0
- package/.sdk/tm/dart/lib/feature/cost/CostFeature.dart +446 -0
- package/.sdk/tm/dart/lib/feature/debug/DebugFeature.dart +153 -0
- package/.sdk/tm/dart/lib/feature/idempotency/IdempotencyFeature.dart +92 -0
- package/.sdk/tm/dart/lib/feature/log/LogFeature.dart +85 -0
- package/.sdk/tm/dart/lib/feature/metrics/MetricsFeature.dart +103 -0
- package/.sdk/tm/dart/lib/feature/netsim/NetsimFeature.dart +186 -0
- package/.sdk/tm/dart/lib/feature/paging/PagingFeature.dart +240 -0
- package/.sdk/tm/dart/lib/feature/proxy/ProxyFeature.dart +118 -0
- package/.sdk/tm/dart/lib/feature/ratelimit/RatelimitFeature.dart +103 -0
- package/.sdk/tm/dart/lib/feature/rbac/RbacFeature.dart +121 -0
- package/.sdk/tm/dart/lib/feature/retry/RetryFeature.dart +155 -0
- package/.sdk/tm/dart/lib/feature/secrets/SecretsFeature.dart +649 -0
- package/.sdk/tm/dart/lib/feature/secrets/plugin/capability.dart +105 -0
- package/.sdk/tm/dart/lib/feature/secrets/plugin/catalog.dart +46 -0
- package/.sdk/tm/dart/lib/feature/secrets/plugin/config.dart +297 -0
- package/.sdk/tm/dart/lib/feature/secrets/plugin/depend.dart +198 -0
- package/.sdk/tm/dart/lib/feature/secrets/plugin/env.dart +144 -0
- package/.sdk/tm/dart/lib/feature/secrets/plugin/export.dart +58 -0
- package/.sdk/tm/dart/lib/feature/secrets/plugin/graph.dart +160 -0
- package/.sdk/tm/dart/lib/feature/secrets/plugin/host.dart +1067 -0
- package/.sdk/tm/dart/lib/feature/secrets/plugin/order.dart +172 -0
- package/.sdk/tm/dart/lib/feature/secrets/plugin/plugin.dart +23 -0
- package/.sdk/tm/dart/lib/feature/secrets/plugin/point.dart +117 -0
- package/.sdk/tm/dart/lib/feature/secrets/plugin/ref.dart +105 -0
- package/.sdk/tm/dart/lib/feature/secrets/plugin/resolve.dart +58 -0
- package/.sdk/tm/dart/lib/feature/secrets/plugin/types.dart +201 -0
- package/.sdk/tm/dart/lib/feature/secrets/plugin/version.dart +116 -0
- package/.sdk/tm/dart/lib/feature/secrets/sekreto/plugins/aws.dart +285 -0
- package/.sdk/tm/dart/lib/feature/secrets/sekreto/plugins/azuresecrets.dart +178 -0
- package/.sdk/tm/dart/lib/feature/secrets/sekreto/plugins/boru.dart +145 -0
- package/.sdk/tm/dart/lib/feature/secrets/sekreto/plugins/crypto.dart +194 -0
- package/.sdk/tm/dart/lib/feature/secrets/sekreto/plugins/doppler.dart +101 -0
- package/.sdk/tm/dart/lib/feature/secrets/sekreto/plugins/gcpsecrets.dart +143 -0
- package/.sdk/tm/dart/lib/feature/secrets/sekreto/plugins/hashicorp.dart +190 -0
- package/.sdk/tm/dart/lib/feature/secrets/sekreto/plugins/httpjson.dart +363 -0
- package/.sdk/tm/dart/lib/feature/secrets/sekreto/plugins/infisical.dart +149 -0
- package/.sdk/tm/dart/lib/feature/secrets/sekreto/plugins/onepassword.dart +146 -0
- package/.sdk/tm/dart/lib/feature/secrets/sekreto/plugins/secretspec.dart +116 -0
- package/.sdk/tm/dart/lib/feature/secrets/sekreto/plugins/sigv4.dart +237 -0
- package/.sdk/tm/dart/lib/feature/secrets/sekreto/src/addr.dart +138 -0
- package/.sdk/tm/dart/lib/feature/secrets/sekreto/src/json.dart +276 -0
- package/.sdk/tm/dart/lib/feature/secrets/sekreto/src/provider.dart +31 -0
- package/.sdk/tm/dart/lib/feature/secrets/sekreto/src/providers.dart +243 -0
- package/.sdk/tm/dart/lib/feature/secrets/sekreto/src/sekreto.dart +730 -0
- package/.sdk/tm/dart/lib/feature/secrets/sekreto/src/spec.dart +200 -0
- package/.sdk/tm/dart/lib/feature/secrets/sekreto/src/support.dart +217 -0
- package/.sdk/tm/dart/lib/feature/streaming/StreamingFeature.dart +97 -0
- package/.sdk/tm/dart/lib/feature/telemetry/TelemetryFeature.dart +136 -0
- package/.sdk/tm/dart/lib/feature/test/TestFeature.dart +328 -0
- package/.sdk/tm/dart/lib/feature/timeout/TimeoutFeature.dart +104 -0
- package/.sdk/tm/dart/lib/utility/CleanUtility.dart +12 -0
- package/.sdk/tm/dart/lib/utility/DoneUtility.dart +18 -0
- package/.sdk/tm/dart/lib/utility/ErrUtility.dart +46 -0
- package/.sdk/tm/dart/lib/utility/FeatureAddUtility.dart +35 -0
- package/.sdk/tm/dart/lib/utility/FeatureHookUtility.dart +20 -0
- package/.sdk/tm/dart/lib/utility/FeatureInitUtility.dart +9 -0
- package/.sdk/tm/dart/lib/utility/FetcherUtility.dart +104 -0
- package/.sdk/tm/dart/lib/utility/GraphqlUtility.dart +162 -0
- package/.sdk/tm/dart/lib/utility/MakeContextUtility.dart +6 -0
- package/.sdk/tm/dart/lib/utility/MakeErrorUtility.dart +71 -0
- package/.sdk/tm/dart/lib/utility/MakeFetchDefUtility.dart +42 -0
- package/.sdk/tm/dart/lib/utility/MakeOptionsUtility.dart +233 -0
- package/.sdk/tm/dart/lib/utility/MakePointUtility.dart +130 -0
- package/.sdk/tm/dart/lib/utility/MakeRequestUtility.dart +66 -0
- package/.sdk/tm/dart/lib/utility/MakeResponseUtility.dart +59 -0
- package/.sdk/tm/dart/lib/utility/MakeResultUtility.dart +49 -0
- package/.sdk/tm/dart/lib/utility/MakeSpecUtility.dart +77 -0
- package/.sdk/tm/dart/lib/utility/MakeUrlUtility.dart +51 -0
- package/.sdk/tm/dart/lib/utility/ParamUtility.dart +56 -0
- package/.sdk/tm/dart/lib/utility/PrepareAuthUtility.dart +46 -0
- package/.sdk/tm/dart/lib/utility/PrepareBodyUtility.dart +19 -0
- package/.sdk/tm/dart/lib/utility/PrepareHeadersUtility.dart +11 -0
- package/.sdk/tm/dart/lib/utility/PrepareMethodUtility.dart +30 -0
- package/.sdk/tm/dart/lib/utility/PrepareParamsUtility.dart +23 -0
- package/.sdk/tm/dart/lib/utility/PreparePathUtility.dart +9 -0
- package/.sdk/tm/dart/lib/utility/PrepareQueryUtility.dart +18 -0
- package/.sdk/tm/dart/lib/utility/ResultBasicUtility.dart +29 -0
- package/.sdk/tm/dart/lib/utility/ResultBodyUtility.dart +15 -0
- package/.sdk/tm/dart/lib/utility/ResultHeadersUtility.dart +18 -0
- package/.sdk/tm/dart/lib/utility/StructUtility.dart +127 -0
- package/.sdk/tm/dart/lib/utility/TransformRequestUtility.dart +28 -0
- package/.sdk/tm/dart/lib/utility/TransformResponseUtility.dart +44 -0
- package/.sdk/tm/dart/lib/utility/Utility.dart +239 -0
- package/.sdk/tm/dart/lib/utility/voxgig_struct.dart +2462 -0
- package/.sdk/tm/dart/src/feature/README.md +3 -0
- package/.sdk/tm/dart/src/feature/audit/.gitkeep +0 -0
- package/.sdk/tm/dart/src/feature/base/.gitkeep +0 -0
- package/.sdk/tm/dart/src/feature/cache/.gitkeep +0 -0
- package/.sdk/tm/dart/src/feature/clienttrack/.gitkeep +0 -0
- package/.sdk/tm/dart/src/feature/cost/.gitkeep +0 -0
- package/.sdk/tm/dart/src/feature/debug/.gitkeep +0 -0
- package/.sdk/tm/dart/src/feature/idempotency/.gitkeep +0 -0
- package/.sdk/tm/dart/src/feature/log/.gitkeep +0 -0
- package/.sdk/tm/dart/src/feature/metrics/.gitkeep +0 -0
- package/.sdk/tm/dart/src/feature/netsim/.gitkeep +0 -0
- package/.sdk/tm/dart/src/feature/paging/.gitkeep +0 -0
- package/.sdk/tm/dart/src/feature/proxy/.gitkeep +0 -0
- package/.sdk/tm/dart/src/feature/ratelimit/.gitkeep +0 -0
- package/.sdk/tm/dart/src/feature/rbac/.gitkeep +0 -0
- package/.sdk/tm/dart/src/feature/retry/.gitkeep +0 -0
- package/.sdk/tm/dart/src/feature/secrets/.gitkeep +0 -0
- package/.sdk/tm/dart/src/feature/streaming/.gitkeep +0 -0
- package/.sdk/tm/dart/src/feature/telemetry/.gitkeep +0 -0
- package/.sdk/tm/dart/src/feature/test/.gitkeep +0 -0
- package/.sdk/tm/dart/src/feature/timeout/.gitkeep +0 -0
- package/.sdk/tm/dart/test/custom_test.dart +65 -0
- package/.sdk/tm/dart/test/exists_test.dart +12 -0
- package/.sdk/tm/dart/test/feature/harness.dart +347 -0
- package/.sdk/tm/dart/test/feature/secrets/secrets_test.dart +1107 -0
- package/.sdk/tm/dart/test/feature_test.dart +1193 -0
- package/.sdk/tm/dart/test/harness.dart +153 -0
- package/.sdk/tm/dart/test/netsim_test.dart +48 -0
- package/.sdk/tm/dart/test/omni.dart +520 -0
- package/.sdk/tm/dart/test/omni_smoke_test.dart +143 -0
- package/.sdk/tm/dart/test/pipeline_test.dart +608 -0
- package/.sdk/tm/dart/test/primary_test.dart +476 -0
- package/.sdk/tm/dart/test/sdk-test-control.json +19 -0
- package/.sdk/tm/dart/test/struct_test.dart +468 -0
- package/.sdk/tm/dart/test/utility.dart +198 -0
- package/.sdk/tm/dart/test/vendor/omni/omni.dart +7 -0
- package/.sdk/tm/dart/test/vendor/omni/runner.dart +653 -0
- package/.sdk/tm/dart/test/vendor/omni/util.dart +232 -0
- package/.sdk/tm/haskell/LICENSE +21 -0
- package/.sdk/tm/haskell/Makefile +22 -0
- package/.sdk/tm/haskell/VERSION +1 -0
- package/.sdk/tm/haskell/src/SdkFeatures.hs +1440 -0
- package/.sdk/tm/haskell/src/SdkHelpers.hs +337 -0
- package/.sdk/tm/haskell/src/SdkJson.hs +111 -0
- package/.sdk/tm/haskell/src/SdkRuntime.hs +1279 -0
- package/.sdk/tm/haskell/src/SdkTypes.hs +195 -0
- package/.sdk/tm/haskell/src/VoxgigStruct.hs +2299 -0
- package/.sdk/tm/haskell/src/Vregex.hs +237 -0
- package/.sdk/tm/haskell/src/feature/README.md +5 -0
- package/.sdk/tm/haskell/src/feature/audit/.gitkeep +0 -0
- package/.sdk/tm/haskell/src/feature/base/.gitkeep +0 -0
- package/.sdk/tm/haskell/src/feature/cache/.gitkeep +0 -0
- package/.sdk/tm/haskell/src/feature/clienttrack/.gitkeep +0 -0
- package/.sdk/tm/haskell/src/feature/debug/.gitkeep +0 -0
- package/.sdk/tm/haskell/src/feature/idempotency/.gitkeep +0 -0
- package/.sdk/tm/haskell/src/feature/log/.gitkeep +0 -0
- package/.sdk/tm/haskell/src/feature/metrics/.gitkeep +0 -0
- package/.sdk/tm/haskell/src/feature/netsim/.gitkeep +0 -0
- package/.sdk/tm/haskell/src/feature/paging/.gitkeep +0 -0
- package/.sdk/tm/haskell/src/feature/proxy/.gitkeep +0 -0
- package/.sdk/tm/haskell/src/feature/ratelimit/.gitkeep +0 -0
- package/.sdk/tm/haskell/src/feature/rbac/.gitkeep +0 -0
- package/.sdk/tm/haskell/src/feature/retry/.gitkeep +0 -0
- package/.sdk/tm/haskell/src/feature/streaming/.gitkeep +0 -0
- package/.sdk/tm/haskell/src/feature/telemetry/.gitkeep +0 -0
- package/.sdk/tm/haskell/src/feature/test/.gitkeep +0 -0
- package/.sdk/tm/haskell/src/feature/timeout/.gitkeep +0 -0
- package/.sdk/tm/haskell/test/Harness.hs +281 -0
- package/.sdk/tm/haskell/test/OmniResolver.hs +252 -0
- package/.sdk/tm/haskell/test/Runner.hs +49 -0
- package/.sdk/tm/haskell/test/StructCorpus.hs +449 -0
- package/.sdk/tm/haskell/test/TCustomUtility.hs +38 -0
- package/.sdk/tm/haskell/test/TFeature.hs +794 -0
- package/.sdk/tm/haskell/test/TNetsim.hs +50 -0
- package/.sdk/tm/haskell/test/TPipeline.hs +334 -0
- package/.sdk/tm/haskell/test/TPrimaryCorpus.hs +263 -0
- package/.sdk/tm/haskell/test/TPrimaryUtility.hs +386 -0
- package/.sdk/tm/haskell/test/Testutil.hs +59 -0
- package/.sdk/tm/haskell/test/vendor/omni/Omni.hs +1147 -0
- package/.sdk/tm/lean/LICENSE +21 -0
- package/.sdk/tm/lean/Makefile +32 -0
- package/.sdk/tm/lean/VERSION +1 -0
- package/.sdk/tm/lean/src/SdkFeature.lean +171 -0
- package/.sdk/tm/lean/src/SdkFeatures.lean +787 -0
- package/.sdk/tm/lean/src/SdkJson.lean +134 -0
- package/.sdk/tm/lean/src/SdkRuntime.lean +374 -0
- package/.sdk/tm/lean/src/SdkUtility.lean +809 -0
- package/.sdk/tm/lean/src/VoxgigStruct.lean +2880 -0
- package/.sdk/tm/lean/src/Vregex.lean +412 -0
- package/.sdk/tm/lean/src/feature/README.md +5 -0
- package/.sdk/tm/lean/src/feature/audit/.gitkeep +0 -0
- package/.sdk/tm/lean/src/feature/base/.gitkeep +0 -0
- package/.sdk/tm/lean/src/feature/cache/.gitkeep +0 -0
- package/.sdk/tm/lean/src/feature/clienttrack/.gitkeep +0 -0
- package/.sdk/tm/lean/src/feature/cost/.gitkeep +0 -0
- package/.sdk/tm/lean/src/feature/debug/.gitkeep +0 -0
- package/.sdk/tm/lean/src/feature/idempotency/.gitkeep +0 -0
- package/.sdk/tm/lean/src/feature/log/.gitkeep +0 -0
- package/.sdk/tm/lean/src/feature/metrics/.gitkeep +0 -0
- package/.sdk/tm/lean/src/feature/netsim/.gitkeep +0 -0
- package/.sdk/tm/lean/src/feature/paging/.gitkeep +0 -0
- package/.sdk/tm/lean/src/feature/proxy/.gitkeep +0 -0
- package/.sdk/tm/lean/src/feature/ratelimit/.gitkeep +0 -0
- package/.sdk/tm/lean/src/feature/rbac/.gitkeep +0 -0
- package/.sdk/tm/lean/src/feature/retry/.gitkeep +0 -0
- package/.sdk/tm/lean/src/feature/streaming/.gitkeep +0 -0
- package/.sdk/tm/lean/src/feature/telemetry/.gitkeep +0 -0
- package/.sdk/tm/lean/src/feature/test/.gitkeep +0 -0
- package/.sdk/tm/lean/src/feature/timeout/.gitkeep +0 -0
- package/.sdk/tm/lean/test/OmniResolver.lean +358 -0
- package/.sdk/tm/lean/test/OmniSmoke.lean +174 -0
- package/.sdk/tm/lean/test/StructCorpus.lean +368 -0
- package/.sdk/tm/lean/test/TFeature.lean +281 -0
- package/.sdk/tm/lean/test/TPrimaryUtility.lean +227 -0
- package/.sdk/tm/lean/test/vendor/omni/Omni.lean +997 -0
- package/LICENSE +21 -0
- package/README.md +104 -0
- package/package.json +78 -0
- package/sdkgen-package.json +22 -0
|
@@ -0,0 +1,476 @@
|
|
|
1
|
+
// Primary utility corpus tests. Port of ts test/utility/PrimaryUtility.test.ts:
|
|
2
|
+
// drives the scaffold corpus (group "primary") through the SDK's utility
|
|
3
|
+
// functions via the VENDORED @voxgig/omni runner, reached through the
|
|
4
|
+
// resolver in test/omni.dart (which supersedes the hand-written
|
|
5
|
+
// test/runner.dart).
|
|
6
|
+
//
|
|
7
|
+
// The call sites below are unchanged by the swap: a ctx-carrying entry still
|
|
8
|
+
// reaches its subject as a real Context, because the resolver materialises
|
|
9
|
+
// one from omni's ctx map at the subject boundary and writes the Context's
|
|
10
|
+
// observable state back for `match: {ctx: ...}` (test/omni.dart, decision 3).
|
|
11
|
+
|
|
12
|
+
import 'harness.dart';
|
|
13
|
+
import 'omni.dart';
|
|
14
|
+
|
|
15
|
+
import '../lib/ProjectNameSDK.dart';
|
|
16
|
+
import '../lib/Point.dart';
|
|
17
|
+
import '../lib/utility/ErrUtility.dart';
|
|
18
|
+
import '../lib/utility/voxgig_struct.dart' as vs;
|
|
19
|
+
|
|
20
|
+
const TEST_JSON_FILE = '../.sdk/test/test.json';
|
|
21
|
+
|
|
22
|
+
dynamic _spec;
|
|
23
|
+
dynamic _runset;
|
|
24
|
+
dynamic _client;
|
|
25
|
+
dynamic _utility;
|
|
26
|
+
Run? _run;
|
|
27
|
+
|
|
28
|
+
Future<void>? _setupF;
|
|
29
|
+
|
|
30
|
+
Future<void> _setup() {
|
|
31
|
+
return _setupF ??= () async {
|
|
32
|
+
final runner = makeRunner(TEST_JSON_FILE, ProjectNameSDK.test());
|
|
33
|
+
final run = runner('primary');
|
|
34
|
+
|
|
35
|
+
_run = run;
|
|
36
|
+
_spec = run.spec;
|
|
37
|
+
_runset = run.runset;
|
|
38
|
+
_client = run.client;
|
|
39
|
+
_utility = _client.utility();
|
|
40
|
+
}();
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// Ensure ctx has options derived from client when needed.
|
|
44
|
+
void _fixctx(dynamic ctx) {
|
|
45
|
+
if (null != ctx && null != ctx.client && null == ctx.options) {
|
|
46
|
+
ctx.options = ctx.client.options();
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
dynamic _g(String path) => vs.getpath(_spec, path);
|
|
51
|
+
|
|
52
|
+
// Drive one primary corpus section by name. A MISSING, non-set or EMPTY
|
|
53
|
+
// section fails HERE, before any subject runs — the same guard struct_test's
|
|
54
|
+
// `_sec` carries, and the hole this file used to leave open: a fixture that
|
|
55
|
+
// shipped `set: []` drove zero assertions and reported PASS (the stale
|
|
56
|
+
// "preparePath has no cases" note this file carried was exactly that state
|
|
57
|
+
// going unnoticed).
|
|
58
|
+
//
|
|
59
|
+
// The post-check counts what the ENGINE EXECUTED, not what the spec declares:
|
|
60
|
+
// `Run.caseCount` only advances inside omni's execute pass, one increment per
|
|
61
|
+
// subject call it actually made (test/omni.dart, decision 1). So the equality
|
|
62
|
+
// below is spec-vs-engine, and a disconnected or short-circuited engine fails
|
|
63
|
+
// it — a count that could not tell those apart would be worse than none.
|
|
64
|
+
Future<void> _sec(String name, dynamic subject) async {
|
|
65
|
+
final secspec = _g(name);
|
|
66
|
+
ok(null != secspec,
|
|
67
|
+
'primary corpus section missing: ' + name +
|
|
68
|
+
' - check .sdk/test/test.json');
|
|
69
|
+
|
|
70
|
+
final testset = vs.getprop(secspec, 'set');
|
|
71
|
+
ok(testset is List && testset.isNotEmpty,
|
|
72
|
+
'primary corpus section is EMPTY: ' + name +
|
|
73
|
+
' - zero cases would run');
|
|
74
|
+
|
|
75
|
+
final declared = (testset as List).length;
|
|
76
|
+
final before = _run!.caseCount;
|
|
77
|
+
await _runset(secspec, subject);
|
|
78
|
+
final drove = _run!.caseCount - before;
|
|
79
|
+
|
|
80
|
+
equal(declared, drove,
|
|
81
|
+
'primary corpus section ' + name +
|
|
82
|
+
' declares cases the engine did not drive');
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
void tests() {
|
|
86
|
+
describe('PrimaryUtility', () {
|
|
87
|
+
test('exists', (t) async {
|
|
88
|
+
await _setup();
|
|
89
|
+
const fns = [
|
|
90
|
+
'clean', 'done', 'makeError', 'featureAdd', 'featureHook',
|
|
91
|
+
'featureInit', 'fetcher', 'makeFetchDef', 'makeContext',
|
|
92
|
+
'makeOptions', 'makeRequest', 'makeResponse', 'makeResult',
|
|
93
|
+
'makePoint', 'makeSpec', 'makeUrl', 'param', 'prepareAuth',
|
|
94
|
+
'prepareBody', 'prepareHeaders', 'prepareMethod', 'prepareParams',
|
|
95
|
+
'preparePath', 'prepareQuery', 'resultBasic', 'resultBody',
|
|
96
|
+
'resultHeaders', 'transformRequest', 'transformResponse',
|
|
97
|
+
];
|
|
98
|
+
for (final fn in fns) {
|
|
99
|
+
ok(null != _utility.byName(fn), fn + ' should be a function');
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
test('context-basic', (t) async {
|
|
104
|
+
await _setup();
|
|
105
|
+
await _sec('makeContext.basic', _utility.makeContext);
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
test('method-basic', (t) async {
|
|
109
|
+
await _setup();
|
|
110
|
+
await _sec('prepareMethod.basic', _utility.prepareMethod);
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
test('headers-basic', (t) async {
|
|
114
|
+
await _setup();
|
|
115
|
+
await _sec('prepareHeaders.basic', _utility.prepareHeaders);
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
test('auth-basic', (t) async {
|
|
119
|
+
await _setup();
|
|
120
|
+
final sdkopts = vs.getpath(_spec, 'prepareAuth.DEF.setup.a') ?? {};
|
|
121
|
+
final authClient = ProjectNameSDK.test({}, sdkopts);
|
|
122
|
+
await _sec('prepareAuth.basic', (dynamic ctx) {
|
|
123
|
+
ctx.client = authClient;
|
|
124
|
+
_fixctx(ctx);
|
|
125
|
+
return _utility.prepareAuth(ctx);
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
test('params-basic', (t) async {
|
|
130
|
+
await _setup();
|
|
131
|
+
await _sec('prepareParams.basic', _utility.prepareParams);
|
|
132
|
+
});
|
|
133
|
+
|
|
134
|
+
test('query-basic', (t) async {
|
|
135
|
+
await _setup();
|
|
136
|
+
await _sec('prepareQuery.basic', _utility.prepareQuery);
|
|
137
|
+
});
|
|
138
|
+
|
|
139
|
+
// preparePath once shipped as an empty `set: []`, so no port drove it and
|
|
140
|
+
// several kept private hand-written cases instead. It carries real cases
|
|
141
|
+
// now, and `_sec` is what keeps that true: were it emptied again, this
|
|
142
|
+
// case would fail instead of quietly asserting nothing.
|
|
143
|
+
test('path-basic', (t) async {
|
|
144
|
+
await _setup();
|
|
145
|
+
await _sec('preparePath.basic', _utility.preparePath);
|
|
146
|
+
});
|
|
147
|
+
|
|
148
|
+
test('body-basic', (t) async {
|
|
149
|
+
await _setup();
|
|
150
|
+
await _sec('prepareBody.basic', (dynamic ctx) {
|
|
151
|
+
_fixctx(ctx);
|
|
152
|
+
return _utility.prepareBody(ctx);
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
test('findparam-basic', (t) async {
|
|
157
|
+
await _setup();
|
|
158
|
+
await _sec('param.basic', _utility.param);
|
|
159
|
+
});
|
|
160
|
+
|
|
161
|
+
test('fullurl-basic', (t) async {
|
|
162
|
+
await _setup();
|
|
163
|
+
await _sec('makeUrl.basic', _utility.makeUrl);
|
|
164
|
+
});
|
|
165
|
+
|
|
166
|
+
test('operator-basic', (t) async {
|
|
167
|
+
await _setup();
|
|
168
|
+
await _sec('operator.basic', (dynamic opmap) {
|
|
169
|
+
return {
|
|
170
|
+
'entity': opmap['entity'] ?? '_',
|
|
171
|
+
'name': opmap['name'] ?? '_',
|
|
172
|
+
'input': opmap['input'] ?? '_',
|
|
173
|
+
'points': opmap['points'] ?? [],
|
|
174
|
+
};
|
|
175
|
+
});
|
|
176
|
+
});
|
|
177
|
+
|
|
178
|
+
test('options-basic', (t) async {
|
|
179
|
+
await _setup();
|
|
180
|
+
await _sec('makeOptions.basic', (dynamic vin) {
|
|
181
|
+
final ctx = _utility.makeContext(
|
|
182
|
+
{'options': vin['options'], 'config': vin['config']});
|
|
183
|
+
ctx.client = _client;
|
|
184
|
+
ctx.utility = _client.utility();
|
|
185
|
+
return _utility.makeOptions(ctx);
|
|
186
|
+
});
|
|
187
|
+
});
|
|
188
|
+
|
|
189
|
+
test('spec-basic', (t) async {
|
|
190
|
+
await _setup();
|
|
191
|
+
final sdkopts = vs.getpath(_spec, 'makeSpec.DEF.setup.a') ?? {};
|
|
192
|
+
final specClient = ProjectNameSDK.test({}, sdkopts);
|
|
193
|
+
await _sec('makeSpec.basic', (dynamic ctx) {
|
|
194
|
+
ctx.client = specClient;
|
|
195
|
+
ctx.options = specClient.options();
|
|
196
|
+
return _utility.makeSpec(ctx);
|
|
197
|
+
});
|
|
198
|
+
});
|
|
199
|
+
|
|
200
|
+
test('reqform-basic', (t) async {
|
|
201
|
+
await _setup();
|
|
202
|
+
await _sec('transformRequest.basic', _utility.transformRequest);
|
|
203
|
+
});
|
|
204
|
+
|
|
205
|
+
test('resform-basic', (t) async {
|
|
206
|
+
await _setup();
|
|
207
|
+
await _sec('transformResponse.basic', _utility.transformResponse);
|
|
208
|
+
});
|
|
209
|
+
|
|
210
|
+
test('resbasic-basic', (t) async {
|
|
211
|
+
await _setup();
|
|
212
|
+
await _sec('resultBasic.basic', (dynamic ctx) {
|
|
213
|
+
_fixctx(ctx);
|
|
214
|
+
return _utility.resultBasic(ctx);
|
|
215
|
+
});
|
|
216
|
+
});
|
|
217
|
+
|
|
218
|
+
test('resheaders-basic', (t) async {
|
|
219
|
+
await _setup();
|
|
220
|
+
await _sec('resultHeaders.basic', (dynamic ctx) {
|
|
221
|
+
// Header keys reach the pipeline lowercased by the transport.
|
|
222
|
+
if (null != ctx.response && ctx.response.headers is Map) {
|
|
223
|
+
final h = <String, dynamic>{};
|
|
224
|
+
(ctx.response.headers as Map)
|
|
225
|
+
.forEach((k, v) => h[k.toString().toLowerCase()] = v);
|
|
226
|
+
ctx.response.headers = h;
|
|
227
|
+
}
|
|
228
|
+
return _utility.resultHeaders(ctx);
|
|
229
|
+
});
|
|
230
|
+
});
|
|
231
|
+
|
|
232
|
+
test('resbody-basic', (t) async {
|
|
233
|
+
await _setup();
|
|
234
|
+
await _sec('resultBody.basic', (dynamic ctx) async {
|
|
235
|
+
if (null != ctx.response && null == ctx.response.jsonFn) {
|
|
236
|
+
final body = ctx.response.body;
|
|
237
|
+
ctx.response.jsonFn = () => body;
|
|
238
|
+
}
|
|
239
|
+
return _utility.resultBody(ctx);
|
|
240
|
+
});
|
|
241
|
+
});
|
|
242
|
+
|
|
243
|
+
test('request-basic', (t) async {
|
|
244
|
+
await _setup();
|
|
245
|
+
mockFetch(dynamic url, dynamic init) async => {
|
|
246
|
+
'status': 200,
|
|
247
|
+
'statusText': 'OK',
|
|
248
|
+
'headers': {'content-type': 'application/json'},
|
|
249
|
+
'json': () => {'id': 'res01'},
|
|
250
|
+
'body': 'present',
|
|
251
|
+
};
|
|
252
|
+
final reqClient = ProjectNameSDK({
|
|
253
|
+
'system': {'fetch': mockFetch}
|
|
254
|
+
});
|
|
255
|
+
final reqUtility = reqClient.utility();
|
|
256
|
+
await _sec('makeRequest.basic', (dynamic ctx) async {
|
|
257
|
+
ctx.client = reqClient;
|
|
258
|
+
ctx.utility = reqUtility;
|
|
259
|
+
ctx.options = reqClient.options();
|
|
260
|
+
return reqUtility.makeRequest(ctx);
|
|
261
|
+
});
|
|
262
|
+
});
|
|
263
|
+
|
|
264
|
+
test('response-basic', (t) async {
|
|
265
|
+
await _setup();
|
|
266
|
+
await _sec('makeResponse.basic', (dynamic ctx) async {
|
|
267
|
+
_fixctx(ctx);
|
|
268
|
+
if (null != ctx.response && null == ctx.response.jsonFn) {
|
|
269
|
+
final body = ctx.response.body;
|
|
270
|
+
ctx.response.jsonFn = () => body;
|
|
271
|
+
}
|
|
272
|
+
if (null != ctx.response && ctx.response.headers is Map) {
|
|
273
|
+
final h = <String, dynamic>{};
|
|
274
|
+
(ctx.response.headers as Map)
|
|
275
|
+
.forEach((k, v) => h[k.toString().toLowerCase()] = v);
|
|
276
|
+
ctx.response.headers = h;
|
|
277
|
+
}
|
|
278
|
+
return _utility.makeResponse(ctx);
|
|
279
|
+
});
|
|
280
|
+
});
|
|
281
|
+
|
|
282
|
+
test('done-basic', (t) async {
|
|
283
|
+
await _setup();
|
|
284
|
+
await _sec('done.basic', (dynamic ctx) {
|
|
285
|
+
_fixctx(ctx);
|
|
286
|
+
return _utility.done(ctx);
|
|
287
|
+
});
|
|
288
|
+
});
|
|
289
|
+
|
|
290
|
+
test('error-basic', (t) async {
|
|
291
|
+
await _setup();
|
|
292
|
+
await _sec('makeError.basic', (dynamic ctx, [dynamic err]) {
|
|
293
|
+
_fixctx(ctx);
|
|
294
|
+
return _utility.makeError(ctx, err);
|
|
295
|
+
});
|
|
296
|
+
});
|
|
297
|
+
|
|
298
|
+
test('makePoint-single', (t) async {
|
|
299
|
+
await _setup();
|
|
300
|
+
final ctx = _makeCtx();
|
|
301
|
+
final point = Point({
|
|
302
|
+
'parts': ['items', '{id}'],
|
|
303
|
+
'args': {'params': []},
|
|
304
|
+
'params': [],
|
|
305
|
+
'alias': {},
|
|
306
|
+
'select': {},
|
|
307
|
+
'active': true,
|
|
308
|
+
'transform': {'req': null, 'res': null},
|
|
309
|
+
});
|
|
310
|
+
ctx.op.points = [point];
|
|
311
|
+
|
|
312
|
+
final result = _utility.makePoint(ctx);
|
|
313
|
+
ok(!iserr(result));
|
|
314
|
+
equal(true, identical(ctx.point, point));
|
|
315
|
+
});
|
|
316
|
+
|
|
317
|
+
test('makeFetchDef', (t) async {
|
|
318
|
+
await _setup();
|
|
319
|
+
final ctx = _makeFullCtx();
|
|
320
|
+
ctx.spec = _specOf({
|
|
321
|
+
'base': 'http://localhost:8080',
|
|
322
|
+
'prefix': '/api',
|
|
323
|
+
'path': 'items/{id}',
|
|
324
|
+
'suffix': '',
|
|
325
|
+
'params': {'id': 'item01'},
|
|
326
|
+
'query': {},
|
|
327
|
+
'headers': {'content-type': 'application/json'},
|
|
328
|
+
'method': 'GET',
|
|
329
|
+
'step': 'start',
|
|
330
|
+
});
|
|
331
|
+
|
|
332
|
+
final fetchdef = _utility.makeFetchDef(ctx);
|
|
333
|
+
ok(!iserr(fetchdef), 'should not be error');
|
|
334
|
+
equal('GET', fetchdef['method']);
|
|
335
|
+
ok(fetchdef['url'].toString().contains('/api/items/item01'));
|
|
336
|
+
equal('application/json', fetchdef['headers']['content-type']);
|
|
337
|
+
ok(null == fetchdef['body']);
|
|
338
|
+
});
|
|
339
|
+
|
|
340
|
+
test('makeFetchDef-with-body', (t) async {
|
|
341
|
+
await _setup();
|
|
342
|
+
final ctx = _makeFullCtx();
|
|
343
|
+
ctx.spec = _specOf({
|
|
344
|
+
'base': 'http://localhost:8080',
|
|
345
|
+
'prefix': '',
|
|
346
|
+
'path': 'items',
|
|
347
|
+
'suffix': '',
|
|
348
|
+
'params': {},
|
|
349
|
+
'query': {},
|
|
350
|
+
'headers': {},
|
|
351
|
+
'method': 'POST',
|
|
352
|
+
'step': 'start',
|
|
353
|
+
'body': {'name': 'n0'},
|
|
354
|
+
});
|
|
355
|
+
|
|
356
|
+
final fetchdef = _utility.makeFetchDef(ctx);
|
|
357
|
+
ok(!iserr(fetchdef));
|
|
358
|
+
equal('POST', fetchdef['method']);
|
|
359
|
+
ok(fetchdef['body'] is String);
|
|
360
|
+
ok(fetchdef['body'].toString().contains('"n0"'));
|
|
361
|
+
});
|
|
362
|
+
|
|
363
|
+
test('fetcher-live', (t) async {
|
|
364
|
+
await _setup();
|
|
365
|
+
final calls = <Map<String, dynamic>>[];
|
|
366
|
+
final liveClient = ProjectNameSDK({
|
|
367
|
+
'system': {
|
|
368
|
+
'fetch': (dynamic url, dynamic init) async {
|
|
369
|
+
calls.add({'url': url, 'init': init});
|
|
370
|
+
return {'status': 200, 'statusText': 'OK'};
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
});
|
|
374
|
+
final liveUtility = liveClient.utility();
|
|
375
|
+
final ctx =
|
|
376
|
+
liveUtility.makeContext({'opname': 'load'}, liveClient.rootctx);
|
|
377
|
+
ctx.client = liveClient;
|
|
378
|
+
|
|
379
|
+
final fetchdef = {'method': 'GET', 'headers': {}};
|
|
380
|
+
final response =
|
|
381
|
+
await liveUtility.fetcher(ctx, 'http://example.com/test', fetchdef);
|
|
382
|
+
ok(!iserr(response));
|
|
383
|
+
equal(1, calls.length);
|
|
384
|
+
equal('http://example.com/test', calls[0]['url']);
|
|
385
|
+
});
|
|
386
|
+
|
|
387
|
+
test('fetcher-blocked-test-mode', (t) async {
|
|
388
|
+
await _setup();
|
|
389
|
+
final blockedClient = ProjectNameSDK({
|
|
390
|
+
'system': {'fetch': (dynamic url, dynamic init) async => {}}
|
|
391
|
+
});
|
|
392
|
+
blockedClient.mode = 'test';
|
|
393
|
+
|
|
394
|
+
final blockedUtility = blockedClient.utility();
|
|
395
|
+
final ctx = blockedUtility
|
|
396
|
+
.makeContext({'opname': 'load'}, blockedClient.rootctx);
|
|
397
|
+
ctx.client = blockedClient;
|
|
398
|
+
final fetchdef = {'method': 'GET', 'headers': {}};
|
|
399
|
+
|
|
400
|
+
final result = await blockedUtility.fetcher(
|
|
401
|
+
ctx, 'http://example.com/test', fetchdef);
|
|
402
|
+
ok(iserr(result));
|
|
403
|
+
ok(errmsg(result).contains('mode'));
|
|
404
|
+
});
|
|
405
|
+
|
|
406
|
+
test('makeError-no-throw', (t) async {
|
|
407
|
+
await _setup();
|
|
408
|
+
final ctx = _makeFullCtx();
|
|
409
|
+
ctx.ctrl['throw'] = false;
|
|
410
|
+
ctx.result = _resultOf({
|
|
411
|
+
'ok': false,
|
|
412
|
+
'resdata': {'id': 'safe01'},
|
|
413
|
+
});
|
|
414
|
+
|
|
415
|
+
final out =
|
|
416
|
+
_utility.makeError(ctx, ctx.error('test_code', 'test message'));
|
|
417
|
+
deepEqual(out, {'id': 'safe01'});
|
|
418
|
+
});
|
|
419
|
+
|
|
420
|
+
test('clean', (t) async {
|
|
421
|
+
await _setup();
|
|
422
|
+
final ctx = _makeFullCtx();
|
|
423
|
+
final val = {'key': 'secret123', 'name': 'test'};
|
|
424
|
+
final cleaned = _utility.clean(ctx, val);
|
|
425
|
+
ok(null != cleaned);
|
|
426
|
+
});
|
|
427
|
+
|
|
428
|
+
// The whole-suite backstop, behind `_sec`'s per-section guards: those
|
|
429
|
+
// pin each section to the case count the engine actually drove for it,
|
|
430
|
+
// so a shrunken or emptied section fails in its own case, named. This
|
|
431
|
+
// catches what they cannot — a drive site DELETED outright, which takes
|
|
432
|
+
// its guard with it. Runs last, so it sees every case above.
|
|
433
|
+
test('corpus-cases', (t) async {
|
|
434
|
+
await _setup();
|
|
435
|
+
final cases = _run!.caseCount;
|
|
436
|
+
print('primary corpus: cases ' + cases.toString());
|
|
437
|
+
ok(60 < cases,
|
|
438
|
+
'primary corpus drove only ' + cases.toString() +
|
|
439
|
+
' cases - the corpus stopped running');
|
|
440
|
+
});
|
|
441
|
+
});
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
// Helper functions for manual tests
|
|
445
|
+
dynamic _makeCtx([Map<String, dynamic>? overrides]) {
|
|
446
|
+
final ctxmap = <String, dynamic>{'opname': 'load'};
|
|
447
|
+
overrides?.forEach((k, v) => ctxmap[k] = v);
|
|
448
|
+
return _utility.makeContext(ctxmap, _client.rootctx);
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
dynamic _makeFullCtx([Map<String, dynamic>? overrides]) {
|
|
452
|
+
final ctx = _makeCtx(overrides);
|
|
453
|
+
ctx.point = Point({
|
|
454
|
+
'parts': ['items', '{id}'],
|
|
455
|
+
'args': {
|
|
456
|
+
'params': [
|
|
457
|
+
{'name': 'id', 'reqd': true}
|
|
458
|
+
]
|
|
459
|
+
},
|
|
460
|
+
'params': ['id'],
|
|
461
|
+
'alias': {},
|
|
462
|
+
'select': {},
|
|
463
|
+
'active': true,
|
|
464
|
+
'relations': [],
|
|
465
|
+
'transform': {'req': null, 'res': null},
|
|
466
|
+
});
|
|
467
|
+
ctx.match = {'id': 'item01'};
|
|
468
|
+
ctx.reqmatch = {'id': 'item01'};
|
|
469
|
+
return ctx;
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
dynamic _specOf(Map<String, dynamic> m) =>
|
|
473
|
+
(_utility.makeContext({'spec': m}) as dynamic).spec;
|
|
474
|
+
|
|
475
|
+
dynamic _resultOf(Map<String, dynamic> m) =>
|
|
476
|
+
(_utility.makeContext({'result': m}) as dynamic).result;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 1,
|
|
3
|
+
"_doc": "Per-SDK test control. Lists tests/operations to skip in unit and live modes; tunes per-test pacing. Edit by hand. Loaded by ts/test/utility.ts.",
|
|
4
|
+
"test": {
|
|
5
|
+
"skip": {
|
|
6
|
+
"live": {
|
|
7
|
+
"direct": [],
|
|
8
|
+
"entityOp": []
|
|
9
|
+
},
|
|
10
|
+
"unit": {
|
|
11
|
+
"direct": [],
|
|
12
|
+
"entityOp": []
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"live": {
|
|
16
|
+
"delayMs": 500
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|