1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
package managers
import (
"testing"
"github.com/stretchr/testify/require"
"github.com/lxc/distrobuilder/shared"
)
func TestManagePackages(t *testing.T) {
sets := []shared.DefinitionPackagesSet{
{
Packages: []string{"foo"},
Action: "install",
},
{
Packages: []string{"bar"},
Action: "install",
},
{
Packages: []string{"baz"},
Action: "remove",
},
{
Packages: []string{"lorem"},
Action: "remove",
},
{
Packages: []string{"ipsum"},
Action: "install",
},
{
Packages: []string{"dolor"},
Action: "remove",
},
}
optimizedSets := optimizePackageSets(sets)
require.Len(t, optimizedSets, 4)
require.Equal(t, optimizedSets[0], shared.DefinitionPackagesSet{Action: "install", Packages: []string{"foo", "bar"}})
require.Equal(t, optimizedSets[1], shared.DefinitionPackagesSet{Action: "remove", Packages: []string{"baz", "lorem"}})
require.Equal(t, optimizedSets[2], shared.DefinitionPackagesSet{Action: "install", Packages: []string{"ipsum"}})
require.Equal(t, optimizedSets[3], shared.DefinitionPackagesSet{Action: "remove", Packages: []string{"dolor"}})
sets = []shared.DefinitionPackagesSet{
{
Packages: []string{"foo"},
Action: "install",
},
}
optimizedSets = optimizePackageSets(sets)
require.Len(t, optimizedSets, 1)
require.Equal(t, optimizedSets[0], shared.DefinitionPackagesSet{Action: "install", Packages: []string{"foo"}})
sets = []shared.DefinitionPackagesSet{}
optimizedSets = optimizePackageSets(sets)
require.Len(t, optimizedSets, 0)
}
|