mirror of
https://github.com/podman-desktop/podman-desktop
synced 2026-05-24 10:18:53 +00:00
chore: add getDockerInstallation test
Signed-off-by: Anders F Björklund <anders.f.bjorklund@gmail.com>
This commit is contained in:
parent
007e32f2f5
commit
daef971467
1 changed files with 58 additions and 0 deletions
58
extensions/docker/src/docker-cli.spec.ts
Normal file
58
extensions/docker/src/docker-cli.spec.ts
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
/**********************************************************************
|
||||
* Copyright (C) 2024 Red Hat, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
***********************************************************************/
|
||||
|
||||
import * as extensionApi from '@podman-desktop/api';
|
||||
|
||||
import type { Mock } from 'vitest';
|
||||
import { expect, test, vi } from 'vitest';
|
||||
import { getDockerInstallation } from './docker-cli';
|
||||
|
||||
// mock the API
|
||||
vi.mock('@podman-desktop/api', async () => {
|
||||
return {
|
||||
env: {},
|
||||
process: {
|
||||
exec: vi.fn(),
|
||||
},
|
||||
};
|
||||
});
|
||||
|
||||
test('should not return podman version', async () => {
|
||||
const podmanOutput = 'podman version 4.8.3';
|
||||
|
||||
(extensionApi.process.exec as Mock).mockReturnValue({
|
||||
stdout: podmanOutput,
|
||||
} as extensionApi.RunResult);
|
||||
|
||||
const installedDocker = await getDockerInstallation();
|
||||
|
||||
expect(installedDocker).toBeUndefined();
|
||||
});
|
||||
|
||||
test('should return docker version', async () => {
|
||||
const dockerOutput = 'Docker version 25.0.2, build 29cf629';
|
||||
|
||||
(extensionApi.process.exec as Mock).mockReturnValue({
|
||||
stdout: dockerOutput,
|
||||
} as extensionApi.RunResult);
|
||||
|
||||
const installedDocker = await getDockerInstallation();
|
||||
|
||||
expect(installedDocker).toBeDefined();
|
||||
expect(installedDocker.version).toBe('25.0.2');
|
||||
});
|
||||
Loading…
Reference in a new issue