Skip to content

Commit 7125386

Browse files
authored
Merge branch 'testcontainers:main' into main
2 parents 70ec4a0 + f68ffbd commit 7125386

File tree

4 files changed

+21
-6
lines changed

4 files changed

+21
-6
lines changed

package-lock.json

Lines changed: 5 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/testcontainers/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
"ssh-remote-port-forward": "^1.0.4",
4545
"tar-fs": "^3.0.6",
4646
"tmp": "^0.2.3",
47-
"undici": "^5.28.4"
47+
"undici": "^5.28.5"
4848
},
4949
"devDependencies": {
5050
"@types/archiver": "^6.0.2",

packages/testcontainers/src/container-runtime/auth/credential-provider.test.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,16 @@ describe("CredentialProvider", () => {
104104
);
105105
});
106106

107+
it("should not throw when list credentials command is not implemented", async () => {
108+
mockExec.mockImplementationOnce((command, callback) => {
109+
return callback(new Error(), null, "list is unimplemented\n");
110+
});
111+
112+
const credentials = await credentialProvider.getAuthConfig("registry", containerRuntimeConfig);
113+
114+
expect(credentials).toBeUndefined();
115+
});
116+
107117
it("should throw when get credentials fails", async () => {
108118
mockExecReturns(JSON.stringify({ registry: "username" }));
109119
mockSpawnReturns(

packages/testcontainers/src/container-runtime/auth/credential-provider.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,12 @@ export abstract class CredentialProvider implements RegistryAuthLocator {
4242

4343
private listCredentials(providerName: string): Promise<CredentialProviderListResponse> {
4444
return new Promise((resolve, reject) => {
45-
exec(`${providerName} list`, (err, stdout) => {
45+
exec(`${providerName} list`, (err, stdout, stderr) => {
4646
if (err) {
47+
if (stderr === "list is unimplemented\n") {
48+
return resolve({});
49+
}
50+
4751
log.error(`An error occurred listing credentials: ${err}`);
4852
return reject(new Error("An error occurred listing credentials"));
4953
}

0 commit comments

Comments
 (0)