github.com/pulumi/terraform@v1.4.0/pkg/backend/init/init_test.go (about)

     1  package init
     2  
     3  import (
     4  	"reflect"
     5  	"testing"
     6  )
     7  
     8  func TestInit_backend(t *testing.T) {
     9  	// Initialize the backends map
    10  	Init(nil)
    11  
    12  	backends := []struct {
    13  		Name string
    14  		Type string
    15  	}{
    16  		{"local", "*local.Local"},
    17  		{"remote", "*remote.Remote"},
    18  		{"azurerm", "*azure.Backend"},
    19  		{"consul", "*consul.Backend"},
    20  		{"cos", "*cos.Backend"},
    21  		{"gcs", "*gcs.Backend"},
    22  		{"inmem", "*inmem.Backend"},
    23  		{"pg", "*pg.Backend"},
    24  		{"s3", "*s3.Backend"},
    25  	}
    26  
    27  	// Make sure we get the requested backend
    28  	for _, b := range backends {
    29  		t.Run(b.Name, func(t *testing.T) {
    30  			f := Backend(b.Name)
    31  			if f == nil {
    32  				t.Fatalf("backend %q is not present; should be", b.Name)
    33  			}
    34  			bType := reflect.TypeOf(f()).String()
    35  			if bType != b.Type {
    36  				t.Fatalf("expected backend %q to be %q, got: %q", b.Name, b.Type, bType)
    37  			}
    38  		})
    39  	}
    40  }