summaryrefslogtreecommitdiff
path: root/daemon/cluster/filters_test.go
blob: e870fa10f09a87597e601a9266115d456395fe29 (plain)
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
package cluster // import "github.com/docker/docker/daemon/cluster"

import (
	"testing"

	"github.com/docker/docker/api/types/filters"
)

func TestNewListSecretsFilters(t *testing.T) {
	validNameFilter := filters.NewArgs(filters.Arg("name", "test_name"))
	validIDFilter := filters.NewArgs(filters.Arg("id", "7c9009d6720f6de3b492f5"))

	validLabelFilter := filters.NewArgs(
		filters.Arg("label", "type=test"),
		filters.Arg("label", "storage=ssd"),
		filters.Arg("label", "memory"),
	)
	validNamesFilter := filters.NewArgs(filters.Arg("names", "test_name"))

	validAllFilter := filters.NewArgs(
		filters.Arg("name", "nodeName"),
		filters.Arg("id", "7c9009d6720f6de3b492f5"),
		filters.Arg("label", "type=test"),
		filters.Arg("label", "memory"),
		filters.Arg("names", "test_name"),
	)

	validFilters := []filters.Args{
		validNameFilter,
		validIDFilter,
		validLabelFilter,
		validNamesFilter,
		validAllFilter,
	}

	invalidTypeFilter := filters.NewArgs(filters.Arg("nonexist", "aaaa"))

	invalidFilters := []filters.Args{
		invalidTypeFilter,
	}

	for _, filter := range validFilters {
		if _, err := newListSecretsFilters(filter); err != nil {
			t.Fatalf("Should get no error, got %v", err)
		}
	}

	for _, filter := range invalidFilters {
		if _, err := newListSecretsFilters(filter); err == nil {
			t.Fatalf("Should get an error for filter %v, while got nil", filter)
		}
	}
}

func TestNewListConfigsFilters(t *testing.T) {
	validNameFilter := filters.NewArgs(filters.Arg("name", "test_name"))
	validIDFilter := filters.NewArgs(filters.Arg("id", "7c9009d6720f6de3b492f5"))

	validLabelFilter := filters.NewArgs(
		filters.Arg("label", "type=test"),
		filters.Arg("label", "storage=ssd"),
		filters.Arg("label", "memory"),
	)

	validAllFilter := filters.NewArgs(
		filters.Arg("name", "nodeName"),
		filters.Arg("id", "7c9009d6720f6de3b492f5"),
		filters.Arg("label", "type=test"),
		filters.Arg("label", "memory"),
	)

	validFilters := []filters.Args{
		validNameFilter,
		validIDFilter,
		validLabelFilter,
		validAllFilter,
	}

	invalidTypeFilter := filters.NewArgs(filters.Arg("nonexist", "aaaa"))

	invalidFilters := []filters.Args{
		invalidTypeFilter,
	}

	for _, filter := range validFilters {
		if _, err := newListConfigsFilters(filter); err != nil {
			t.Fatalf("Should get no error, got %v", err)
		}
	}

	for _, filter := range invalidFilters {
		if _, err := newListConfigsFilters(filter); err == nil {
			t.Fatalf("Should get an error for filter %v, while got nil", filter)
		}
	}
}