True and false are mysterious.

This commit is contained in:
jregan
2019-05-20 20:21:00 -07:00
committed by Jeffrey Regan
parent 72f565d55d
commit a352ff3923
6 changed files with 43 additions and 42 deletions

View File

@@ -35,7 +35,9 @@ func NewFactoryImpl() *FactoryImpl {
}
// MakePatchTransformer makes a new patch transformer
func (p *FactoryImpl) MakePatchTransformer(slice []*resource.Resource, rf *resource.Factory) (transformers.Transformer, error) {
func (p *FactoryImpl) MakePatchTransformer(
slice []*resource.Resource,
rf *resource.Factory) (transformers.Transformer, error) {
return patch.NewPatchTransformer(slice, rf)
}
@@ -44,6 +46,9 @@ func (p *FactoryImpl) MakeHashTransformer() transformers.Transformer {
return hash.NewNameHashTransformer()
}
func (p *FactoryImpl) MakeInventoryTransformer(arg *types.Inventory, namespace string, append bool) transformers.Transformer {
return inventory.NewInventoryTransformer(arg, namespace, append)
func (p *FactoryImpl) MakeInventoryTransformer(
arg *types.Inventory,
namespace string,
gp types.GarbagePolicy) transformers.Transformer {
return inventory.NewInventoryTransformer(arg, namespace, gp)
}

View File

@@ -18,22 +18,25 @@ import (
// inventoryTransformer compute the inventory object used in prune
type inventoryTransformer struct {
append bool
cmName string
cmNamespace string
garbagePolicy types.GarbagePolicy
cmName string
cmNamespace string
}
var _ transformers.Transformer = &inventoryTransformer{}
// NewInventoryTransformer makes a inventoryTransformer.
func NewInventoryTransformer(p *types.Inventory, namespace string, append bool) transformers.Transformer {
func NewInventoryTransformer(
p *types.Inventory,
namespace string,
gp types.GarbagePolicy) transformers.Transformer {
if p == nil || p.Type != "ConfigMap" || p.ConfigMap.Namespace != namespace {
return transformers.NewNoOpTransformer()
}
return &inventoryTransformer{
append: append,
cmName: p.ConfigMap.Name,
cmNamespace: p.ConfigMap.Namespace,
garbagePolicy: gp,
cmName: p.ConfigMap.Name,
cmNamespace: p.ConfigMap.Namespace,
}
}
@@ -84,7 +87,7 @@ func (o *inventoryTransformer) Transform(m resmap.ResMap) error {
return err
}
if !o.append {
if o.garbagePolicy == types.GarbageCollect {
for k := range m {
delete(m, k)
}

View File

@@ -148,7 +148,7 @@ func TestInventoryTransformer(t *testing.T) {
objs := makeResMap()
// include the original resmap; only return the ConfigMap for pruning
tran := NewInventoryTransformer(p, "default", false)
tran := NewInventoryTransformer(p, "default", types.GarbageCollect)
tran.Transform(objs)
if !reflect.DeepEqual(objs, expected) {
@@ -160,7 +160,7 @@ func TestInventoryTransformer(t *testing.T) {
expected = objs.DeepCopy(rf)
expected[resid.NewResIdWithPrefixNamespace(cmap, "pruneCM", "", "default")] = pruneMap
// append the ConfigMap for pruning to the original resmap
tran = NewInventoryTransformer(p, "default", true)
tran = NewInventoryTransformer(p, "default", types.GarbageIgnore)
tran.Transform(objs)
if !reflect.DeepEqual(objs, expected) {