Skip to content

Commit 616ac15

Browse files
committed
Test: add container registry list
This is a smoke test, without login and logout. Signed-off-by: ChengHao Yang <17496418+tico88612@users.noreply.github.com>
1 parent df4283c commit 616ac15

2 files changed

Lines changed: 40 additions & 0 deletions

File tree

Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,7 @@ integration: init-block
188188
$(SWIFT) test -c $(BUILD_CONFIGURATION) $(SWIFT_CONFIGURATION) --filter TestCLIRunCommand2 || exit_code=1 ; \
189189
$(SWIFT) test -c $(BUILD_CONFIGURATION) $(SWIFT_CONFIGURATION) --filter TestCLIRunCommand3 || exit_code=1 ; \
190190
$(SWIFT) test -c $(BUILD_CONFIGURATION) $(SWIFT_CONFIGURATION) --filter TestCLIPruneCommand || exit_code=1 ; \
191+
$(SWIFT) test -c $(BUILD_CONFIGURATION) $(SWIFT_CONFIGURATION) --filter TestCLIRegistry || exit_code=1 ; \
191192
$(SWIFT) test -c $(BUILD_CONFIGURATION) $(SWIFT_CONFIGURATION) --filter TestCLIStatsCommand || exit_code=1 ; \
192193
$(SWIFT) test -c $(BUILD_CONFIGURATION) $(SWIFT_CONFIGURATION) --filter TestCLIImagesCommand || exit_code=1 ; \
193194
$(SWIFT) test -c $(BUILD_CONFIGURATION) $(SWIFT_CONFIGURATION) --filter TestCLIRunBase || exit_code=1 ; \
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
//===----------------------------------------------------------------------===//
2+
// Copyright © 2026 Apple Inc. and the container project authors.
3+
//
4+
// Licensed under the Apache License, Version 2.0 (the "License");
5+
// you may not use this file except in compliance with the License.
6+
// You may obtain a copy of the License at
7+
//
8+
// https://www.apache.org/licenses/LICENSE-2.0
9+
//
10+
// Unless required by applicable law or agreed to in writing, software
11+
// distributed under the License is distributed on an "AS IS" BASIS,
12+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
// See the License for the specific language governing permissions and
14+
// limitations under the License.
15+
//===----------------------------------------------------------------------===//
16+
17+
import Foundation
18+
import Testing
19+
20+
class TestCLIRegistry: CLITest {
21+
@Test func testListDefaultFormat() throws {
22+
let (_, output, error, status) = try run(arguments: ["registry", "list"])
23+
#expect(status == 0, "registry list should succeed, stderr: \(error)")
24+
25+
// Check for table header
26+
let requiredHeaders = ["HOSTNAME", "USERNAME", "MODIFIED", "CREATED"]
27+
#expect(
28+
requiredHeaders.allSatisfy { output.contains($0) },
29+
"output should contain all required headers"
30+
)
31+
}
32+
33+
@Test func testListQuietMode() throws {
34+
let (_, output, error, status) = try run(arguments: ["registry", "list", "-q"])
35+
#expect(status == 0, "registry list -q should succeed, stderr: \(error)")
36+
37+
#expect(!output.contains("HOSTNAME"), "quiet mode should not contain headers")
38+
}
39+
}

0 commit comments

Comments
 (0)