diff --git a/domains.go b/domains.go index d298b63b65590f72cddcbf2b290be8ee6b700b62..1fed632485eabd331dffbb06811b565ff72f31d6 100644 --- a/domains.go +++ b/domains.go @@ -44,8 +44,9 @@ func (d domains) readProjectConfig(rootDomain, group, project string) (err error } for _, domainConfig := range config.Domains { + config := domainConfig // domainConfig is reused for each loop iteration if domainConfig.Valid(rootDomain) { - d.addDomain(rootDomain, group, project, &domainConfig) + d.addDomain(rootDomain, group, project, &config) } } return diff --git a/domains_test.go b/domains_test.go index 5a2882d692c6d084ff0153658805887ed520324b..6ce11f5f0d5fcce0ce1c22bbc70c632597cf5cc0 100644 --- a/domains_test.go +++ b/domains_test.go @@ -40,6 +40,13 @@ func TestReadProjects(t *testing.T) { for _, actual := range domains { assert.Contains(t, expectedDomains, actual) } + + // Check that multiple domains in the same project are recorded faithfully + exp1 := &domainConfig{Domain: "test.domain.com"} + assert.Equal(t, exp1, d["test.domain.com"].Config) + + exp2 := &domainConfig{Domain: "other.domain.com", Certificate: "test", Key: "key"} + assert.Equal(t, exp2, d["other.domain.com"].Config) } func writeRandomTimestamp() { diff --git a/shared/pages/group/group.test.io/config.json b/shared/pages/group/group.test.io/config.json index 1643525db546659cfec66bfec242ff8767c6d5ab..5b9be1fdd1bfc7d37656c6c152ce58d075d51ca7 100644 --- a/shared/pages/group/group.test.io/config.json +++ b/shared/pages/group/group.test.io/config.json @@ -9,7 +9,7 @@ { "Domain": "other.domain.com", "Certificate": "test", - "Certificate": "key" + "Key": "key" } ] }