Add getDockerImageSpec and cleanDockerObjects to API (#19900)

* Add getDockerImageSpec and cleanDockerObjects to API

* docs
This commit is contained in:
Charles Gagnon
2022-07-01 12:57:40 -07:00
committed by GitHub
parent c211fb981c
commit 60026a39f9
5 changed files with 94 additions and 49 deletions

View File

@@ -7,7 +7,7 @@ import * as should from 'should';
import * as sinon from 'sinon';
import * as baselines from '../baselines/baselines';
import * as testUtils from '../testUtils';
import { DeployService } from '../../models/deploy/deployService';
import { DeployService, getDockerImageSpec } from '../../models/deploy/deployService';
import { Project } from '../../models/project';
import * as vscode from 'vscode';
import * as azdata from 'azdata';
@@ -175,33 +175,31 @@ describe('deploy service', function (): void {
});
it('Should create docker image info correctly', () => {
const testContext = createContext();
const deployService = new DeployService(testContext.azureSqlClient.object, testContext.outputChannel);
const id = UUID.generateUuid().toLocaleLowerCase();
const baseImage = 'baseImage:latest';
const tag = baseImage.replace(':', '-').replace(constants.sqlServerDockerRegistry, '').replace(/[^a-zA-Z0-9_,\-]/g, '').toLocaleLowerCase();
should(deployService.getDockerImageSpec('project-name123_test', baseImage, id)).deepEqual({
should(getDockerImageSpec('project-name123_test', baseImage, id)).deepEqual({
label: `${constants.dockerImageLabelPrefix}-project-name123_test`,
containerName: `${constants.dockerImageNamePrefix}-project-name123_test-${id}`,
tag: `${constants.dockerImageNamePrefix}-project-name123_test-${tag}`
});
should(deployService.getDockerImageSpec('project-name1', baseImage, id)).deepEqual({
should(getDockerImageSpec('project-name1', baseImage, id)).deepEqual({
label: `${constants.dockerImageLabelPrefix}-project-name1`,
containerName: `${constants.dockerImageNamePrefix}-project-name1-${id}`,
tag: `${constants.dockerImageNamePrefix}-project-name1-${tag}`
});
should(deployService.getDockerImageSpec('project-name2$#', baseImage, id)).deepEqual({
should(getDockerImageSpec('project-name2$#', baseImage, id)).deepEqual({
label: `${constants.dockerImageLabelPrefix}-project-name2`,
containerName: `${constants.dockerImageNamePrefix}-project-name2-${id}`,
tag: `${constants.dockerImageNamePrefix}-project-name2-${tag}`
});
should(deployService.getDockerImageSpec('project - name3', baseImage, id)).deepEqual({
should(getDockerImageSpec('project - name3', baseImage, id)).deepEqual({
label: `${constants.dockerImageLabelPrefix}-project-name3`,
containerName: `${constants.dockerImageNamePrefix}-project-name3-${id}`,
tag: `${constants.dockerImageNamePrefix}-project-name3-${tag}`
});
should(deployService.getDockerImageSpec('project_name4', baseImage, id)).deepEqual({
should(getDockerImageSpec('project_name4', baseImage, id)).deepEqual({
label: `${constants.dockerImageLabelPrefix}-project_name4`,
containerName: `${constants.dockerImageNamePrefix}-project_name4-${id}`,
tag: `${constants.dockerImageNamePrefix}-project_name4-${tag}`
@@ -210,7 +208,7 @@ describe('deploy service', function (): void {
const reallyLongName = new Array(128 + 1).join('a').replace(/[^a-zA-Z0-9_,\-]/g, '');
const imageProjectName = reallyLongName.substring(0, 128 - (constants.dockerImageNamePrefix.length + tag.length + 2));
should(deployService.getDockerImageSpec(reallyLongName, baseImage, id)).deepEqual({
should(getDockerImageSpec(reallyLongName, baseImage, id)).deepEqual({
label: `${constants.dockerImageLabelPrefix}-${imageProjectName}`,
containerName: `${constants.dockerImageNamePrefix}-${imageProjectName}-${id}`,
tag: `${constants.dockerImageNamePrefix}-${imageProjectName}-${tag}`