Skip to content

Commit

Permalink
test(vendir): refactor fixtures (#28165)
Browse files Browse the repository at this point in the history
  • Loading branch information
knechtionscoding committed Mar 28, 2024
1 parent c74a499 commit a6f90f2
Show file tree
Hide file tree
Showing 7 changed files with 55 additions and 103 deletions.
12 changes: 0 additions & 12 deletions lib/modules/manager/vendir/__fixtures__/alias-contents.yaml

This file was deleted.

Expand Up @@ -4,7 +4,7 @@ directories:
- path: vendor
contents:
- path: github.com/cloudfoundry/cf-k8s-networking
git:
invalid:
# http or ssh urls are supported (required)
url: https://github.com/cloudfoundry/cf-k8s-networking
# branch, tag, commit; origin is the name of the remote (required)
Expand Down
17 changes: 0 additions & 17 deletions lib/modules/manager/vendir/__fixtures__/multiple-contents.yaml

This file was deleted.

12 changes: 0 additions & 12 deletions lib/modules/manager/vendir/__fixtures__/oci-contents.yaml

This file was deleted.

11 changes: 0 additions & 11 deletions lib/modules/manager/vendir/__fixtures__/one-contents.yaml

This file was deleted.

33 changes: 33 additions & 0 deletions lib/modules/manager/vendir/__fixtures__/valid-contents.yaml
@@ -0,0 +1,33 @@
apiVersion: vendir.k14s.io/v1alpha1
kind: Config
directories:
- path: vendor
contents:
# Normal Helm Chart
- path: custom-repo-custom-version
helmChart:
name: valid-helmchart-1
version: "7.10.1"
repository:
url: https://charts.bitnami.com/bitnami
# Normal Helm Chart 2 for handling lists
- path: thing
helmChart:
name: valid-helmchart-2
version: "7.10.1"
repository:
url: https://charts.bitnami.com/bitnami
# OCI Helm Chart
- path: custom-repo-custom-version
helmChart:
name: oci-chart
version: "7.10.1"
repository:
url: oci://charts.bitnami.com/bitnami
# Aliased OCI Helm Chart
- path: custom-repo-custom-version
helmChart:
name: aliased-oci-chart
version: "7.10.1"
repository:
url: oci://test
71 changes: 21 additions & 50 deletions lib/modules/manager/vendir/extract.spec.ts
Expand Up @@ -2,11 +2,8 @@ import { codeBlock } from 'common-tags';
import { Fixtures } from '../../../../test/fixtures';
import { extractPackageFile } from '.';

const oneContents = Fixtures.get('one-contents.yaml');
const ociContents = Fixtures.get('oci-contents.yaml');
const aliasContents = Fixtures.get('alias-contents.yaml');
const multipleContents = Fixtures.get('multiple-contents.yaml');
const nonHelmChartContents = Fixtures.get('non-helmchart.yaml');
const validContents = Fixtures.get('valid-contents.yaml');
const invalidContents = Fixtures.get('invalid-contents.yaml');

describe('modules/manager/vendir/extract', () => {
describe('extractPackageFile()', () => {
Expand All @@ -31,74 +28,48 @@ describe('modules/manager/vendir/extract', () => {
});

it('returns null for nonHelmChart key', () => {
const result = extractPackageFile(nonHelmChartContents, 'vendir.yml', {});
const result = extractPackageFile(invalidContents, 'vendir.yml', {});
expect(result).toBeNull();
});

it('single chart - extracts helm-chart from vendir.yml correctly', () => {
const result = extractPackageFile(oneContents, 'vendir.yml', {});
it('multiple charts - extracts helm-chart from vendir.yml correctly', () => {
const result = extractPackageFile(validContents, 'vendir.yml', {
registryAliases: {
test: 'quay.example.com/organization',
},
});
expect(result).toMatchObject({
deps: [
{
currentValue: '7.10.1',
depName: 'contour',
depName: 'valid-helmchart-1',
datasource: 'helm',
depType: 'HelmChart',
registryUrls: ['https://charts.bitnami.com/bitnami'],
},
],
});
});

it('single chart - extracts oci helm-chart from vendir.yml correctly', () => {
const result = extractPackageFile(ociContents, 'vendir.yml', {});
expect(result).toMatchObject({
deps: [
{
currentValue: '7.10.1',
depName: 'contour',
packageName: 'charts.bitnami.com/bitnami/contour',
datasource: 'docker',
},
],
});
});

it('multiple charts - extracts helm-chart from vendir.yml correctly', () => {
const result = extractPackageFile(multipleContents, 'vendir.yml', {});
expect(result).toMatchObject({
deps: [
{
currentValue: '7.10.1',
depName: 'contour',
depName: 'valid-helmchart-2',
datasource: 'helm',
depType: 'HelmChart',
registryUrls: ['https://charts.bitnami.com/bitnami'],
},
{
currentDigest: undefined,
currentValue: '7.10.1',
depName: 'contour',
datasource: 'helm',
registryUrls: ['https://charts.bitnami.com/bitnami'],
depName: 'oci-chart',
datasource: 'docker',
depType: 'HelmChart',
packageName: 'charts.bitnami.com/bitnami/oci-chart',
pinDigests: false,
},
],
});
});

it('resolves aliased registry urls', () => {
const aliasResult = extractPackageFile(aliasContents, 'vendir.yml', {
registryAliases: {
test: 'quay.example.com/organization',
},
});

expect(aliasResult).toMatchObject({
deps: [
{
currentDigest: undefined,
currentValue: '7.10.1',
depName: 'oci',
depName: 'aliased-oci-chart',
datasource: 'docker',
depType: 'HelmChart',
packageName: 'quay.example.com/organization/oci',
packageName: 'quay.example.com/organization/aliased-oci-chart',
pinDigests: false,
},
],
Expand Down

0 comments on commit a6f90f2

Please sign in to comment.