github.com/muratcelep/terraform@v1.1.0-beta2-not-internal-4/not-internal/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 {"etcdv3", "*etcd.Backend"}, 22 {"gcs", "*gcs.Backend"}, 23 {"inmem", "*inmem.Backend"}, 24 {"manta", "*manta.Backend"}, 25 {"pg", "*pg.Backend"}, 26 {"s3", "*s3.Backend"}, 27 {"swift", "*swift.Backend"}, 28 {"azure", "init.deprecatedBackendShim"}, 29 } 30 31 // Make sure we get the requested backend 32 for _, b := range backends { 33 t.Run(b.Name, func(t *testing.T) { 34 f := Backend(b.Name) 35 if f == nil { 36 t.Fatalf("backend %q is not present; should be", b.Name) 37 } 38 bType := reflect.TypeOf(f()).String() 39 if bType != b.Type { 40 t.Fatalf("expected backend %q to be %q, got: %q", b.Name, b.Type, bType) 41 } 42 }) 43 } 44 }