github.com/skanehira/moby@v17.12.1-ce-rc2+incompatible/integration-cli/docker_cli_config_ls_test.go (about) 1 // +build !windows 2 3 package main 4 5 import ( 6 "strings" 7 8 "github.com/docker/docker/api/types/swarm" 9 "github.com/docker/docker/integration-cli/checker" 10 "github.com/go-check/check" 11 ) 12 13 func (s *DockerSwarmSuite) TestConfigList(c *check.C) { 14 testRequires(c, SameHostDaemon) 15 d := s.AddDaemon(c, true, true) 16 17 testName0 := "test0" 18 testName1 := "test1" 19 20 // create config test0 21 id0 := d.CreateConfig(c, swarm.ConfigSpec{ 22 Annotations: swarm.Annotations{ 23 Name: testName0, 24 Labels: map[string]string{"type": "test"}, 25 }, 26 Data: []byte("TESTINGDATA0"), 27 }) 28 c.Assert(id0, checker.Not(checker.Equals), "", check.Commentf("configs: %s", id0)) 29 30 config := d.GetConfig(c, id0) 31 c.Assert(config.Spec.Name, checker.Equals, testName0) 32 33 // create config test1 34 id1 := d.CreateConfig(c, swarm.ConfigSpec{ 35 Annotations: swarm.Annotations{ 36 Name: testName1, 37 Labels: map[string]string{"type": "production"}, 38 }, 39 Data: []byte("TESTINGDATA1"), 40 }) 41 c.Assert(id1, checker.Not(checker.Equals), "", check.Commentf("configs: %s", id1)) 42 43 config = d.GetConfig(c, id1) 44 c.Assert(config.Spec.Name, checker.Equals, testName1) 45 46 // test by command `docker config ls` 47 out, err := d.Cmd("config", "ls") 48 c.Assert(err, checker.IsNil, check.Commentf(out)) 49 c.Assert(strings.TrimSpace(out), checker.Contains, testName0) 50 c.Assert(strings.TrimSpace(out), checker.Contains, testName1) 51 52 // test filter by name `docker config ls --filter name=xxx` 53 args := []string{ 54 "config", 55 "ls", 56 "--filter", 57 "name=test0", 58 } 59 out, err = d.Cmd(args...) 60 c.Assert(err, checker.IsNil, check.Commentf(out)) 61 62 c.Assert(strings.TrimSpace(out), checker.Contains, testName0) 63 c.Assert(strings.TrimSpace(out), checker.Not(checker.Contains), testName1) 64 65 // test filter by id `docker config ls --filter id=xxx` 66 args = []string{ 67 "config", 68 "ls", 69 "--filter", 70 "id=" + id1, 71 } 72 out, err = d.Cmd(args...) 73 c.Assert(err, checker.IsNil, check.Commentf(out)) 74 75 c.Assert(strings.TrimSpace(out), checker.Not(checker.Contains), testName0) 76 c.Assert(strings.TrimSpace(out), checker.Contains, testName1) 77 78 // test filter by label `docker config ls --filter label=xxx` 79 args = []string{ 80 "config", 81 "ls", 82 "--filter", 83 "label=type", 84 } 85 out, err = d.Cmd(args...) 86 c.Assert(err, checker.IsNil, check.Commentf(out)) 87 88 c.Assert(strings.TrimSpace(out), checker.Contains, testName0) 89 c.Assert(strings.TrimSpace(out), checker.Contains, testName1) 90 91 args = []string{ 92 "config", 93 "ls", 94 "--filter", 95 "label=type=test", 96 } 97 out, err = d.Cmd(args...) 98 c.Assert(err, checker.IsNil, check.Commentf(out)) 99 100 c.Assert(strings.TrimSpace(out), checker.Contains, testName0) 101 c.Assert(strings.TrimSpace(out), checker.Not(checker.Contains), testName1) 102 103 args = []string{ 104 "config", 105 "ls", 106 "--filter", 107 "label=type=production", 108 } 109 out, err = d.Cmd(args...) 110 c.Assert(err, checker.IsNil, check.Commentf(out)) 111 112 c.Assert(strings.TrimSpace(out), checker.Not(checker.Contains), testName0) 113 c.Assert(strings.TrimSpace(out), checker.Contains, testName1) 114 115 // test invalid filter `docker config ls --filter noexisttype=xxx` 116 args = []string{ 117 "config", 118 "ls", 119 "--filter", 120 "noexisttype=test0", 121 } 122 out, err = d.Cmd(args...) 123 c.Assert(err, checker.NotNil, check.Commentf(out)) 124 125 c.Assert(strings.TrimSpace(out), checker.Contains, "Error response from daemon: Invalid filter 'noexisttype'") 126 }