@@ -3,10 +3,11 @@ package config
33import (
44 "bytes"
55 "fmt"
6- "github.com/loft-sh/devspace/pkg/devspace/config/loader/variable"
76 "os"
87 "path/filepath"
98
9+ "github.com/loft-sh/devspace/pkg/devspace/config/loader/variable"
10+
1011 "github.com/loft-sh/devspace/cmd"
1112 "github.com/loft-sh/devspace/cmd/flags"
1213 "github.com/loft-sh/devspace/pkg/devspace/config/versions/latest"
@@ -1907,4 +1908,33 @@ var _ = DevSpaceDescribe("config", func() {
19071908 gomega .Expect (deployment1 .Kubectl ).To (gomega .BeNil ())
19081909 gomega .Expect (* deployment1 .Helm .ComponentChart ).To (gomega .BeTrue ())
19091910 })
1911+
1912+ // regression test for issue: https://github.com/loft-sh/devspace/issues/1835
1913+ ginkgo .It ("should load config with var in patch" , func () {
1914+ tempDir , err := framework .CopyToTempDir ("tests/config/testdata/profile-patches" )
1915+ framework .ExpectNoError (err )
1916+ defer framework .CleanupTempDir (initialDir , tempDir )
1917+
1918+ config , _ , err := framework .LoadConfigWithOptions (f , filepath .Join (tempDir , "path-variable.yaml" ),
1919+ & loader.ConfigOptions {Profiles : []string {"demo" }})
1920+ framework .ExpectNoError (err )
1921+
1922+ framework .ExpectEqual (len (config .Config ().Deployments ), 1 )
1923+
1924+ deployment := config .Config ().Deployments [0 ]
1925+ framework .ExpectEqual (deployment .Name , "test-me-server" )
1926+
1927+ values , ok := deployment .Helm .Values ["containers" ].([]interface {})
1928+ gomega .Expect (ok ).To (gomega .BeTrue ())
1929+ gomega .Expect (values ).NotTo (gomega .BeEmpty ())
1930+
1931+ v , ok := values [0 ].(map [interface {}]interface {})
1932+ gomega .Expect (ok ).To (gomega .BeTrue ())
1933+ gomega .Expect (v ).NotTo (gomega .BeNil ())
1934+
1935+ framework .ExpectEqual (v ["name" ], "replace-0" )
1936+
1937+ gomega .Expect (deployment .Kubectl ).To (gomega .BeNil ())
1938+ gomega .Expect (* deployment .Helm .ComponentChart ).To (gomega .BeTrue ())
1939+ })
19101940})
0 commit comments