@@ -64,3 +64,56 @@ func TestServiceToken_ListCmd(t *testing.T) {
6464 }
6565 c .Assert (buf .String (), qt .JSONEquals , res )
6666}
67+
68+ func TestServiceToken_ListCmdWithExpiresAt (t * testing.T ) {
69+ c := qt .New (t )
70+
71+ var buf bytes.Buffer
72+ format := printer .JSON
73+ p := printer .NewPrinter (& format )
74+ p .SetResourceOutput (& buf )
75+
76+ org := "planetscale"
77+ name1 := "token-one"
78+ createdAt1 := time .Date (2025 , 1 , 15 , 10 , 30 , 0 , 0 , time .UTC )
79+ lastUsedAt1 := time .Date (2025 , 1 , 20 , 14 , 45 , 0 , 0 , time .UTC )
80+ expiresAt1 := time .Date (2025 , 2 , 15 , 10 , 30 , 0 , 0 , time .UTC )
81+ createdAt2 := time .Date (2025 , 1 , 16 , 11 , 0 , 0 , 0 , time .UTC )
82+ expiresAt2 := time .Date (2025 , 2 , 16 , 11 , 0 , 0 , 0 , time .UTC )
83+
84+ orig := []* ps.ServiceToken {
85+ {ID : "1" , Name : & name1 , CreatedAt : createdAt1 , LastUsedAt : & lastUsedAt1 , ExpiresAt : & expiresAt1 },
86+ {ID : "2" , CreatedAt : createdAt2 , ExpiresAt : & expiresAt2 },
87+ }
88+
89+ svc := & mock.ServiceTokenService {
90+ ListFn : func (ctx context.Context , req * ps.ListServiceTokensRequest ) ([]* ps.ServiceToken , error ) {
91+ c .Assert (req .Organization , qt .Equals , org )
92+ return orig , nil
93+ },
94+ }
95+
96+ ch := & cmdutil.Helper {
97+ Printer : p ,
98+ Config : & config.Config {
99+ Organization : org ,
100+ },
101+ Client : func () (* ps.Client , error ) {
102+ return & ps.Client {
103+ ServiceTokens : svc ,
104+ }, nil
105+ },
106+ }
107+
108+ cmd := ListCmd (ch )
109+ err := cmd .Execute ()
110+
111+ c .Assert (err , qt .IsNil )
112+ c .Assert (svc .ListFnInvoked , qt .IsTrue )
113+
114+ res := []* ServiceToken {
115+ {orig : orig [0 ]},
116+ {orig : orig [1 ]},
117+ }
118+ c .Assert (buf .String (), qt .JSONEquals , res )
119+ }
0 commit comments