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