pulumi/tests/integration
Justin Van Patten 0650e8bbbb
[sdk/nodejs] Fix provider for resource methods (#13796)
The `Resource` class in the Node.js SDK has the following internal
property:

```typescript
/** @internal */
readonly __prov?: ProviderResource;
```

When a resource is created, the provider specified for the resource is
stored in this property. If it is set, it is passed along in the `Call`
request when a method is called on the resource.

Prior to #13282, the property was only set for custom resources in
`Resource`'s constructor:

```typescript
this.__prov = custom ? opts.provider : undefined;
```

With #13282, it was changed to also store the value for remote
components:

```diff
- this.__prov = custom ? opts.provider : undefined;
+ this.__prov = custom || remote ? opts.provider : undefined;
```

This regressed the behavior when calling a method on a remote component
that had an explicit provider that wasn't the component provider, but
some other provider (e.g. AWS provider) specified as:

```typescript
const component = new MyRemoteComponent("comp", {
}, { provider: awsProvider });
```

The `awsProvider` was being stored in `Resource.__prov`, and when making
the method call on the resource, it would try to invoke `Call` on the
AWS provider, rather than calling the remote component provider's
`Call`, which resulted in an error.

Note that specifying the AWS provider using the more verbose `providers:
[awsProvider]` works around the issue.

The fix is to only set `__prov` if the provider's package is the same as
the resource's package. Otherwise, don't set it, because the user is
specifying a provider with the `provider: awsProvider` syntax as
shorthand for `providers: [awsProvider]`.

Fixes #13777
2023-08-30 14:49:53 +00:00
..
about deps: Upgrade google.golang.org/{genproto, grpc} 2023-07-27 16:24:33 -07:00
aliases deps: Upgrade google.golang.org/{genproto, grpc} 2023-07-27 16:24:33 -07:00
cloud_secrets_provider Enable full strict mode. (#3218) 2019-09-11 16:21:35 -07:00
component_provider_schema Add RunPlugin support for python 2023-03-06 21:35:39 +00:00
config_basic deps: Upgrade google.golang.org/{genproto, grpc} 2023-07-27 16:24:33 -07:00
config_capture_e2e/nodejs Revert package.json lookup fix. 2023-05-15 14:14:57 -04:00
config_missing deps: Upgrade google.golang.org/{genproto, grpc} 2023-07-27 16:24:33 -07:00
config_secrets_warn deps: Upgrade google.golang.org/{genproto, grpc} 2023-07-27 16:24:33 -07:00
construct_component deps: Upgrade google.golang.org/{genproto, grpc} 2023-07-27 16:24:33 -07:00
construct_component_error_apply Update @types/node version in tests 2023-02-07 14:20:27 +00:00
construct_component_methods deps: Upgrade google.golang.org/{genproto, grpc} 2023-07-27 16:24:33 -07:00
construct_component_methods_errors deps: Upgrade google.golang.org/{genproto, grpc} 2023-07-27 16:24:33 -07:00
construct_component_methods_provider [sdk/nodejs] Fix provider for resource methods (#13796) 2023-08-30 14:49:53 +00:00
construct_component_methods_resources deps: Upgrade google.golang.org/{genproto, grpc} 2023-07-27 16:24:33 -07:00
construct_component_methods_unknown deps: Upgrade google.golang.org/{genproto, grpc} 2023-07-27 16:24:33 -07:00
construct_component_output_values deps: Upgrade google.golang.org/{genproto, grpc} 2023-07-27 16:24:33 -07:00
construct_component_plain deps: Upgrade google.golang.org/{genproto, grpc} 2023-07-27 16:24:33 -07:00
construct_component_provider deps: Upgrade google.golang.org/{genproto, grpc} 2023-07-27 16:24:33 -07:00
construct_component_provider_explicit deps: Upgrade google.golang.org/{genproto, grpc} 2023-07-27 16:24:33 -07:00
construct_component_provider_propagation deps: Upgrade google.golang.org/{genproto, grpc} 2023-07-27 16:24:33 -07:00
construct_component_resource_options deps: Upgrade google.golang.org/{genproto, grpc} 2023-07-27 16:24:33 -07:00
construct_component_slow Update @types/node version in tests 2023-02-07 14:20:27 +00:00
construct_component_unknown deps: Upgrade google.golang.org/{genproto, grpc} 2023-07-27 16:24:33 -07:00
construct_nested_component/go deps: Upgrade google.golang.org/{genproto, grpc} 2023-07-27 16:24:33 -07:00
custom_timeouts Rename "Smoke" test to "Acceptance" tests 2023-01-30 15:38:37 -05:00
delete_before_create Rename "Smoke" test to "Acceptance" tests 2023-01-30 15:38:37 -05:00
deleted_with deps: Upgrade google.golang.org/{genproto, grpc} 2023-07-27 16:24:33 -07:00
dependency_steps Revert package.json lookup fix. 2023-05-15 14:14:57 -04:00
double_pending_delete Rename "Smoke" test to "Acceptance" tests 2023-01-30 15:38:37 -05:00
duplicate_urns Revert package.json lookup fix. 2023-05-15 14:14:57 -04:00
dynamic Pass PULUMI_CONFIG through to provider plugins 2023-04-05 10:17:18 +01:00
ee_perf Use prefered `new pulumi.Config()` form 2019-01-31 16:11:57 -08:00
empty deps: Upgrade google.golang.org/{genproto, grpc} 2023-07-27 16:24:33 -07:00
enums [sdk/python] Fix enum test for python 11 behavior change 2023-03-22 07:23:46 -07:00
exclude_protected Implement the --exclude-protected feature (#8359) 2021-11-15 11:45:14 -08:00
explicit_provider Revert package.json lookup fix. 2023-05-15 14:14:57 -04:00
gather_plugin deps: Upgrade google.golang.org/{genproto, grpc} 2023-07-27 16:24:33 -07:00
get_created Revert package.json lookup fix. 2023-05-15 14:14:57 -04:00
get_resource deps: Upgrade google.golang.org/{genproto, grpc} 2023-07-27 16:24:33 -07:00
go deps: Upgrade google.golang.org/{genproto, grpc} 2023-07-27 16:24:33 -07:00
invalid_package_json Revert package.json lookup fix. 2023-05-15 14:14:57 -04:00
large_resource deps: Upgrade google.golang.org/{genproto, grpc} 2023-07-27 16:24:33 -07:00
nodejs Warn about undefined stack outputs 2023-07-28 14:33:04 +01:00
partial_state Rename "Smoke" test to "Acceptance" tests 2023-01-30 15:38:37 -05:00
partial_values Propagate inputs to outputs during preview. (#3327) 2019-11-11 12:09:34 -08:00
policy unused: Remove unused functions and types 2023-01-12 09:55:34 -08:00
printf deps: Upgrade google.golang.org/{genproto, grpc} 2023-07-27 16:24:33 -07:00
project_main deps: Upgrade google.golang.org/{genproto, grpc} 2023-07-27 16:24:33 -07:00
project_main_abs Enable absolute and relative parent paths for pulumi main (#6734) 2021-04-08 21:39:52 -07:00
project_main_parent/foo Enable absolute and relative parent paths for pulumi main (#6734) 2021-04-08 21:39:52 -07:00
protect_resources Rename "Smoke" test to "Acceptance" tests 2023-01-30 15:38:37 -05:00
provider_secret_config Enable full strict mode. (#3218) 2019-09-11 16:21:35 -07:00
python Test duplicate outputs 2023-06-29 10:46:37 +01:00
python_await [sdk/python] - Await all async tasks (#6606) 2021-03-30 10:56:17 -07:00
query Revert package.json lookup fix. 2023-05-15 14:14:57 -04:00
read Revert package.json lookup fix. 2023-05-15 14:14:57 -04:00
recreate_resource_check Rename "Smoke" test to "Acceptance" tests 2023-01-30 15:38:37 -05:00
refresh/go deps: Upgrade google.golang.org/{genproto, grpc} 2023-07-27 16:24:33 -07:00
resource_refs_get_resource deps: Upgrade google.golang.org/{genproto, grpc} 2023-07-27 16:24:33 -07:00
rotate_passphrase deps: Upgrade google.golang.org/{genproto, grpc} 2023-07-27 16:24:33 -07:00
secret_outputs [sdk/python] Fix secret regression (#5496) 2020-10-01 14:57:51 -07:00
single_resource Suppress JSON outputs in preview correctly (#2771) 2019-05-25 12:10:38 +02:00
stack_bad_parenting Consistent dependencies (#2517) 2019-03-05 20:34:51 -08:00
stack_dependencies Remove existing lock files 2018-11-12 15:33:58 -08:00
stack_outputs Remove dotnet 2022-12-13 16:13:53 +00:00
stack_parenting Consistent dependencies (#2517) 2019-03-05 20:34:51 -08:00
stack_project_name Actually fix the naming test (#10554) 2022-08-31 20:52:23 +01:00
stack_reference deps: Upgrade google.golang.org/{genproto, grpc} 2023-07-27 16:24:33 -07:00
stack_reference_multi/python Regression tests for StackReference in the Python SDK (#3913) 2020-02-17 10:40:46 -08:00
stack_reference_secrets/nodejs Remove dotnet 2022-12-13 16:13:53 +00:00
state_rename_parent deps: Upgrade google.golang.org/{genproto, grpc} 2023-07-27 16:24:33 -07:00
steps Rename "Smoke" test to "Acceptance" tests 2023-01-30 15:38:37 -05:00
targets Revert package.json lookup fix. 2023-05-15 14:14:57 -04:00
transformations Revert package.json lookup fix. 2023-05-15 14:14:57 -04:00
tsconfig Add tsconfig option to specify tsconfig path (#8452) 2021-11-22 11:42:39 -08:00
types Rename "Smoke" test to "Acceptance" tests 2023-01-30 15:38:37 -05:00
unsafe_snapshot_tests/bad_resource Update tests/integration/unsafe_snapshot_tests/bad_resource/resource.ts 2022-09-15 08:00:36 -07:00
.gitignore ci: Enable async component builds 2022-09-14 10:06:05 -07:00
appdash_test.go all: Reformat with gofumpt 2023-03-03 09:00:24 -08:00
component_setup.sh Engine and Golang support for shimless providers 2022-11-14 11:25:41 +00:00
integration_acceptance_test.go Rename "Smoke" test to "Acceptance" tests 2023-01-30 15:38:37 -05:00
integration_go_acceptance_test.go all: Reformat with gofumpt 2023-03-03 09:00:24 -08:00
integration_go_test.go [sdk/nodejs] Fix provider for resource methods (#13796) 2023-08-30 14:49:53 +00:00
integration_nodejs_acceptance_test.go all: Reformat with gofumpt 2023-03-03 09:00:24 -08:00
integration_nodejs_test.go [sdk/nodejs] Fix provider for resource methods (#13796) 2023-08-30 14:49:53 +00:00
integration_python_acceptance_test.go Always mark dynamic provider code as secret 2023-07-06 13:50:59 +01:00
integration_python_test.go [sdk/nodejs] Fix provider for resource methods (#13796) 2023-08-30 14:49:53 +00:00
integration_test.go Fix `stack rm` removing config files for the wrong project 2023-06-21 10:52:25 +01:00
integration_util_test.go [sdk/nodejs] Fix provider for resource methods (#13796) 2023-08-30 14:49:53 +00:00