@@ -20,43 +20,67 @@ import (
2020 "fmt"
2121 "testing"
2222
23+ "github.com/containerd/nerdctl/mod/tigron/expect"
24+ "github.com/containerd/nerdctl/mod/tigron/test"
25+
2326 "github.com/containerd/nerdctl/v2/pkg/testutil"
2427 "github.com/containerd/nerdctl/v2/pkg/testutil/nerdtest"
2528)
2629
2730// https://github.com/containerd/nerdctl/issues/2598
2831func TestContainerListWithFormatLabel (t * testing.T ) {
29- t .Parallel ()
30- base := testutil .NewBase (t )
31- tID := testutil .Identifier (t )
32- cID := tID
33- labelK := "label-key-" + tID
34- labelV := "label-value-" + tID
35-
36- base .Cmd ("run" , "-d" ,
37- "--name" , cID ,
38- "--label" , labelK + "=" + labelV ,
39- testutil .CommonImage , "sleep" , nerdtest .Infinity ).AssertOK ()
40- defer base .Cmd ("rm" , "-f" , cID ).AssertOK ()
41- base .Cmd ("ps" , "-a" ,
42- "--filter" , "label=" + labelK ,
43- "--format" , fmt .Sprintf ("{{.Label %q}}" , labelK )).AssertOutExactly (labelV + "\n " )
32+ nerdtest .Setup ()
33+ testCase := & test.Case {
34+ Setup : func (data test.Data , helpers test.Helpers ) {
35+ labelK := "label-key-" + data .Identifier ()
36+ labelV := "label-value-" + data .Identifier ()
37+ helpers .Ensure ("run" , "-d" ,
38+ "--name" , data .Identifier (),
39+ "--label" , labelK + "=" + labelV ,
40+ testutil .CommonImage , "sleep" , nerdtest .Infinity )
41+ },
42+ Cleanup : func (data test.Data , helpers test.Helpers ) {
43+ helpers .Anyhow ("rm" , "-f" , data .Identifier ())
44+ },
45+ Command : func (data test.Data , helpers test.Helpers ) test.TestableCommand {
46+ labelK := "label-key-" + data .Identifier ()
47+ return helpers .Command ("ps" , "-a" ,
48+ "--filter" , "label=" + labelK ,
49+ "--format" , fmt .Sprintf ("{{.Label %q}}" , labelK )) //nolint:dupামিটার
50+ },
51+ Expected : func (data test.Data , helpers test.Helpers ) * test.Expected {
52+ labelV := "label-value-" + data .Identifier ()
53+ return test .Expects (0 , nil , expect .Equals (labelV + "\n " ))(data , helpers )
54+ },
55+ }
56+ testCase .Run (t )
4457}
4558
4659func TestContainerListWithJsonFormatLabel (t * testing.T ) {
47- t .Parallel ()
48- base := testutil .NewBase (t )
49- tID := testutil .Identifier (t )
50- cID := tID
51- labelK := "label-key-" + tID
52- labelV := "label-value-" + tID
53-
54- base .Cmd ("run" , "-d" ,
55- "--name" , cID ,
56- "--label" , labelK + "=" + labelV ,
57- testutil .CommonImage , "sleep" , nerdtest .Infinity ).AssertOK ()
58- defer base .Cmd ("rm" , "-f" , cID ).AssertOK ()
59- base .Cmd ("ps" , "-a" ,
60- "--filter" , "label=" + labelK ,
61- "--format" , "json" ).AssertOutContains (fmt .Sprintf ("%s=%s" , labelK , labelV ))
60+ nerdtest .Setup ()
61+ testCase := & test.Case {
62+ Setup : func (data test.Data , helpers test.Helpers ) {
63+ labelK := "label-key-" + data .Identifier ()
64+ labelV := "label-value-" + data .Identifier ()
65+ helpers .Ensure ("run" , "-d" ,
66+ "--name" , data .Identifier (),
67+ "--label" , labelK + "=" + labelV ,
68+ testutil .CommonImage , "sleep" , nerdtest .Infinity )
69+ },
70+ Cleanup : func (data test.Data , helpers test.Helpers ) {
71+ helpers .Anyhow ("rm" , "-f" , data .Identifier ())
72+ },
73+ Command : func (data test.Data , helpers test.Helpers ) test.TestableCommand {
74+ labelK := "label-key-" + data .Identifier ()
75+ return helpers .Command ("ps" , "-a" ,
76+ "--filter" , "label=" + labelK ,
77+ "--format" , "json" )
78+ },
79+ Expected : func (data test.Data , helpers test.Helpers ) * test.Expected {
80+ labelK := "label-key-" + data .Identifier ()
81+ labelV := "label-value-" + data .Identifier ()
82+ return test .Expects (0 , nil , expect .Contains (fmt .Sprintf ("%s=%s" , labelK , labelV )))(data , helpers )
83+ },
84+ }
85+ testCase .Run (t )
6286}
0 commit comments