mirror of
https://github.com/ysoftdevs/terraform-provider-bitbucketserver.git
synced 2026-04-24 01:28:29 +02:00
feat: Introduce muxing for new elements
This commit is contained in:
64
bitbucket/provider_mux_test.go
Normal file
64
bitbucket/provider_mux_test.go
Normal file
@@ -0,0 +1,64 @@
|
||||
package bitbucket
|
||||
|
||||
import (
|
||||
"context"
|
||||
"github.com/hashicorp/terraform-plugin-framework/providerserver"
|
||||
"testing"
|
||||
|
||||
"github.com/hashicorp/terraform-plugin-go/tfprotov6"
|
||||
"github.com/hashicorp/terraform-plugin-mux/tf5to6server"
|
||||
"github.com/hashicorp/terraform-plugin-mux/tf6muxserver"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
)
|
||||
|
||||
var ProviderFactories = map[string]func() (tfprotov6.ProviderServer, error){
|
||||
"bitbucketserver": func() (tfprotov6.ProviderServer, error) {
|
||||
ctx := context.Background()
|
||||
|
||||
upgradedSdkServer, err := tf5to6server.UpgradeServer(
|
||||
ctx,
|
||||
// terraform-plugin-sdk provider
|
||||
Provider().GRPCProvider, //nolint:staticcheck
|
||||
)
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
providers := []func() tfprotov6.ProviderServer{
|
||||
providerserver.NewProtocol6(New()), // Example terraform-plugin-framework provider
|
||||
func() tfprotov6.ProviderServer {
|
||||
return upgradedSdkServer
|
||||
},
|
||||
}
|
||||
|
||||
muxServer, err := tf6muxserver.NewMuxServer(ctx, providers...)
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return muxServer.ProviderServer(), nil
|
||||
},
|
||||
}
|
||||
|
||||
func TestMuxServer(t *testing.T) {
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: `
|
||||
provider "bitbucketserver"{
|
||||
server = "http://localhost:7990"
|
||||
username = "admin"
|
||||
password = "admin"
|
||||
}
|
||||
resource "bitbucketserver_banner" "testbanner" {
|
||||
message = "testing muxing"
|
||||
}
|
||||
`,
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user