Add volume filters to system prune

This change was missed in pull/8689. Now that volume pruneing supports
filters system pruneing can pass its filters down to the volume
pruneing. Additionally this change adds tests for the following components

* podman system prune subcommand with `--volumes` & `--filter` options
* apiv2 api tests for `/system/` and `/libpod/system` endpoints

Relates to #8453, #8672

Signed-off-by: Baron Lenardson <lenardson.baron@gmail.com>
This commit is contained in:
Baron Lenardson
2020-12-21 10:35:21 -06:00
parent 5c6b5ef349
commit 5923656f32
8 changed files with 225 additions and 17 deletions

20
libpod/filters/helpers.go Normal file
View File

@ -0,0 +1,20 @@
package lpfilters
import (
"net/url"
"strings"
"github.com/pkg/errors"
)
func ParseFilterArgumentsIntoFilters(filters []string) (url.Values, error) {
parsedFilters := make(url.Values)
for _, f := range filters {
t := strings.SplitN(f, "=", 2)
if len(t) < 2 {
return parsedFilters, errors.Errorf("filter input must be in the form of filter=value: %s is invalid", f)
}
parsedFilters.Add(t[0], t[1])
}
return parsedFilters, nil
}