github.com/juju/juju@v0.0.0-20240430160146-1752b71fcf00/testing/attrs.go (about) 1 // Copyright 2013 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package testing 5 6 // Attrs is a convenience type for messing 7 // around with configuration attributes. 8 type Attrs map[string]interface{} 9 10 func (a Attrs) Merge(with Attrs) Attrs { 11 new := make(Attrs) 12 for attr, val := range a { 13 new[attr] = val 14 } 15 for attr, val := range with { 16 new[attr] = val 17 } 18 return new 19 } 20 21 func (a Attrs) Delete(attrNames ...string) Attrs { 22 new := make(Attrs) 23 for attr, val := range a { 24 new[attr] = val 25 } 26 for _, attr := range attrNames { 27 delete(new, attr) 28 } 29 return new 30 }