pulumi / pulumi-dotnet

.NET support for Pulumi
Apache License 2.0
28 stars 25 forks source link

[WIP] Implement .NET conformance testing #314

Open Zaid-Ajaj opened 3 months ago

Zaid-Ajaj commented 3 months ago

This PR is an initial implementation of .NET conformance tests. It extends pulumi-language-dotnet with GenerateProject, GeneratePackage and Pack

The actual tests require pulumi-test-language which is a command line Go tool from pulumi/pulumi. This I had to copy over using a new build command sync-pulumi-test-language (I don't think we want to do this so we might need to publish it and consume it from here)

It requires changes from https://github.com/pulumi/pulumi/pull/16902 to correctly emit the paths and version of local dependencies.

There is a problem where the pulumi-test-language tries to assert the core sdk version but it doesn't match for some reason, so I had to disable this check for the pulumi dependency. I couldn't quite get where the version was retrieved from because when we pack Pulumi.csproj it doesn't have a version and defaults to 1.0.0 but the tests want a specific version that doesn't match (see below) cc @Frassle