Wizard: Update the Repositories step

This updates the Repositories and Review step as per [mocks](https://www.sketch.com/s/d7aa6d29-fca0-4283-a846-09cc5fd10612/a/MyEbDz7).

Repositories with the unavailable or invalid status have a popover that allows for further inspection. The time of the last introspection and the counter of failed attempts was added to the popover, together with the "Go to Repositories" button.

On Recreate the payload repositories are checked against "freshly" fetched list of repositories. In case any of the previously checked repositories is no longer available in content sources an Alert is rendered on both Repositories and Review steps. The unavailable repository is checked, but the checkbox is disabled and the information is dashed out. Since the information about the repository is stored in the Repository type, the only information available to be rendered is the baseurl.

Create image button is also disabled when recreating an image with unavailable repositories.
This commit is contained in:
regexowl 2023-08-22 17:53:24 +02:00 committed by Thomas Lavocat
parent 0822a69619
commit 9f5a0af826
12 changed files with 748 additions and 138 deletions

View file

@ -7,6 +7,7 @@ import PropTypes from 'prop-types';
import { contentSourcesApi } from '../../../store/contentSourcesApi';
import { rhsmApi } from '../../../store/rhsmApi';
import { useCheckRepositoriesAvailability } from '../../../Utilities/checkRepositoriesAvailability';
import { releaseToVersion } from '../../../Utilities/releaseToVersion';
const CustomButtons = ({
@ -21,6 +22,7 @@ const CustomButtons = ({
const prefetchActivationKeys = rhsmApi.usePrefetch('listActivationKeys');
const prefetchRepositories =
contentSourcesApi.usePrefetch('listRepositories');
const hasUnavailableRepo = useCheckRepositoriesAvailability();
const onNextOrSubmit = () => {
if (currentStep.id === 'wizard-review') {
@ -62,7 +64,8 @@ const CustomButtons = ({
isDisabled={
!formOptions.valid ||
formOptions.getState().validating ||
isSaving
isSaving ||
hasUnavailableRepo
}
isLoading={currentStep.id === 'wizard-review' ? isSaving : null}
onClick={onNextOrSubmit}

View file

@ -38,6 +38,7 @@ import {
import PropTypes from 'prop-types';
import RepositoriesStatus from './RepositoriesStatus';
import RepositoryUnavailable from './RepositoryUnavailable';
import { useListRepositoriesQuery } from '../../../store/contentSourcesApi';
import { releaseToVersion } from '../../../Utilities/releaseToVersion';
@ -396,6 +397,7 @@ const Repositories = (props) => {
</Toolbar>
<Panel isScrollable>
<PanelMain>
<RepositoryUnavailable />
<TableComposable
variant="compact"
data-testid="repositories-table"
@ -404,9 +406,9 @@ const Repositories = (props) => {
<Tr>
<Th />
<Th width={45}>Name</Th>
<Th>Architecture</Th>
<Th>Versions</Th>
<Th>Packages</Th>
<Th width={15}>Architecture</Th>
<Th>Version</Th>
<Th width={10}>Packages</Th>
<Th>Status</Th>
</Tr>
</Thead>
@ -427,6 +429,7 @@ const Repositories = (props) => {
.slice(computeStart(), computeEnd())
.map((repoURL, rowIndex) => {
const repo = repositories[repoURL];
const repoExists = repo.name ? true : false;
return (
<Tr key={repo.url}>
<Td
@ -439,7 +442,9 @@ const Repositories = (props) => {
}}
/>
<Td dataLabel={'Name'}>
{repo.name}
{repoExists
? repo.name
: 'Repository with the following url is no longer available:'}
<br />
<Button
component="a"
@ -454,16 +459,24 @@ const Repositories = (props) => {
</Button>
</Td>
<Td dataLabel={'Architecture'}>
{repo.distribution_arch}
{repoExists ? repo.distribution_arch : '-'}
</Td>
<Td dataLabel={'Version'}>
{repo.distribution_versions}
{repoExists ? repo.distribution_versions : '-'}
</Td>
<Td dataLabel={'Packages'}>
{repoExists ? repo.package_count : '-'}
</Td>
<Td dataLabel={'Packages'}>{repo.package_count}</Td>
<Td dataLabel={'Status'}>
<RepositoriesStatus
repoStatus={repo.status}
repoStatus={
repoExists ? repo.status : 'Unavailable'
}
repoUrl={repo.url}
repoIntrospections={
repo.last_introspection_time
}
repoFailCount={repo.failed_introspections_count}
/>
</Td>
</Tr>
@ -508,9 +521,8 @@ const Empty = ({ isFetching, refetch }) => {
No Custom Repositories
</Title>
<EmptyStateBody>
Custom repositories managed via the Red Hat Insights Repositories app
will be available here to select and use to search for additional
packages.
Repositories can be added in the &quot;Repositories&quot; area of the
console. Once added, refresh this page to see them.
</EmptyStateBody>
<Button
variant="primary"
@ -519,10 +531,10 @@ const Empty = ({ isFetching, refetch }) => {
href={isBeta() ? '/preview/settings/content' : '/settings/content'}
className="pf-u-mr-sm"
>
Repositories
Go to repositories
</Button>
<Button
variant="primary"
variant="secondary"
isInline
onClick={() => refetch()}
isLoading={isFetching}

View file

@ -1,28 +1,70 @@
import React from 'react';
import { Alert, Button, Popover } from '@patternfly/react-core';
import {
Alert,
Button,
DescriptionList,
DescriptionListDescription,
DescriptionListGroup,
DescriptionListTerm,
Popover,
} from '@patternfly/react-core';
import {
CheckCircleIcon,
ExclamationCircleIcon,
ExclamationTriangleIcon,
ExternalLinkAltIcon,
InProgressIcon,
} from '@patternfly/react-icons';
import { ApiRepositoryResponse } from '../../../store/contentSourcesApi';
import {
convertStringToDate,
timestampToDisplayString,
} from '../../../Utilities/time';
import { useGetEnvironment } from '../../../Utilities/useGetEnvironment';
const getLastIntrospection = (
repoIntrospections: RepositoryStatusProps['repoIntrospections']
) => {
const currentDate = Date.now();
const lastIntrospectionDate = convertStringToDate(repoIntrospections);
const timeDeltaInSeconds = Math.floor(
(currentDate - lastIntrospectionDate) / 1000
);
if (timeDeltaInSeconds <= 60) {
return 'A few seconds ago';
} else if (timeDeltaInSeconds <= 60 * 60) {
return 'A few minutes ago';
} else if (timeDeltaInSeconds <= 60 * 60 * 24) {
return 'A few hours ago';
} else {
return timestampToDisplayString(repoIntrospections);
}
};
type RepositoryStatusProps = {
repoStatus: ApiRepositoryResponse['status'];
repoUrl: ApiRepositoryResponse['url'];
repoIntrospections: ApiRepositoryResponse['last_introspection_time'];
repoFailCount: ApiRepositoryResponse['failed_introspections_count'];
};
const RepositoriesStatus = ({ repoStatus, repoUrl }: RepositoryStatusProps) => {
const RepositoriesStatus = ({
repoStatus,
repoUrl,
repoIntrospections,
repoFailCount,
}: RepositoryStatusProps) => {
const { isBeta } = useGetEnvironment();
if (repoStatus === 'Valid') {
return (
<>
<CheckCircleIcon className="success" /> {repoStatus}
</>
);
} else if (repoStatus === 'Invalid') {
} else if (repoStatus === 'Invalid' || repoStatus === 'Unavailable') {
return (
<>
<Popover
@ -30,33 +72,68 @@ const RepositoriesStatus = ({ repoStatus, repoUrl }: RepositoryStatusProps) => {
minWidth="30rem"
bodyContent={
<>
<Alert variant="danger" title="Invalid" isInline isPlain />
Cannot fetch {repoUrl}
<Alert
variant={repoStatus === 'Invalid' ? 'danger' : 'warning'}
title={repoStatus}
className="pf-u-pb-sm"
isInline
isPlain
/>
<p className="pf-u-pb-md">Cannot fetch {repoUrl}</p>
{(repoIntrospections || repoFailCount) && (
<>
<DescriptionList
columnModifier={{
default: '2Col',
}}
>
{repoIntrospections && (
<DescriptionListGroup>
<DescriptionListTerm>
Last introspection
</DescriptionListTerm>
<DescriptionListDescription>
{getLastIntrospection(repoIntrospections)}
</DescriptionListDescription>
</DescriptionListGroup>
)}
{repoFailCount && (
<DescriptionListGroup>
<DescriptionListTerm>
Failed attempts
</DescriptionListTerm>
<DescriptionListDescription>
{repoFailCount}
</DescriptionListDescription>
</DescriptionListGroup>
)}
</DescriptionList>
<br />
</>
)}
<Button
component="a"
target="_blank"
variant="link"
iconPosition="right"
isInline
icon={<ExternalLinkAltIcon />}
href={
isBeta() ? '/preview/settings/content' : '/settings/content'
}
>
Go to Repositories
</Button>
</>
}
>
<Button variant="link" className="pf-u-p-0 pf-u-font-size-sm">
<ExclamationCircleIcon className="error" />{' '}
<span className="failure-button">{repoStatus}</span>
</Button>
</Popover>
</>
);
} else if (repoStatus === 'Unavailable') {
return (
<>
<Popover
position="bottom"
minWidth="30rem"
bodyContent={
<>
<Alert variant="warning" title="Unavailable" isInline isPlain />
Cannot fetch {repoUrl}
</>
}
>
<Button variant="link" className="pf-u-p-0 pf-u-font-size-sm">
<ExclamationTriangleIcon className="expiring" />{' '}
{repoStatus === 'Invalid' && (
<ExclamationCircleIcon className="error" />
)}
{repoStatus === 'Unavailable' && (
<ExclamationTriangleIcon className="expiring" />
)}{' '}
<span className="failure-button">{repoStatus}</span>
</Button>
</Popover>

View file

@ -0,0 +1,42 @@
import React from 'react';
import { Alert, Button } from '@patternfly/react-core';
import { ExternalLinkAltIcon } from '@patternfly/react-icons';
import { useCheckRepositoriesAvailability } from '../../../Utilities/checkRepositoriesAvailability';
import { useGetEnvironment } from '../../../Utilities/useGetEnvironment';
const RepositoryUnavailable = () => {
const { isBeta } = useGetEnvironment();
if (useCheckRepositoriesAvailability()) {
return (
<Alert
variant="warning"
title="Previously added custom repository unavailable"
isInline
>
A repository that was used to build this image previously is not
available. Address the error found in the last introspection and
validate that the repository is still accessible.
<br />
<br />
<Button
component="a"
target="_blank"
variant="link"
iconPosition="right"
isInline
icon={<ExternalLinkAltIcon />}
href={isBeta() ? '/preview/settings/content' : '/settings/content'}
>
Go to Repositories
</Button>
</Alert>
);
} else {
return;
}
};
export default RepositoryUnavailable;

View file

@ -9,6 +9,7 @@ import {
} from '@patternfly/react-core';
import { useChrome } from '@redhat-cloud-services/frontend-components/useChrome';
import RepositoryUnavailable from './RepositoryUnavailable';
import {
ContentList,
FSCList,
@ -59,6 +60,7 @@ const ReviewStep = () => {
return (
<>
<RepositoryUnavailable />
<ExpandableSection
toggleContent={'Image output'}
onToggle={onToggleImageOutput}

View file

@ -20,18 +20,32 @@ const RepoName = ({ repoUrl }) => {
url: repoUrl,
});
const errorLoading = () => {
return (
<Alert
variant="danger"
isInline
isPlain
title="Error loading repository name"
/>
);
};
return (
<>
{isSuccess && <p>{data.data?.[0].name}</p>}
{/*
this might be a tad bit hacky
"isSuccess" indicates only that the query fetched successfuly, but it
doesn't differentiate between a scenario when the repository was found
in the response and when it was not
for this reason I've split the "isSuccess" into two paths:
- query finished and the repo was found -> render the name of the repo
- query finished, but the repo was not found -> render an error
*/}
{isSuccess && data.data?.[0]?.name && <p>{data.data?.[0].name}</p>}
{isSuccess && !data.data?.[0]?.name && errorLoading()}
{isFetching && <Spinner isSVG size="md" />}
{isError && (
<Alert
variant="danger"
isInline
isPlain
title="Error loading repository name"
/>
)}
{isError && errorLoading()}
</>
);
};

View file

@ -41,8 +41,8 @@ const repositoriesStep = {
name: 'packages-text-component',
label: (
<Text>
Select custom repositories from which to search and add packages to
this image.
Select from linked custom repositories from which to search and add
packages to this image.
<br />
<VisitButton />
</Text>

View file

@ -0,0 +1,69 @@
import { useMemo } from 'react';
import { useFormApi } from '@data-driven-forms/react-form-renderer';
import { releaseToVersion } from './releaseToVersion';
import { useListRepositoriesQuery } from '../store/contentSourcesApi';
/**
* This checks the list of the payload repositories against a list of repos freshly
* fetched from content source API and returns true whether there are some
* repositories that are no longer available in the Repositories service.
*
* (The payload repositories are comming from the useFormApi hook).
*/
export const useCheckRepositoriesAvailability = () => {
const { getState } = useFormApi();
const release = getState().values?.release;
const version = releaseToVersion(release);
// There needs to be two requests because the default limit for the
// useListRepositoriesQuery is a 100 elements, and a first request is
// necessary to know the total amount of elements to fetch.
const firstRequest = useListRepositoriesQuery({
availableForArch: 'x86_64',
availableForVersion: version,
});
const skip =
firstRequest?.data?.meta?.count === undefined ||
firstRequest?.data?.meta?.count <= 100;
// Fetch *all* repositories if there are more than 100
const followupRequest = useListRepositoriesQuery(
{
availableForArch: 'x86_64',
availableForVersion: version,
limit: firstRequest?.data?.meta?.count,
offset: 0,
},
{
skip: skip,
}
);
const { data: freshRepos, isSuccess } = useMemo(() => {
if (firstRequest?.data?.meta?.count > 100) {
return { ...followupRequest };
}
return { ...firstRequest };
}, [firstRequest, followupRequest]);
const payloadRepositories = getState()?.values?.['payload-repositories'];
// payloadRepositories existing === we came here from Recreate
if (isSuccess && payloadRepositories) {
// Transform the fresh repos array into a Set to access its elements in O(1)
// complexity later in the for loop.
const freshReposUrls = new Set(
freshRepos.data.map((freshRepo) => freshRepo.url)
);
for (const payloadRepo of payloadRepositories) {
if (!freshReposUrls.has(payloadRepo.baseurl)) {
return true;
}
}
}
return false;
};

View file

@ -8,7 +8,11 @@ import userEvent from '@testing-library/user-event';
import api from '../../../api.js';
import CreateImageWizard from '../../../Components/CreateImageWizard/CreateImageWizard';
import ShareImageModal from '../../../Components/ShareImageModal/ShareImageModal';
import { mockComposesEmpty } from '../../fixtures/composes';
import { store } from '../../../store/index.js';
import {
mockComposesEmpty,
mockStateRecreateImage,
} from '../../fixtures/composes';
import {
mockPkgResultAlpha,
mockPkgResultAlphaContentSources,
@ -19,6 +23,7 @@ import {
clickBack,
clickNext,
renderCustomRoutesWithReduxRouter,
renderWithReduxRouter,
verifyCancelButton,
} from '../../testUtils';
@ -868,3 +873,104 @@ describe('Step Custom repositories', () => {
await waitFor(() => expect(rows).toHaveLength(10));
});
});
describe('On Recreate', () => {
const user = userEvent.setup();
const setUp = async () => {
jest.mock('../../../store/index.js');
const state = mockStateRecreateImage;
store.getState = () => state;
({ router } = renderWithReduxRouter(
'imagewizard/hyk93673-8dcc-4a61-ac30-e9f4940d8346',
state
));
};
const setUpUnavailableRepo = async () => {
jest.mock('../../../store/index.js');
const state = mockStateRecreateImage;
store.getState = () => state;
({ router } = renderWithReduxRouter(
'imagewizard/b7193673-8dcc-4a5f-ac30-e9f4940d8346',
state
));
};
test('with valid repositories', async () => {
await setUp();
screen.getByRole('heading', { name: /review/i });
expect(
screen.queryByText('Previously added custom repository unavailable')
).not.toBeInTheDocument();
const createImageButton = await screen.findByRole('button', {
name: /create image/i,
});
await waitFor(() => expect(createImageButton).toBeEnabled());
await user.click(
await screen.findByRole('button', { name: /custom repositories/i })
);
await screen.findByRole('heading', { name: /custom repositories/i });
expect(
screen.queryByText('Previously added custom repository unavailable')
).not.toBeInTheDocument();
const table = await screen.findByTestId('repositories-table');
const { getAllByRole } = within(table);
const rows = getAllByRole('row');
const availableRepo = rows[1].cells[1];
expect(availableRepo).toHaveTextContent(
'13lk3http://yum.theforeman.org/releases/3.4/el8/x86_64/'
);
const availableRepoCheckbox = await screen.findByRole('checkbox', {
name: /select row 0/i,
});
expect(availableRepoCheckbox).toBeEnabled();
});
test('with repositories that are no longer available', async () => {
await setUpUnavailableRepo();
screen.getByRole('heading', { name: /review/i });
await screen.findByText('Previously added custom repository unavailable');
const createImageButton = await screen.findByRole('button', {
name: /create image/i,
});
expect(createImageButton).toBeDisabled();
await user.click(
await screen.findByRole('button', { name: /custom repositories/i })
);
await screen.findByRole('heading', { name: /custom repositories/i });
await screen.findByText('Previously added custom repository unavailable');
const table = await screen.findByTestId('repositories-table');
const { getAllByRole } = within(table);
const rows = getAllByRole('row');
const unavailableRepo = rows[1].cells[1];
expect(unavailableRepo).toHaveTextContent(
'Repository with the following url is no longer available:http://unreachable.link.to.repo.org/x86_64/'
);
const unavailableRepoCheckbox = await screen.findByRole('checkbox', {
name: /select row 0/i,
});
expect(unavailableRepoCheckbox).toBeDisabled();
});
});

View file

@ -88,12 +88,12 @@ const searchForAvailablePackages = async (searchbox, searchTerm) => {
);
};
const switchToAWSManual = () => {
const switchToAWSManual = async () => {
const user = userEvent.setup();
const manualRadio = screen.getByRole('radio', {
name: /manually enter an account id\./i,
});
user.click(manualRadio);
await user.click(manualRadio);
return manualRadio;
};
@ -152,7 +152,7 @@ describe('Step Image output', () => {
await clickNext();
switchToAWSManual();
await switchToAWSManual();
await screen.findByText('AWS account ID');
});
@ -289,7 +289,7 @@ describe('Step Upload to AWS', () => {
test('clicking Next loads Registration', async () => {
await setUp();
switchToAWSManual();
await switchToAWSManual();
await user.type(
await screen.findByTestId('aws-account-id'),
'012345678901'
@ -700,7 +700,7 @@ describe('Step File system configuration', () => {
await clickNext();
// aws step
switchToAWSManual();
await switchToAWSManual();
await user.type(
await screen.findByTestId('aws-account-id'),
'012345678901'
@ -775,7 +775,7 @@ describe('Step Details', () => {
await clickNext();
// aws step
switchToAWSManual();
await switchToAWSManual();
await user.type(
await screen.findByTestId('aws-account-id'),
'012345678901'
@ -844,7 +844,7 @@ describe('Step Review', () => {
await clickNext();
// aws step
switchToAWSManual();
await switchToAWSManual();
await user.type(
await screen.findByTestId('aws-account-id'),
'012345678901'
@ -894,7 +894,7 @@ describe('Step Review', () => {
await clickNext();
// aws step
switchToAWSManual();
await switchToAWSManual();
await user.type(
await screen.findByTestId('aws-account-id'),
'012345678901'

View file

@ -193,8 +193,8 @@ export const mockComposes: ComposesResponse = {
},
},
{
created_at: '2021-04-27T12:31:12Z',
id: 'b7193673-8dcc-4a5f-ac30-e9f4940d8346',
created_at: '2021-04-27T12:31:12Z',
request: {
distribution: RHEL_8,
image_requests: [
@ -207,6 +207,48 @@ export const mockComposes: ComposesResponse = {
},
},
],
customizations: {
custom_repositories: [
{
baseurl: ['http://unreachable.link.to.repo.org/x86_64/'],
check_gpg: true,
check_repo_gpg: false,
gpgkey: [
'-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGN9300BEAC1FLODu0cL6saMMHa7yJY1JZUc+jQUI/HdECQrrsTaPXlcc7nM\nykYMMv6amPqbnhH/R5BW2Ano+OMse+PXtUr0NXU4OcvxbnnXkrVBVUf8mXI9DzLZ\njw8KoD+4/s0BuzO78zAJF5uhuyHMAK0ll9v0r92kK45Fas9iZTfRFcqFAzvgjScf\n5jeBnbRs5U3UTz9mtDy802mk357o1A8BD0qlu3kANDpjLbORGWdAj21A6sMJDYXy\nHS9FBNV54daNcr+weky2L9gaF2yFjeu2rSEHCSfkbWfpSiVUx/bDTj7XS6XDOuJT\nJqvGS8jHqjHAIFBirhCA4cY/jLKxWyMr5N6IbXpPAYgt8/YYz2aOYVvdyB8tZ1u1\nkVsMYSGcvTBexZCn1cDkbO6I+waIlsc0uxGqUGBKF83AVYCQqOkBjF1uNnu9qefE\nkEc9obr4JZsAgnisboU25ss5ZJddKlmFMKSi66g4S5ChLEPFq7MB06PhLFioaD3L\nEXza7XitoW5VBwr0BSVKAHMC0T2xbm70zY06a6gQRlvr9a10lPmv4Tptc7xgQReg\nu1TlFPbrkGJ0d8O6vHQRAd3zdsNaVr4gX0Tg7UYiqT9ZUkP7hOc8PYXQ28hHrHTB\nA63MTq0aiPlJ/ivTuX8M6+Bi25dIV6N6IOUi/NQKIYxgovJCDSdCAAM0fQARAQAB\ntCFMdWNhcyBHYXJmaWVsZCA8bHVjYXNAcmVkaGF0LmNvbT6JAlcEEwEIAEEWIQTO\nQZeiHnXqdjmfUURc6PeuecS2PAUCY33fTQIbAwUJA8JnAAULCQgHAgIiAgYVCgkI\nCwIEFgIDAQIeBwIXgAAKCRBc6PeuecS2PCk3D/9jW7xrBB/2MQFKd5l+mNMFyKwc\nL9M/M5RFI9GaQRo55CwnPb0nnxOJR1V5GzZ/YGii53H2ose65CfBOE2L/F/RvKF0\nH9S9MInixlahzzKtV3TpDoZGk5oZIHEMuPmPS4XaHggolrzExY0ib0mQuBBE/uEV\n/HlyHEunBKPhTkAe+6Q+2dl22SUuVfWr4Uzlp65+DkdN3M37WI1a3Suhnef3rOSM\nV6puUzWRR7qcYs5C2In87AcYPn92P5ur1y/C32r8Ftg3fRWnEzI9QfRG52ojNOLK\nyGQ8ZC9PGe0q7VFcF7ridT/uzRU+NVKldbJg+rvBnszb1MjNuR7rUQHyvGmbsUVQ\nRCsgdovkee3lP4gfZHzk2SSLVSo0+NJRNaM90EmPk14Pgi/yfRSDGBVvLBbEanYI\nv1ZtdIPRyKi+/IaMOu/l7nayM/8RzghdU+0f1FAif5qf9nXuI13P8fqcqfu67gNd\nkh0UUF1XyR5UHHEZQQDqCuKEkZJ/+27jYlsG1ZiLb1odlIWoR44RP6k5OJl0raZb\nyLXbAfpITsXiJJBpCam9P9+XR5VSfgkqp5hIa7J8piN3DoMpoExg4PPQr6PbLAJy\nOUCOnuB7yYVbj0wYuMXTuyrcBHh/UymQnS8AMpQoEkCLWS/A/Hze/pD23LgiBoLY\nXIn5A2EOAf7t2IMSlA==\n=OanT\n-----END PGP PUBLIC KEY BLOCK-----',
],
id: 'd4b6d3db-bd15-4750-98c0-667f42995566',
name: '03-test-unavailable-repo',
},
{
baseurl: ['http://yum.theforeman.org/releases/3.4/el8/x86_64/'],
check_gpg: true,
check_repo_gpg: false,
gpgkey: [
'-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGN9300BEAC1FLODu0cL6saMMHa7yJY1JZUc+jQUI/HdECQrrsTaPXlcc7nM\nykYMMv6amPqbnhH/R5BW2Ano+OMse+PXtUr0NXU4OcvxbnnXkrVBVUf8mXI9DzLZ\njw8KoD+4/s0BuzO78zAJF5uhuyHMAK0ll9v0r92kK45Fas9iZTfRFcqFAzvgjScf\n5jeBnbRs5U3UTz9mtDy802mk357o1A8BD0qlu3kANDpjLbORGWdAj21A6sMJDYXy\nHS9FBNV54daNcr+weky2L9gaF2yFjeu2rSEHCSfkbWfpSiVUx/bDTj7XS6XDOuJT\nJqvGS8jHqjHAIFBirhCA4cY/jLKxWyMr5N6IbXpPAYgt8/YYz2aOYVvdyB8tZ1u1\nkVsMYSGcvTBexZCn1cDkbO6I+waIlsc0uxGqUGBKF83AVYCQqOkBjF1uNnu9qefE\nkEc9obr4JZsAgnisboU25ss5ZJddKlmFMKSi66g4S5ChLEPFq7MB06PhLFioaD3L\nEXza7XitoW5VBwr0BSVKAHMC0T2xbm70zY06a6gQRlvr9a10lPmv4Tptc7xgQReg\nu1TlFPbrkGJ0d8O6vHQRAd3zdsNaVr4gX0Tg7UYiqT9ZUkP7hOc8PYXQ28hHrHTB\nA63MTq0aiPlJ/ivTuX8M6+Bi25dIV6N6IOUi/NQKIYxgovJCDSdCAAM0fQARAQAB\ntCFMdWNhcyBHYXJmaWVsZCA8bHVjYXNAcmVkaGF0LmNvbT6JAlcEEwEIAEEWIQTO\nQZeiHnXqdjmfUURc6PeuecS2PAUCY33fTQIbAwUJA8JnAAULCQgHAgIiAgYVCgkI\nCwIEFgIDAQIeBwIXgAAKCRBc6PeuecS2PCk3D/9jW7xrBB/2MQFKd5l+mNMFyKwc\nL9M/M5RFI9GaQRo55CwnPb0nnxOJR1V5GzZ/YGii53H2ose65CfBOE2L/F/RvKF0\nH9S9MInixlahzzKtV3TpDoZGk5oZIHEMuPmPS4XaHggolrzExY0ib0mQuBBE/uEV\n/HlyHEunBKPhTkAe+6Q+2dl22SUuVfWr4Uzlp65+DkdN3M37WI1a3Suhnef3rOSM\nV6puUzWRR7qcYs5C2In87AcYPn92P5ur1y/C32r8Ftg3fRWnEzI9QfRG52ojNOLK\nyGQ8ZC9PGe0q7VFcF7ridT/uzRU+NVKldbJg+rvBnszb1MjNuR7rUQHyvGmbsUVQ\nRCsgdovkee3lP4gfZHzk2SSLVSo0+NJRNaM90EmPk14Pgi/yfRSDGBVvLBbEanYI\nv1ZtdIPRyKi+/IaMOu/l7nayM/8RzghdU+0f1FAif5qf9nXuI13P8fqcqfu67gNd\nkh0UUF1XyR5UHHEZQQDqCuKEkZJ/+27jYlsG1ZiLb1odlIWoR44RP6k5OJl0raZb\nyLXbAfpITsXiJJBpCam9P9+XR5VSfgkqp5hIa7J8piN3DoMpoExg4PPQr6PbLAJy\nOUCOnuB7yYVbj0wYuMXTuyrcBHh/UymQnS8AMpQoEkCLWS/A/Hze/pD23LgiBoLY\nXIn5A2EOAf7t2IMSlA==\n=OanT\n-----END PGP PUBLIC KEY BLOCK-----',
],
id: 'dbad4dfc-1547-45f8-b5af-1d7fec0476c6',
name: '13lk3',
},
],
payload_repositories: [
{
baseurl: 'http://unreachable.link.to.repo.org/x86_64/',
check_gpg: true,
check_repo_gpg: false,
gpgkey:
'-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGN9300BEAC1FLODu0cL6saMMHa7yJY1JZUc+jQUI/HdECQrrsTaPXlcc7nM\nykYMMv6amPqbnhH/R5BW2Ano+OMse+PXtUr0NXU4OcvxbnnXkrVBVUf8mXI9DzLZ\njw8KoD+4/s0BuzO78zAJF5uhuyHMAK0ll9v0r92kK45Fas9iZTfRFcqFAzvgjScf\n5jeBnbRs5U3UTz9mtDy802mk357o1A8BD0qlu3kANDpjLbORGWdAj21A6sMJDYXy\nHS9FBNV54daNcr+weky2L9gaF2yFjeu2rSEHCSfkbWfpSiVUx/bDTj7XS6XDOuJT\nJqvGS8jHqjHAIFBirhCA4cY/jLKxWyMr5N6IbXpPAYgt8/YYz2aOYVvdyB8tZ1u1\nkVsMYSGcvTBexZCn1cDkbO6I+waIlsc0uxGqUGBKF83AVYCQqOkBjF1uNnu9qefE\nkEc9obr4JZsAgnisboU25ss5ZJddKlmFMKSi66g4S5ChLEPFq7MB06PhLFioaD3L\nEXza7XitoW5VBwr0BSVKAHMC0T2xbm70zY06a6gQRlvr9a10lPmv4Tptc7xgQReg\nu1TlFPbrkGJ0d8O6vHQRAd3zdsNaVr4gX0Tg7UYiqT9ZUkP7hOc8PYXQ28hHrHTB\nA63MTq0aiPlJ/ivTuX8M6+Bi25dIV6N6IOUi/NQKIYxgovJCDSdCAAM0fQARAQAB\ntCFMdWNhcyBHYXJmaWVsZCA8bHVjYXNAcmVkaGF0LmNvbT6JAlcEEwEIAEEWIQTO\nQZeiHnXqdjmfUURc6PeuecS2PAUCY33fTQIbAwUJA8JnAAULCQgHAgIiAgYVCgkI\nCwIEFgIDAQIeBwIXgAAKCRBc6PeuecS2PCk3D/9jW7xrBB/2MQFKd5l+mNMFyKwc\nL9M/M5RFI9GaQRo55CwnPb0nnxOJR1V5GzZ/YGii53H2ose65CfBOE2L/F/RvKF0\nH9S9MInixlahzzKtV3TpDoZGk5oZIHEMuPmPS4XaHggolrzExY0ib0mQuBBE/uEV\n/HlyHEunBKPhTkAe+6Q+2dl22SUuVfWr4Uzlp65+DkdN3M37WI1a3Suhnef3rOSM\nV6puUzWRR7qcYs5C2In87AcYPn92P5ur1y/C32r8Ftg3fRWnEzI9QfRG52ojNOLK\nyGQ8ZC9PGe0q7VFcF7ridT/uzRU+NVKldbJg+rvBnszb1MjNuR7rUQHyvGmbsUVQ\nRCsgdovkee3lP4gfZHzk2SSLVSo0+NJRNaM90EmPk14Pgi/yfRSDGBVvLBbEanYI\nv1ZtdIPRyKi+/IaMOu/l7nayM/8RzghdU+0f1FAif5qf9nXuI13P8fqcqfu67gNd\nkh0UUF1XyR5UHHEZQQDqCuKEkZJ/+27jYlsG1ZiLb1odlIWoR44RP6k5OJl0raZb\nyLXbAfpITsXiJJBpCam9P9+XR5VSfgkqp5hIa7J8piN3DoMpoExg4PPQr6PbLAJy\nOUCOnuB7yYVbj0wYuMXTuyrcBHh/UymQnS8AMpQoEkCLWS/A/Hze/pD23LgiBoLY\nXIn5A2EOAf7t2IMSlA==\n=OanT\n-----END PGP PUBLIC KEY BLOCK-----',
rhsm: false,
},
{
baseurl: 'http://yum.theforeman.org/releases/3.4/el8/x86_64/',
check_gpg: true,
check_repo_gpg: false,
gpgkey:
'-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGN9300BEAC1FLODu0cL6saMMHa7yJY1JZUc+jQUI/HdECQrrsTaPXlcc7nM\nykYMMv6amPqbnhH/R5BW2Ano+OMse+PXtUr0NXU4OcvxbnnXkrVBVUf8mXI9DzLZ\njw8KoD+4/s0BuzO78zAJF5uhuyHMAK0ll9v0r92kK45Fas9iZTfRFcqFAzvgjScf\n5jeBnbRs5U3UTz9mtDy802mk357o1A8BD0qlu3kANDpjLbORGWdAj21A6sMJDYXy\nHS9FBNV54daNcr+weky2L9gaF2yFjeu2rSEHCSfkbWfpSiVUx/bDTj7XS6XDOuJT\nJqvGS8jHqjHAIFBirhCA4cY/jLKxWyMr5N6IbXpPAYgt8/YYz2aOYVvdyB8tZ1u1\nkVsMYSGcvTBexZCn1cDkbO6I+waIlsc0uxGqUGBKF83AVYCQqOkBjF1uNnu9qefE\nkEc9obr4JZsAgnisboU25ss5ZJddKlmFMKSi66g4S5ChLEPFq7MB06PhLFioaD3L\nEXza7XitoW5VBwr0BSVKAHMC0T2xbm70zY06a6gQRlvr9a10lPmv4Tptc7xgQReg\nu1TlFPbrkGJ0d8O6vHQRAd3zdsNaVr4gX0Tg7UYiqT9ZUkP7hOc8PYXQ28hHrHTB\nA63MTq0aiPlJ/ivTuX8M6+Bi25dIV6N6IOUi/NQKIYxgovJCDSdCAAM0fQARAQAB\ntCFMdWNhcyBHYXJmaWVsZCA8bHVjYXNAcmVkaGF0LmNvbT6JAlcEEwEIAEEWIQTO\nQZeiHnXqdjmfUURc6PeuecS2PAUCY33fTQIbAwUJA8JnAAULCQgHAgIiAgYVCgkI\nCwIEFgIDAQIeBwIXgAAKCRBc6PeuecS2PCk3D/9jW7xrBB/2MQFKd5l+mNMFyKwc\nL9M/M5RFI9GaQRo55CwnPb0nnxOJR1V5GzZ/YGii53H2ose65CfBOE2L/F/RvKF0\nH9S9MInixlahzzKtV3TpDoZGk5oZIHEMuPmPS4XaHggolrzExY0ib0mQuBBE/uEV\n/HlyHEunBKPhTkAe+6Q+2dl22SUuVfWr4Uzlp65+DkdN3M37WI1a3Suhnef3rOSM\nV6puUzWRR7qcYs5C2In87AcYPn92P5ur1y/C32r8Ftg3fRWnEzI9QfRG52ojNOLK\nyGQ8ZC9PGe0q7VFcF7ridT/uzRU+NVKldbJg+rvBnszb1MjNuR7rUQHyvGmbsUVQ\nRCsgdovkee3lP4gfZHzk2SSLVSo0+NJRNaM90EmPk14Pgi/yfRSDGBVvLBbEanYI\nv1ZtdIPRyKi+/IaMOu/l7nayM/8RzghdU+0f1FAif5qf9nXuI13P8fqcqfu67gNd\nkh0UUF1XyR5UHHEZQQDqCuKEkZJ/+27jYlsG1ZiLb1odlIWoR44RP6k5OJl0raZb\nyLXbAfpITsXiJJBpCam9P9+XR5VSfgkqp5hIa7J8piN3DoMpoExg4PPQr6PbLAJy\nOUCOnuB7yYVbj0wYuMXTuyrcBHh/UymQnS8AMpQoEkCLWS/A/Hze/pD23LgiBoLY\nXIn5A2EOAf7t2IMSlA==\n=OanT\n-----END PGP PUBLIC KEY BLOCK-----',
rhsm: false,
},
],
},
},
},
{
@ -224,6 +266,48 @@ export const mockComposes: ComposesResponse = {
},
},
],
customizations: {
custom_repositories: [
{
baseurl: ['http://yum.theforeman.org/releases/3.4/el8/x86_64/'],
check_gpg: true,
check_repo_gpg: false,
gpgkey: [
'-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGN9300BEAC1FLODu0cL6saMMHa7yJY1JZUc+jQUI/HdECQrrsTaPXlcc7nM\nykYMMv6amPqbnhH/R5BW2Ano+OMse+PXtUr0NXU4OcvxbnnXkrVBVUf8mXI9DzLZ\njw8KoD+4/s0BuzO78zAJF5uhuyHMAK0ll9v0r92kK45Fas9iZTfRFcqFAzvgjScf\n5jeBnbRs5U3UTz9mtDy802mk357o1A8BD0qlu3kANDpjLbORGWdAj21A6sMJDYXy\nHS9FBNV54daNcr+weky2L9gaF2yFjeu2rSEHCSfkbWfpSiVUx/bDTj7XS6XDOuJT\nJqvGS8jHqjHAIFBirhCA4cY/jLKxWyMr5N6IbXpPAYgt8/YYz2aOYVvdyB8tZ1u1\nkVsMYSGcvTBexZCn1cDkbO6I+waIlsc0uxGqUGBKF83AVYCQqOkBjF1uNnu9qefE\nkEc9obr4JZsAgnisboU25ss5ZJddKlmFMKSi66g4S5ChLEPFq7MB06PhLFioaD3L\nEXza7XitoW5VBwr0BSVKAHMC0T2xbm70zY06a6gQRlvr9a10lPmv4Tptc7xgQReg\nu1TlFPbrkGJ0d8O6vHQRAd3zdsNaVr4gX0Tg7UYiqT9ZUkP7hOc8PYXQ28hHrHTB\nA63MTq0aiPlJ/ivTuX8M6+Bi25dIV6N6IOUi/NQKIYxgovJCDSdCAAM0fQARAQAB\ntCFMdWNhcyBHYXJmaWVsZCA8bHVjYXNAcmVkaGF0LmNvbT6JAlcEEwEIAEEWIQTO\nQZeiHnXqdjmfUURc6PeuecS2PAUCY33fTQIbAwUJA8JnAAULCQgHAgIiAgYVCgkI\nCwIEFgIDAQIeBwIXgAAKCRBc6PeuecS2PCk3D/9jW7xrBB/2MQFKd5l+mNMFyKwc\nL9M/M5RFI9GaQRo55CwnPb0nnxOJR1V5GzZ/YGii53H2ose65CfBOE2L/F/RvKF0\nH9S9MInixlahzzKtV3TpDoZGk5oZIHEMuPmPS4XaHggolrzExY0ib0mQuBBE/uEV\n/HlyHEunBKPhTkAe+6Q+2dl22SUuVfWr4Uzlp65+DkdN3M37WI1a3Suhnef3rOSM\nV6puUzWRR7qcYs5C2In87AcYPn92P5ur1y/C32r8Ftg3fRWnEzI9QfRG52ojNOLK\nyGQ8ZC9PGe0q7VFcF7ridT/uzRU+NVKldbJg+rvBnszb1MjNuR7rUQHyvGmbsUVQ\nRCsgdovkee3lP4gfZHzk2SSLVSo0+NJRNaM90EmPk14Pgi/yfRSDGBVvLBbEanYI\nv1ZtdIPRyKi+/IaMOu/l7nayM/8RzghdU+0f1FAif5qf9nXuI13P8fqcqfu67gNd\nkh0UUF1XyR5UHHEZQQDqCuKEkZJ/+27jYlsG1ZiLb1odlIWoR44RP6k5OJl0raZb\nyLXbAfpITsXiJJBpCam9P9+XR5VSfgkqp5hIa7J8piN3DoMpoExg4PPQr6PbLAJy\nOUCOnuB7yYVbj0wYuMXTuyrcBHh/UymQnS8AMpQoEkCLWS/A/Hze/pD23LgiBoLY\nXIn5A2EOAf7t2IMSlA==\n=OanT\n-----END PGP PUBLIC KEY BLOCK-----',
],
id: 'dbad4dfc-1547-45f8-b5af-1d7fec0476c6',
name: '13lk3',
},
{
baseurl: [
'http://mirror.stream.centos.org/SIGs/8/kmods/x86_64/packages-main/',
],
check_gpg: false,
check_repo_gpg: false,
gpgkey: [''],
id: '9cf1d45d-aa06-46fe-87ea-121845cc6bbb',
name: '2lmdtj',
},
],
payload_repositories: [
{
baseurl: 'http://yum.theforeman.org/releases/3.4/el8/x86_64/',
check_gpg: true,
check_repo_gpg: false,
gpgkey:
'-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGN9300BEAC1FLODu0cL6saMMHa7yJY1JZUc+jQUI/HdECQrrsTaPXlcc7nM\nykYMMv6amPqbnhH/R5BW2Ano+OMse+PXtUr0NXU4OcvxbnnXkrVBVUf8mXI9DzLZ\njw8KoD+4/s0BuzO78zAJF5uhuyHMAK0ll9v0r92kK45Fas9iZTfRFcqFAzvgjScf\n5jeBnbRs5U3UTz9mtDy802mk357o1A8BD0qlu3kANDpjLbORGWdAj21A6sMJDYXy\nHS9FBNV54daNcr+weky2L9gaF2yFjeu2rSEHCSfkbWfpSiVUx/bDTj7XS6XDOuJT\nJqvGS8jHqjHAIFBirhCA4cY/jLKxWyMr5N6IbXpPAYgt8/YYz2aOYVvdyB8tZ1u1\nkVsMYSGcvTBexZCn1cDkbO6I+waIlsc0uxGqUGBKF83AVYCQqOkBjF1uNnu9qefE\nkEc9obr4JZsAgnisboU25ss5ZJddKlmFMKSi66g4S5ChLEPFq7MB06PhLFioaD3L\nEXza7XitoW5VBwr0BSVKAHMC0T2xbm70zY06a6gQRlvr9a10lPmv4Tptc7xgQReg\nu1TlFPbrkGJ0d8O6vHQRAd3zdsNaVr4gX0Tg7UYiqT9ZUkP7hOc8PYXQ28hHrHTB\nA63MTq0aiPlJ/ivTuX8M6+Bi25dIV6N6IOUi/NQKIYxgovJCDSdCAAM0fQARAQAB\ntCFMdWNhcyBHYXJmaWVsZCA8bHVjYXNAcmVkaGF0LmNvbT6JAlcEEwEIAEEWIQTO\nQZeiHnXqdjmfUURc6PeuecS2PAUCY33fTQIbAwUJA8JnAAULCQgHAgIiAgYVCgkI\nCwIEFgIDAQIeBwIXgAAKCRBc6PeuecS2PCk3D/9jW7xrBB/2MQFKd5l+mNMFyKwc\nL9M/M5RFI9GaQRo55CwnPb0nnxOJR1V5GzZ/YGii53H2ose65CfBOE2L/F/RvKF0\nH9S9MInixlahzzKtV3TpDoZGk5oZIHEMuPmPS4XaHggolrzExY0ib0mQuBBE/uEV\n/HlyHEunBKPhTkAe+6Q+2dl22SUuVfWr4Uzlp65+DkdN3M37WI1a3Suhnef3rOSM\nV6puUzWRR7qcYs5C2In87AcYPn92P5ur1y/C32r8Ftg3fRWnEzI9QfRG52ojNOLK\nyGQ8ZC9PGe0q7VFcF7ridT/uzRU+NVKldbJg+rvBnszb1MjNuR7rUQHyvGmbsUVQ\nRCsgdovkee3lP4gfZHzk2SSLVSo0+NJRNaM90EmPk14Pgi/yfRSDGBVvLBbEanYI\nv1ZtdIPRyKi+/IaMOu/l7nayM/8RzghdU+0f1FAif5qf9nXuI13P8fqcqfu67gNd\nkh0UUF1XyR5UHHEZQQDqCuKEkZJ/+27jYlsG1ZiLb1odlIWoR44RP6k5OJl0raZb\nyLXbAfpITsXiJJBpCam9P9+XR5VSfgkqp5hIa7J8piN3DoMpoExg4PPQr6PbLAJy\nOUCOnuB7yYVbj0wYuMXTuyrcBHh/UymQnS8AMpQoEkCLWS/A/Hze/pD23LgiBoLY\nXIn5A2EOAf7t2IMSlA==\n=OanT\n-----END PGP PUBLIC KEY BLOCK-----',
rhsm: false,
},
{
baseurl:
'http://mirror.stream.centos.org/SIGs/8/kmods/x86_64/packages-main/',
check_gpg: false,
check_repo_gpg: false,
gpgkey: '',
rhsm: false,
},
],
},
},
},
{
@ -476,6 +560,30 @@ export const mockStatus = (composeId: string): ComposeStatus => {
},
},
request: {
customizations: {
custom_repositories: [
{
baseurl: ['http://unreachable.link.to.repo.org/x86_64/'],
check_gpg: true,
check_repo_gpg: false,
gpgkey: [
'-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGN9300BEAC1FLODu0cL6saMMHa7yJY1JZUc+jQUI/HdECQrrsTaPXlcc7nM\nykYMMv6amPqbnhH/R5BW2Ano+OMse+PXtUr0NXU4OcvxbnnXkrVBVUf8mXI9DzLZ\njw8KoD+4/s0BuzO78zAJF5uhuyHMAK0ll9v0r92kK45Fas9iZTfRFcqFAzvgjScf\n5jeBnbRs5U3UTz9mtDy802mk357o1A8BD0qlu3kANDpjLbORGWdAj21A6sMJDYXy\nHS9FBNV54daNcr+weky2L9gaF2yFjeu2rSEHCSfkbWfpSiVUx/bDTj7XS6XDOuJT\nJqvGS8jHqjHAIFBirhCA4cY/jLKxWyMr5N6IbXpPAYgt8/YYz2aOYVvdyB8tZ1u1\nkVsMYSGcvTBexZCn1cDkbO6I+waIlsc0uxGqUGBKF83AVYCQqOkBjF1uNnu9qefE\nkEc9obr4JZsAgnisboU25ss5ZJddKlmFMKSi66g4S5ChLEPFq7MB06PhLFioaD3L\nEXza7XitoW5VBwr0BSVKAHMC0T2xbm70zY06a6gQRlvr9a10lPmv4Tptc7xgQReg\nu1TlFPbrkGJ0d8O6vHQRAd3zdsNaVr4gX0Tg7UYiqT9ZUkP7hOc8PYXQ28hHrHTB\nA63MTq0aiPlJ/ivTuX8M6+Bi25dIV6N6IOUi/NQKIYxgovJCDSdCAAM0fQARAQAB\ntCFMdWNhcyBHYXJmaWVsZCA8bHVjYXNAcmVkaGF0LmNvbT6JAlcEEwEIAEEWIQTO\nQZeiHnXqdjmfUURc6PeuecS2PAUCY33fTQIbAwUJA8JnAAULCQgHAgIiAgYVCgkI\nCwIEFgIDAQIeBwIXgAAKCRBc6PeuecS2PCk3D/9jW7xrBB/2MQFKd5l+mNMFyKwc\nL9M/M5RFI9GaQRo55CwnPb0nnxOJR1V5GzZ/YGii53H2ose65CfBOE2L/F/RvKF0\nH9S9MInixlahzzKtV3TpDoZGk5oZIHEMuPmPS4XaHggolrzExY0ib0mQuBBE/uEV\n/HlyHEunBKPhTkAe+6Q+2dl22SUuVfWr4Uzlp65+DkdN3M37WI1a3Suhnef3rOSM\nV6puUzWRR7qcYs5C2In87AcYPn92P5ur1y/C32r8Ftg3fRWnEzI9QfRG52ojNOLK\nyGQ8ZC9PGe0q7VFcF7ridT/uzRU+NVKldbJg+rvBnszb1MjNuR7rUQHyvGmbsUVQ\nRCsgdovkee3lP4gfZHzk2SSLVSo0+NJRNaM90EmPk14Pgi/yfRSDGBVvLBbEanYI\nv1ZtdIPRyKi+/IaMOu/l7nayM/8RzghdU+0f1FAif5qf9nXuI13P8fqcqfu67gNd\nkh0UUF1XyR5UHHEZQQDqCuKEkZJ/+27jYlsG1ZiLb1odlIWoR44RP6k5OJl0raZb\nyLXbAfpITsXiJJBpCam9P9+XR5VSfgkqp5hIa7J8piN3DoMpoExg4PPQr6PbLAJy\nOUCOnuB7yYVbj0wYuMXTuyrcBHh/UymQnS8AMpQoEkCLWS/A/Hze/pD23LgiBoLY\nXIn5A2EOAf7t2IMSlA==\n=OanT\n-----END PGP PUBLIC KEY BLOCK-----',
],
id: 'd4b6d3db-bd15-4750-98c0-667f42995566',
name: '03-test-unavailable-repo',
},
],
payload_repositories: [
{
baseurl: 'http://unreachable.link.to.repo.org/x86_64/',
check_gpg: true,
check_repo_gpg: false,
gpgkey:
'-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGN9300BEAC1FLODu0cL6saMMHa7yJY1JZUc+jQUI/HdECQrrsTaPXlcc7nM\nykYMMv6amPqbnhH/R5BW2Ano+OMse+PXtUr0NXU4OcvxbnnXkrVBVUf8mXI9DzLZ\njw8KoD+4/s0BuzO78zAJF5uhuyHMAK0ll9v0r92kK45Fas9iZTfRFcqFAzvgjScf\n5jeBnbRs5U3UTz9mtDy802mk357o1A8BD0qlu3kANDpjLbORGWdAj21A6sMJDYXy\nHS9FBNV54daNcr+weky2L9gaF2yFjeu2rSEHCSfkbWfpSiVUx/bDTj7XS6XDOuJT\nJqvGS8jHqjHAIFBirhCA4cY/jLKxWyMr5N6IbXpPAYgt8/YYz2aOYVvdyB8tZ1u1\nkVsMYSGcvTBexZCn1cDkbO6I+waIlsc0uxGqUGBKF83AVYCQqOkBjF1uNnu9qefE\nkEc9obr4JZsAgnisboU25ss5ZJddKlmFMKSi66g4S5ChLEPFq7MB06PhLFioaD3L\nEXza7XitoW5VBwr0BSVKAHMC0T2xbm70zY06a6gQRlvr9a10lPmv4Tptc7xgQReg\nu1TlFPbrkGJ0d8O6vHQRAd3zdsNaVr4gX0Tg7UYiqT9ZUkP7hOc8PYXQ28hHrHTB\nA63MTq0aiPlJ/ivTuX8M6+Bi25dIV6N6IOUi/NQKIYxgovJCDSdCAAM0fQARAQAB\ntCFMdWNhcyBHYXJmaWVsZCA8bHVjYXNAcmVkaGF0LmNvbT6JAlcEEwEIAEEWIQTO\nQZeiHnXqdjmfUURc6PeuecS2PAUCY33fTQIbAwUJA8JnAAULCQgHAgIiAgYVCgkI\nCwIEFgIDAQIeBwIXgAAKCRBc6PeuecS2PCk3D/9jW7xrBB/2MQFKd5l+mNMFyKwc\nL9M/M5RFI9GaQRo55CwnPb0nnxOJR1V5GzZ/YGii53H2ose65CfBOE2L/F/RvKF0\nH9S9MInixlahzzKtV3TpDoZGk5oZIHEMuPmPS4XaHggolrzExY0ib0mQuBBE/uEV\n/HlyHEunBKPhTkAe+6Q+2dl22SUuVfWr4Uzlp65+DkdN3M37WI1a3Suhnef3rOSM\nV6puUzWRR7qcYs5C2In87AcYPn92P5ur1y/C32r8Ftg3fRWnEzI9QfRG52ojNOLK\nyGQ8ZC9PGe0q7VFcF7ridT/uzRU+NVKldbJg+rvBnszb1MjNuR7rUQHyvGmbsUVQ\nRCsgdovkee3lP4gfZHzk2SSLVSo0+NJRNaM90EmPk14Pgi/yfRSDGBVvLBbEanYI\nv1ZtdIPRyKi+/IaMOu/l7nayM/8RzghdU+0f1FAif5qf9nXuI13P8fqcqfu67gNd\nkh0UUF1XyR5UHHEZQQDqCuKEkZJ/+27jYlsG1ZiLb1odlIWoR44RP6k5OJl0raZb\nyLXbAfpITsXiJJBpCam9P9+XR5VSfgkqp5hIa7J8piN3DoMpoExg4PPQr6PbLAJy\nOUCOnuB7yYVbj0wYuMXTuyrcBHh/UymQnS8AMpQoEkCLWS/A/Hze/pD23LgiBoLY\nXIn5A2EOAf7t2IMSlA==\n=OanT\n-----END PGP PUBLIC KEY BLOCK-----',
rhsm: false,
},
],
},
distribution: RHEL_8,
image_requests: [
{
@ -501,6 +609,48 @@ export const mockStatus = (composeId: string): ComposeStatus => {
},
},
request: {
customizations: {
custom_repositories: [
{
baseurl: ['http://yum.theforeman.org/releases/3.4/el8/x86_64/'],
check_gpg: true,
check_repo_gpg: false,
gpgkey: [
'-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGN9300BEAC1FLODu0cL6saMMHa7yJY1JZUc+jQUI/HdECQrrsTaPXlcc7nM\nykYMMv6amPqbnhH/R5BW2Ano+OMse+PXtUr0NXU4OcvxbnnXkrVBVUf8mXI9DzLZ\njw8KoD+4/s0BuzO78zAJF5uhuyHMAK0ll9v0r92kK45Fas9iZTfRFcqFAzvgjScf\n5jeBnbRs5U3UTz9mtDy802mk357o1A8BD0qlu3kANDpjLbORGWdAj21A6sMJDYXy\nHS9FBNV54daNcr+weky2L9gaF2yFjeu2rSEHCSfkbWfpSiVUx/bDTj7XS6XDOuJT\nJqvGS8jHqjHAIFBirhCA4cY/jLKxWyMr5N6IbXpPAYgt8/YYz2aOYVvdyB8tZ1u1\nkVsMYSGcvTBexZCn1cDkbO6I+waIlsc0uxGqUGBKF83AVYCQqOkBjF1uNnu9qefE\nkEc9obr4JZsAgnisboU25ss5ZJddKlmFMKSi66g4S5ChLEPFq7MB06PhLFioaD3L\nEXza7XitoW5VBwr0BSVKAHMC0T2xbm70zY06a6gQRlvr9a10lPmv4Tptc7xgQReg\nu1TlFPbrkGJ0d8O6vHQRAd3zdsNaVr4gX0Tg7UYiqT9ZUkP7hOc8PYXQ28hHrHTB\nA63MTq0aiPlJ/ivTuX8M6+Bi25dIV6N6IOUi/NQKIYxgovJCDSdCAAM0fQARAQAB\ntCFMdWNhcyBHYXJmaWVsZCA8bHVjYXNAcmVkaGF0LmNvbT6JAlcEEwEIAEEWIQTO\nQZeiHnXqdjmfUURc6PeuecS2PAUCY33fTQIbAwUJA8JnAAULCQgHAgIiAgYVCgkI\nCwIEFgIDAQIeBwIXgAAKCRBc6PeuecS2PCk3D/9jW7xrBB/2MQFKd5l+mNMFyKwc\nL9M/M5RFI9GaQRo55CwnPb0nnxOJR1V5GzZ/YGii53H2ose65CfBOE2L/F/RvKF0\nH9S9MInixlahzzKtV3TpDoZGk5oZIHEMuPmPS4XaHggolrzExY0ib0mQuBBE/uEV\n/HlyHEunBKPhTkAe+6Q+2dl22SUuVfWr4Uzlp65+DkdN3M37WI1a3Suhnef3rOSM\nV6puUzWRR7qcYs5C2In87AcYPn92P5ur1y/C32r8Ftg3fRWnEzI9QfRG52ojNOLK\nyGQ8ZC9PGe0q7VFcF7ridT/uzRU+NVKldbJg+rvBnszb1MjNuR7rUQHyvGmbsUVQ\nRCsgdovkee3lP4gfZHzk2SSLVSo0+NJRNaM90EmPk14Pgi/yfRSDGBVvLBbEanYI\nv1ZtdIPRyKi+/IaMOu/l7nayM/8RzghdU+0f1FAif5qf9nXuI13P8fqcqfu67gNd\nkh0UUF1XyR5UHHEZQQDqCuKEkZJ/+27jYlsG1ZiLb1odlIWoR44RP6k5OJl0raZb\nyLXbAfpITsXiJJBpCam9P9+XR5VSfgkqp5hIa7J8piN3DoMpoExg4PPQr6PbLAJy\nOUCOnuB7yYVbj0wYuMXTuyrcBHh/UymQnS8AMpQoEkCLWS/A/Hze/pD23LgiBoLY\nXIn5A2EOAf7t2IMSlA==\n=OanT\n-----END PGP PUBLIC KEY BLOCK-----',
],
id: 'dbad4dfc-1547-45f8-b5af-1d7fec0476c6',
name: '13lk3',
},
{
baseurl: [
'http://mirror.stream.centos.org/SIGs/8/kmods/x86_64/packages-main/',
],
check_gpg: false,
check_repo_gpg: false,
gpgkey: [''],
id: '9cf1d45d-aa06-46fe-87ea-121845cc6bbb',
name: '2lmdtj',
},
],
payload_repositories: [
{
baseurl: 'http://yum.theforeman.org/releases/3.4/el8/x86_64/',
check_gpg: true,
check_repo_gpg: false,
gpgkey:
'-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGN9300BEAC1FLODu0cL6saMMHa7yJY1JZUc+jQUI/HdECQrrsTaPXlcc7nM\nykYMMv6amPqbnhH/R5BW2Ano+OMse+PXtUr0NXU4OcvxbnnXkrVBVUf8mXI9DzLZ\njw8KoD+4/s0BuzO78zAJF5uhuyHMAK0ll9v0r92kK45Fas9iZTfRFcqFAzvgjScf\n5jeBnbRs5U3UTz9mtDy802mk357o1A8BD0qlu3kANDpjLbORGWdAj21A6sMJDYXy\nHS9FBNV54daNcr+weky2L9gaF2yFjeu2rSEHCSfkbWfpSiVUx/bDTj7XS6XDOuJT\nJqvGS8jHqjHAIFBirhCA4cY/jLKxWyMr5N6IbXpPAYgt8/YYz2aOYVvdyB8tZ1u1\nkVsMYSGcvTBexZCn1cDkbO6I+waIlsc0uxGqUGBKF83AVYCQqOkBjF1uNnu9qefE\nkEc9obr4JZsAgnisboU25ss5ZJddKlmFMKSi66g4S5ChLEPFq7MB06PhLFioaD3L\nEXza7XitoW5VBwr0BSVKAHMC0T2xbm70zY06a6gQRlvr9a10lPmv4Tptc7xgQReg\nu1TlFPbrkGJ0d8O6vHQRAd3zdsNaVr4gX0Tg7UYiqT9ZUkP7hOc8PYXQ28hHrHTB\nA63MTq0aiPlJ/ivTuX8M6+Bi25dIV6N6IOUi/NQKIYxgovJCDSdCAAM0fQARAQAB\ntCFMdWNhcyBHYXJmaWVsZCA8bHVjYXNAcmVkaGF0LmNvbT6JAlcEEwEIAEEWIQTO\nQZeiHnXqdjmfUURc6PeuecS2PAUCY33fTQIbAwUJA8JnAAULCQgHAgIiAgYVCgkI\nCwIEFgIDAQIeBwIXgAAKCRBc6PeuecS2PCk3D/9jW7xrBB/2MQFKd5l+mNMFyKwc\nL9M/M5RFI9GaQRo55CwnPb0nnxOJR1V5GzZ/YGii53H2ose65CfBOE2L/F/RvKF0\nH9S9MInixlahzzKtV3TpDoZGk5oZIHEMuPmPS4XaHggolrzExY0ib0mQuBBE/uEV\n/HlyHEunBKPhTkAe+6Q+2dl22SUuVfWr4Uzlp65+DkdN3M37WI1a3Suhnef3rOSM\nV6puUzWRR7qcYs5C2In87AcYPn92P5ur1y/C32r8Ftg3fRWnEzI9QfRG52ojNOLK\nyGQ8ZC9PGe0q7VFcF7ridT/uzRU+NVKldbJg+rvBnszb1MjNuR7rUQHyvGmbsUVQ\nRCsgdovkee3lP4gfZHzk2SSLVSo0+NJRNaM90EmPk14Pgi/yfRSDGBVvLBbEanYI\nv1ZtdIPRyKi+/IaMOu/l7nayM/8RzghdU+0f1FAif5qf9nXuI13P8fqcqfu67gNd\nkh0UUF1XyR5UHHEZQQDqCuKEkZJ/+27jYlsG1ZiLb1odlIWoR44RP6k5OJl0raZb\nyLXbAfpITsXiJJBpCam9P9+XR5VSfgkqp5hIa7J8piN3DoMpoExg4PPQr6PbLAJy\nOUCOnuB7yYVbj0wYuMXTuyrcBHh/UymQnS8AMpQoEkCLWS/A/Hze/pD23LgiBoLY\nXIn5A2EOAf7t2IMSlA==\n=OanT\n-----END PGP PUBLIC KEY BLOCK-----',
rhsm: false,
},
{
baseurl:
'http://mirror.stream.centos.org/SIGs/8/kmods/x86_64/packages-main/',
check_gpg: false,
check_repo_gpg: false,
gpgkey: '',
rhsm: false,
},
],
},
distribution: RHEL_8,
image_requests: [
{
@ -820,3 +970,138 @@ export const mockState = {
composes: { ...mockComposesShareImageModal },
notifications: [],
};
// ShareImageModal mocks
export const mockComposesRecreateImage = {
count: 2,
allIds: [
'b7193673-8dcc-4a5f-ac30-e9f4940d8346',
'hyk93673-8dcc-4a61-ac30-e9f4940d8346',
],
byId: {
'b7193673-8dcc-4a5f-ac30-e9f4940d8346': {
id: 'b7193673-8dcc-4a5f-ac30-e9f4940d8346',
created_at: '2021-04-27T12:31:12Z',
request: {
distribution: RHEL_8,
image_requests: [
{
architecture: 'x86_64',
image_type: 'vsphere',
upload_request: {
options: {},
type: 'aws.s3',
},
},
],
customizations: {
custom_repositories: [
{
baseurl: ['http://unreachable.link.to.repo.org/x86_64/'],
check_gpg: true,
check_repo_gpg: false,
gpgkey: [
'-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGN9300BEAC1FLODu0cL6saMMHa7yJY1JZUc+jQUI/HdECQrrsTaPXlcc7nM\nykYMMv6amPqbnhH/R5BW2Ano+OMse+PXtUr0NXU4OcvxbnnXkrVBVUf8mXI9DzLZ\njw8KoD+4/s0BuzO78zAJF5uhuyHMAK0ll9v0r92kK45Fas9iZTfRFcqFAzvgjScf\n5jeBnbRs5U3UTz9mtDy802mk357o1A8BD0qlu3kANDpjLbORGWdAj21A6sMJDYXy\nHS9FBNV54daNcr+weky2L9gaF2yFjeu2rSEHCSfkbWfpSiVUx/bDTj7XS6XDOuJT\nJqvGS8jHqjHAIFBirhCA4cY/jLKxWyMr5N6IbXpPAYgt8/YYz2aOYVvdyB8tZ1u1\nkVsMYSGcvTBexZCn1cDkbO6I+waIlsc0uxGqUGBKF83AVYCQqOkBjF1uNnu9qefE\nkEc9obr4JZsAgnisboU25ss5ZJddKlmFMKSi66g4S5ChLEPFq7MB06PhLFioaD3L\nEXza7XitoW5VBwr0BSVKAHMC0T2xbm70zY06a6gQRlvr9a10lPmv4Tptc7xgQReg\nu1TlFPbrkGJ0d8O6vHQRAd3zdsNaVr4gX0Tg7UYiqT9ZUkP7hOc8PYXQ28hHrHTB\nA63MTq0aiPlJ/ivTuX8M6+Bi25dIV6N6IOUi/NQKIYxgovJCDSdCAAM0fQARAQAB\ntCFMdWNhcyBHYXJmaWVsZCA8bHVjYXNAcmVkaGF0LmNvbT6JAlcEEwEIAEEWIQTO\nQZeiHnXqdjmfUURc6PeuecS2PAUCY33fTQIbAwUJA8JnAAULCQgHAgIiAgYVCgkI\nCwIEFgIDAQIeBwIXgAAKCRBc6PeuecS2PCk3D/9jW7xrBB/2MQFKd5l+mNMFyKwc\nL9M/M5RFI9GaQRo55CwnPb0nnxOJR1V5GzZ/YGii53H2ose65CfBOE2L/F/RvKF0\nH9S9MInixlahzzKtV3TpDoZGk5oZIHEMuPmPS4XaHggolrzExY0ib0mQuBBE/uEV\n/HlyHEunBKPhTkAe+6Q+2dl22SUuVfWr4Uzlp65+DkdN3M37WI1a3Suhnef3rOSM\nV6puUzWRR7qcYs5C2In87AcYPn92P5ur1y/C32r8Ftg3fRWnEzI9QfRG52ojNOLK\nyGQ8ZC9PGe0q7VFcF7ridT/uzRU+NVKldbJg+rvBnszb1MjNuR7rUQHyvGmbsUVQ\nRCsgdovkee3lP4gfZHzk2SSLVSo0+NJRNaM90EmPk14Pgi/yfRSDGBVvLBbEanYI\nv1ZtdIPRyKi+/IaMOu/l7nayM/8RzghdU+0f1FAif5qf9nXuI13P8fqcqfu67gNd\nkh0UUF1XyR5UHHEZQQDqCuKEkZJ/+27jYlsG1ZiLb1odlIWoR44RP6k5OJl0raZb\nyLXbAfpITsXiJJBpCam9P9+XR5VSfgkqp5hIa7J8piN3DoMpoExg4PPQr6PbLAJy\nOUCOnuB7yYVbj0wYuMXTuyrcBHh/UymQnS8AMpQoEkCLWS/A/Hze/pD23LgiBoLY\nXIn5A2EOAf7t2IMSlA==\n=OanT\n-----END PGP PUBLIC KEY BLOCK-----',
],
id: 'd4b6d3db-bd15-4750-98c0-667f42995566',
name: '03-test-unavailable-repo',
},
{
baseurl: ['http://yum.theforeman.org/releases/3.4/el8/x86_64/'],
check_gpg: true,
check_repo_gpg: false,
gpgkey: [
'-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGN9300BEAC1FLODu0cL6saMMHa7yJY1JZUc+jQUI/HdECQrrsTaPXlcc7nM\nykYMMv6amPqbnhH/R5BW2Ano+OMse+PXtUr0NXU4OcvxbnnXkrVBVUf8mXI9DzLZ\njw8KoD+4/s0BuzO78zAJF5uhuyHMAK0ll9v0r92kK45Fas9iZTfRFcqFAzvgjScf\n5jeBnbRs5U3UTz9mtDy802mk357o1A8BD0qlu3kANDpjLbORGWdAj21A6sMJDYXy\nHS9FBNV54daNcr+weky2L9gaF2yFjeu2rSEHCSfkbWfpSiVUx/bDTj7XS6XDOuJT\nJqvGS8jHqjHAIFBirhCA4cY/jLKxWyMr5N6IbXpPAYgt8/YYz2aOYVvdyB8tZ1u1\nkVsMYSGcvTBexZCn1cDkbO6I+waIlsc0uxGqUGBKF83AVYCQqOkBjF1uNnu9qefE\nkEc9obr4JZsAgnisboU25ss5ZJddKlmFMKSi66g4S5ChLEPFq7MB06PhLFioaD3L\nEXza7XitoW5VBwr0BSVKAHMC0T2xbm70zY06a6gQRlvr9a10lPmv4Tptc7xgQReg\nu1TlFPbrkGJ0d8O6vHQRAd3zdsNaVr4gX0Tg7UYiqT9ZUkP7hOc8PYXQ28hHrHTB\nA63MTq0aiPlJ/ivTuX8M6+Bi25dIV6N6IOUi/NQKIYxgovJCDSdCAAM0fQARAQAB\ntCFMdWNhcyBHYXJmaWVsZCA8bHVjYXNAcmVkaGF0LmNvbT6JAlcEEwEIAEEWIQTO\nQZeiHnXqdjmfUURc6PeuecS2PAUCY33fTQIbAwUJA8JnAAULCQgHAgIiAgYVCgkI\nCwIEFgIDAQIeBwIXgAAKCRBc6PeuecS2PCk3D/9jW7xrBB/2MQFKd5l+mNMFyKwc\nL9M/M5RFI9GaQRo55CwnPb0nnxOJR1V5GzZ/YGii53H2ose65CfBOE2L/F/RvKF0\nH9S9MInixlahzzKtV3TpDoZGk5oZIHEMuPmPS4XaHggolrzExY0ib0mQuBBE/uEV\n/HlyHEunBKPhTkAe+6Q+2dl22SUuVfWr4Uzlp65+DkdN3M37WI1a3Suhnef3rOSM\nV6puUzWRR7qcYs5C2In87AcYPn92P5ur1y/C32r8Ftg3fRWnEzI9QfRG52ojNOLK\nyGQ8ZC9PGe0q7VFcF7ridT/uzRU+NVKldbJg+rvBnszb1MjNuR7rUQHyvGmbsUVQ\nRCsgdovkee3lP4gfZHzk2SSLVSo0+NJRNaM90EmPk14Pgi/yfRSDGBVvLBbEanYI\nv1ZtdIPRyKi+/IaMOu/l7nayM/8RzghdU+0f1FAif5qf9nXuI13P8fqcqfu67gNd\nkh0UUF1XyR5UHHEZQQDqCuKEkZJ/+27jYlsG1ZiLb1odlIWoR44RP6k5OJl0raZb\nyLXbAfpITsXiJJBpCam9P9+XR5VSfgkqp5hIa7J8piN3DoMpoExg4PPQr6PbLAJy\nOUCOnuB7yYVbj0wYuMXTuyrcBHh/UymQnS8AMpQoEkCLWS/A/Hze/pD23LgiBoLY\nXIn5A2EOAf7t2IMSlA==\n=OanT\n-----END PGP PUBLIC KEY BLOCK-----',
],
id: 'dbad4dfc-1547-45f8-b5af-1d7fec0476c6',
name: '13lk3',
},
],
payload_repositories: [
{
baseurl: 'http://unreachable.link.to.repo.org/x86_64/',
check_gpg: true,
check_repo_gpg: false,
gpgkey:
'-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGN9300BEAC1FLODu0cL6saMMHa7yJY1JZUc+jQUI/HdECQrrsTaPXlcc7nM\nykYMMv6amPqbnhH/R5BW2Ano+OMse+PXtUr0NXU4OcvxbnnXkrVBVUf8mXI9DzLZ\njw8KoD+4/s0BuzO78zAJF5uhuyHMAK0ll9v0r92kK45Fas9iZTfRFcqFAzvgjScf\n5jeBnbRs5U3UTz9mtDy802mk357o1A8BD0qlu3kANDpjLbORGWdAj21A6sMJDYXy\nHS9FBNV54daNcr+weky2L9gaF2yFjeu2rSEHCSfkbWfpSiVUx/bDTj7XS6XDOuJT\nJqvGS8jHqjHAIFBirhCA4cY/jLKxWyMr5N6IbXpPAYgt8/YYz2aOYVvdyB8tZ1u1\nkVsMYSGcvTBexZCn1cDkbO6I+waIlsc0uxGqUGBKF83AVYCQqOkBjF1uNnu9qefE\nkEc9obr4JZsAgnisboU25ss5ZJddKlmFMKSi66g4S5ChLEPFq7MB06PhLFioaD3L\nEXza7XitoW5VBwr0BSVKAHMC0T2xbm70zY06a6gQRlvr9a10lPmv4Tptc7xgQReg\nu1TlFPbrkGJ0d8O6vHQRAd3zdsNaVr4gX0Tg7UYiqT9ZUkP7hOc8PYXQ28hHrHTB\nA63MTq0aiPlJ/ivTuX8M6+Bi25dIV6N6IOUi/NQKIYxgovJCDSdCAAM0fQARAQAB\ntCFMdWNhcyBHYXJmaWVsZCA8bHVjYXNAcmVkaGF0LmNvbT6JAlcEEwEIAEEWIQTO\nQZeiHnXqdjmfUURc6PeuecS2PAUCY33fTQIbAwUJA8JnAAULCQgHAgIiAgYVCgkI\nCwIEFgIDAQIeBwIXgAAKCRBc6PeuecS2PCk3D/9jW7xrBB/2MQFKd5l+mNMFyKwc\nL9M/M5RFI9GaQRo55CwnPb0nnxOJR1V5GzZ/YGii53H2ose65CfBOE2L/F/RvKF0\nH9S9MInixlahzzKtV3TpDoZGk5oZIHEMuPmPS4XaHggolrzExY0ib0mQuBBE/uEV\n/HlyHEunBKPhTkAe+6Q+2dl22SUuVfWr4Uzlp65+DkdN3M37WI1a3Suhnef3rOSM\nV6puUzWRR7qcYs5C2In87AcYPn92P5ur1y/C32r8Ftg3fRWnEzI9QfRG52ojNOLK\nyGQ8ZC9PGe0q7VFcF7ridT/uzRU+NVKldbJg+rvBnszb1MjNuR7rUQHyvGmbsUVQ\nRCsgdovkee3lP4gfZHzk2SSLVSo0+NJRNaM90EmPk14Pgi/yfRSDGBVvLBbEanYI\nv1ZtdIPRyKi+/IaMOu/l7nayM/8RzghdU+0f1FAif5qf9nXuI13P8fqcqfu67gNd\nkh0UUF1XyR5UHHEZQQDqCuKEkZJ/+27jYlsG1ZiLb1odlIWoR44RP6k5OJl0raZb\nyLXbAfpITsXiJJBpCam9P9+XR5VSfgkqp5hIa7J8piN3DoMpoExg4PPQr6PbLAJy\nOUCOnuB7yYVbj0wYuMXTuyrcBHh/UymQnS8AMpQoEkCLWS/A/Hze/pD23LgiBoLY\nXIn5A2EOAf7t2IMSlA==\n=OanT\n-----END PGP PUBLIC KEY BLOCK-----',
rhsm: false,
},
{
baseurl: 'http://yum.theforeman.org/releases/3.4/el8/x86_64/',
check_gpg: true,
check_repo_gpg: false,
gpgkey:
'-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGN9300BEAC1FLODu0cL6saMMHa7yJY1JZUc+jQUI/HdECQrrsTaPXlcc7nM\nykYMMv6amPqbnhH/R5BW2Ano+OMse+PXtUr0NXU4OcvxbnnXkrVBVUf8mXI9DzLZ\njw8KoD+4/s0BuzO78zAJF5uhuyHMAK0ll9v0r92kK45Fas9iZTfRFcqFAzvgjScf\n5jeBnbRs5U3UTz9mtDy802mk357o1A8BD0qlu3kANDpjLbORGWdAj21A6sMJDYXy\nHS9FBNV54daNcr+weky2L9gaF2yFjeu2rSEHCSfkbWfpSiVUx/bDTj7XS6XDOuJT\nJqvGS8jHqjHAIFBirhCA4cY/jLKxWyMr5N6IbXpPAYgt8/YYz2aOYVvdyB8tZ1u1\nkVsMYSGcvTBexZCn1cDkbO6I+waIlsc0uxGqUGBKF83AVYCQqOkBjF1uNnu9qefE\nkEc9obr4JZsAgnisboU25ss5ZJddKlmFMKSi66g4S5ChLEPFq7MB06PhLFioaD3L\nEXza7XitoW5VBwr0BSVKAHMC0T2xbm70zY06a6gQRlvr9a10lPmv4Tptc7xgQReg\nu1TlFPbrkGJ0d8O6vHQRAd3zdsNaVr4gX0Tg7UYiqT9ZUkP7hOc8PYXQ28hHrHTB\nA63MTq0aiPlJ/ivTuX8M6+Bi25dIV6N6IOUi/NQKIYxgovJCDSdCAAM0fQARAQAB\ntCFMdWNhcyBHYXJmaWVsZCA8bHVjYXNAcmVkaGF0LmNvbT6JAlcEEwEIAEEWIQTO\nQZeiHnXqdjmfUURc6PeuecS2PAUCY33fTQIbAwUJA8JnAAULCQgHAgIiAgYVCgkI\nCwIEFgIDAQIeBwIXgAAKCRBc6PeuecS2PCk3D/9jW7xrBB/2MQFKd5l+mNMFyKwc\nL9M/M5RFI9GaQRo55CwnPb0nnxOJR1V5GzZ/YGii53H2ose65CfBOE2L/F/RvKF0\nH9S9MInixlahzzKtV3TpDoZGk5oZIHEMuPmPS4XaHggolrzExY0ib0mQuBBE/uEV\n/HlyHEunBKPhTkAe+6Q+2dl22SUuVfWr4Uzlp65+DkdN3M37WI1a3Suhnef3rOSM\nV6puUzWRR7qcYs5C2In87AcYPn92P5ur1y/C32r8Ftg3fRWnEzI9QfRG52ojNOLK\nyGQ8ZC9PGe0q7VFcF7ridT/uzRU+NVKldbJg+rvBnszb1MjNuR7rUQHyvGmbsUVQ\nRCsgdovkee3lP4gfZHzk2SSLVSo0+NJRNaM90EmPk14Pgi/yfRSDGBVvLBbEanYI\nv1ZtdIPRyKi+/IaMOu/l7nayM/8RzghdU+0f1FAif5qf9nXuI13P8fqcqfu67gNd\nkh0UUF1XyR5UHHEZQQDqCuKEkZJ/+27jYlsG1ZiLb1odlIWoR44RP6k5OJl0raZb\nyLXbAfpITsXiJJBpCam9P9+XR5VSfgkqp5hIa7J8piN3DoMpoExg4PPQr6PbLAJy\nOUCOnuB7yYVbj0wYuMXTuyrcBHh/UymQnS8AMpQoEkCLWS/A/Hze/pD23LgiBoLY\nXIn5A2EOAf7t2IMSlA==\n=OanT\n-----END PGP PUBLIC KEY BLOCK-----',
rhsm: false,
},
],
},
},
},
'hyk93673-8dcc-4a61-ac30-e9f4940d8346': {
created_at: '2021-04-27T12:31:12Z',
id: 'hyk93673-8dcc-4a61-ac30-e9f4940d8346',
request: {
distribution: RHEL_8,
image_requests: [
{
architecture: 'x86_64',
image_type: 'vsphere-ova',
upload_request: {
options: {},
type: 'aws.s3',
},
},
],
customizations: {
custom_repositories: [
{
baseurl: ['http://yum.theforeman.org/releases/3.4/el8/x86_64/'],
check_gpg: true,
check_repo_gpg: false,
gpgkey: [
'-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGN9300BEAC1FLODu0cL6saMMHa7yJY1JZUc+jQUI/HdECQrrsTaPXlcc7nM\nykYMMv6amPqbnhH/R5BW2Ano+OMse+PXtUr0NXU4OcvxbnnXkrVBVUf8mXI9DzLZ\njw8KoD+4/s0BuzO78zAJF5uhuyHMAK0ll9v0r92kK45Fas9iZTfRFcqFAzvgjScf\n5jeBnbRs5U3UTz9mtDy802mk357o1A8BD0qlu3kANDpjLbORGWdAj21A6sMJDYXy\nHS9FBNV54daNcr+weky2L9gaF2yFjeu2rSEHCSfkbWfpSiVUx/bDTj7XS6XDOuJT\nJqvGS8jHqjHAIFBirhCA4cY/jLKxWyMr5N6IbXpPAYgt8/YYz2aOYVvdyB8tZ1u1\nkVsMYSGcvTBexZCn1cDkbO6I+waIlsc0uxGqUGBKF83AVYCQqOkBjF1uNnu9qefE\nkEc9obr4JZsAgnisboU25ss5ZJddKlmFMKSi66g4S5ChLEPFq7MB06PhLFioaD3L\nEXza7XitoW5VBwr0BSVKAHMC0T2xbm70zY06a6gQRlvr9a10lPmv4Tptc7xgQReg\nu1TlFPbrkGJ0d8O6vHQRAd3zdsNaVr4gX0Tg7UYiqT9ZUkP7hOc8PYXQ28hHrHTB\nA63MTq0aiPlJ/ivTuX8M6+Bi25dIV6N6IOUi/NQKIYxgovJCDSdCAAM0fQARAQAB\ntCFMdWNhcyBHYXJmaWVsZCA8bHVjYXNAcmVkaGF0LmNvbT6JAlcEEwEIAEEWIQTO\nQZeiHnXqdjmfUURc6PeuecS2PAUCY33fTQIbAwUJA8JnAAULCQgHAgIiAgYVCgkI\nCwIEFgIDAQIeBwIXgAAKCRBc6PeuecS2PCk3D/9jW7xrBB/2MQFKd5l+mNMFyKwc\nL9M/M5RFI9GaQRo55CwnPb0nnxOJR1V5GzZ/YGii53H2ose65CfBOE2L/F/RvKF0\nH9S9MInixlahzzKtV3TpDoZGk5oZIHEMuPmPS4XaHggolrzExY0ib0mQuBBE/uEV\n/HlyHEunBKPhTkAe+6Q+2dl22SUuVfWr4Uzlp65+DkdN3M37WI1a3Suhnef3rOSM\nV6puUzWRR7qcYs5C2In87AcYPn92P5ur1y/C32r8Ftg3fRWnEzI9QfRG52ojNOLK\nyGQ8ZC9PGe0q7VFcF7ridT/uzRU+NVKldbJg+rvBnszb1MjNuR7rUQHyvGmbsUVQ\nRCsgdovkee3lP4gfZHzk2SSLVSo0+NJRNaM90EmPk14Pgi/yfRSDGBVvLBbEanYI\nv1ZtdIPRyKi+/IaMOu/l7nayM/8RzghdU+0f1FAif5qf9nXuI13P8fqcqfu67gNd\nkh0UUF1XyR5UHHEZQQDqCuKEkZJ/+27jYlsG1ZiLb1odlIWoR44RP6k5OJl0raZb\nyLXbAfpITsXiJJBpCam9P9+XR5VSfgkqp5hIa7J8piN3DoMpoExg4PPQr6PbLAJy\nOUCOnuB7yYVbj0wYuMXTuyrcBHh/UymQnS8AMpQoEkCLWS/A/Hze/pD23LgiBoLY\nXIn5A2EOAf7t2IMSlA==\n=OanT\n-----END PGP PUBLIC KEY BLOCK-----',
],
id: 'dbad4dfc-1547-45f8-b5af-1d7fec0476c6',
name: '13lk3',
},
{
baseurl: [
'http://mirror.stream.centos.org/SIGs/8/kmods/x86_64/packages-main/',
],
check_gpg: false,
check_repo_gpg: false,
gpgkey: [''],
id: '9cf1d45d-aa06-46fe-87ea-121845cc6bbb',
name: '2lmdtj',
},
],
payload_repositories: [
{
baseurl: 'http://yum.theforeman.org/releases/3.4/el8/x86_64/',
check_gpg: true,
check_repo_gpg: false,
gpgkey:
'-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGN9300BEAC1FLODu0cL6saMMHa7yJY1JZUc+jQUI/HdECQrrsTaPXlcc7nM\nykYMMv6amPqbnhH/R5BW2Ano+OMse+PXtUr0NXU4OcvxbnnXkrVBVUf8mXI9DzLZ\njw8KoD+4/s0BuzO78zAJF5uhuyHMAK0ll9v0r92kK45Fas9iZTfRFcqFAzvgjScf\n5jeBnbRs5U3UTz9mtDy802mk357o1A8BD0qlu3kANDpjLbORGWdAj21A6sMJDYXy\nHS9FBNV54daNcr+weky2L9gaF2yFjeu2rSEHCSfkbWfpSiVUx/bDTj7XS6XDOuJT\nJqvGS8jHqjHAIFBirhCA4cY/jLKxWyMr5N6IbXpPAYgt8/YYz2aOYVvdyB8tZ1u1\nkVsMYSGcvTBexZCn1cDkbO6I+waIlsc0uxGqUGBKF83AVYCQqOkBjF1uNnu9qefE\nkEc9obr4JZsAgnisboU25ss5ZJddKlmFMKSi66g4S5ChLEPFq7MB06PhLFioaD3L\nEXza7XitoW5VBwr0BSVKAHMC0T2xbm70zY06a6gQRlvr9a10lPmv4Tptc7xgQReg\nu1TlFPbrkGJ0d8O6vHQRAd3zdsNaVr4gX0Tg7UYiqT9ZUkP7hOc8PYXQ28hHrHTB\nA63MTq0aiPlJ/ivTuX8M6+Bi25dIV6N6IOUi/NQKIYxgovJCDSdCAAM0fQARAQAB\ntCFMdWNhcyBHYXJmaWVsZCA8bHVjYXNAcmVkaGF0LmNvbT6JAlcEEwEIAEEWIQTO\nQZeiHnXqdjmfUURc6PeuecS2PAUCY33fTQIbAwUJA8JnAAULCQgHAgIiAgYVCgkI\nCwIEFgIDAQIeBwIXgAAKCRBc6PeuecS2PCk3D/9jW7xrBB/2MQFKd5l+mNMFyKwc\nL9M/M5RFI9GaQRo55CwnPb0nnxOJR1V5GzZ/YGii53H2ose65CfBOE2L/F/RvKF0\nH9S9MInixlahzzKtV3TpDoZGk5oZIHEMuPmPS4XaHggolrzExY0ib0mQuBBE/uEV\n/HlyHEunBKPhTkAe+6Q+2dl22SUuVfWr4Uzlp65+DkdN3M37WI1a3Suhnef3rOSM\nV6puUzWRR7qcYs5C2In87AcYPn92P5ur1y/C32r8Ftg3fRWnEzI9QfRG52ojNOLK\nyGQ8ZC9PGe0q7VFcF7ridT/uzRU+NVKldbJg+rvBnszb1MjNuR7rUQHyvGmbsUVQ\nRCsgdovkee3lP4gfZHzk2SSLVSo0+NJRNaM90EmPk14Pgi/yfRSDGBVvLBbEanYI\nv1ZtdIPRyKi+/IaMOu/l7nayM/8RzghdU+0f1FAif5qf9nXuI13P8fqcqfu67gNd\nkh0UUF1XyR5UHHEZQQDqCuKEkZJ/+27jYlsG1ZiLb1odlIWoR44RP6k5OJl0raZb\nyLXbAfpITsXiJJBpCam9P9+XR5VSfgkqp5hIa7J8piN3DoMpoExg4PPQr6PbLAJy\nOUCOnuB7yYVbj0wYuMXTuyrcBHh/UymQnS8AMpQoEkCLWS/A/Hze/pD23LgiBoLY\nXIn5A2EOAf7t2IMSlA==\n=OanT\n-----END PGP PUBLIC KEY BLOCK-----',
rhsm: false,
},
{
baseurl:
'http://mirror.stream.centos.org/SIGs/8/kmods/x86_64/packages-main/',
check_gpg: false,
check_repo_gpg: false,
gpgkey: '',
rhsm: false,
},
],
},
},
},
},
error: null,
};
export const mockStateRecreateImage = {
composes: { ...mockComposesRecreateImage },
notifications: [],
};

View file

@ -64,9 +64,9 @@ const testingRepos: ApiRepositoryResponse[] = [
distribution_arch: 'any',
account_id: '6416440',
org_id: '13476545',
last_introspection_time: '2022-11-23 08:54:00.962352 +0000 UTC',
last_success_introspection_time: '2022-11-23 08:54:00.962352 +0000 UTC',
last_update_introspection_time: '2022-10-04 00:18:12.123607 +0000 UTC',
last_introspection_time: '2022-11-23T08:54:00Z',
last_success_introspection_time: '2022-11-23T08:54:00Z',
last_update_introspection_time: '2022-10-04T00:18:12Z',
last_introspection_error: '',
package_count: 605,
status: 'Valid',
@ -82,9 +82,9 @@ const testingRepos: ApiRepositoryResponse[] = [
distribution_arch: 'x86_64',
account_id: '6416440',
org_id: '13476545',
last_introspection_time: '2022-11-23 08:54:00.842352 +0000 UTC',
last_success_introspection_time: '2022-11-23 08:54:00.842352 +0000 UTC',
last_update_introspection_time: '2022-10-04 00:18:12.103607 +0000 UTC',
last_introspection_time: '2022-11-23T08:54:00Z',
last_success_introspection_time: '2022-11-23T08:54:00Z',
last_update_introspection_time: '2022-10-04T00:18:12Z',
last_introspection_error: '',
package_count: 13,
status: 'Valid',
@ -100,9 +100,9 @@ const testingRepos: ApiRepositoryResponse[] = [
distribution_arch: 'x86_64',
account_id: '6416440',
org_id: '13476545',
last_introspection_time: '2022-11-23 08:54:00.842352 +0000 UTC',
last_success_introspection_time: '2022-11-23 08:54:00.842352 +0000 UTC',
last_update_introspection_time: '2022-10-04 00:18:12.103607 +0000 UTC',
last_introspection_time: '2022-11-23T08:54:00Z',
last_success_introspection_time: '2022-11-23T08:54:00Z',
last_update_introspection_time: '2022-10-04T00:18:12Z',
last_introspection_error: '',
package_count: 13,
status: 'Invalid',
@ -118,9 +118,9 @@ const testingRepos: ApiRepositoryResponse[] = [
distribution_arch: 'x86_64',
account_id: '6416440',
org_id: '13476545',
last_introspection_time: '2022-11-23 08:54:00.142352 +0000 UTC',
last_success_introspection_time: '2022-11-23 08:54:00.142352 +0000 UTC',
last_update_introspection_time: '2022-10-04 00:18:12.083607 +0000 UTC',
last_introspection_time: '2022-11-23T08:54:00Z',
last_success_introspection_time: '2022-11-23T08:54:00Z',
last_update_introspection_time: '2022-10-04T00:18:12Z',
last_introspection_error: '',
package_count: 23,
status: 'Unavailable',
@ -129,16 +129,16 @@ const testingRepos: ApiRepositoryResponse[] = [
metadata_verification: false,
},
{
uuid: 'd4b6d3db-bd15-4750-98c0-667f42995566',
uuid: '81091684-4708-11ee-be56-0242ac120002',
name: '04-test-pending-repo',
url: 'http://pending.link.to.repo.org/x86_64/',
distribution_versions: ['9'],
distribution_arch: 'x86_64',
account_id: '6416440',
org_id: '13476545',
last_introspection_time: '2022-11-23 08:54:00.142352 +0000 UTC',
last_success_introspection_time: '2022-11-23 08:54:00.142352 +0000 UTC',
last_update_introspection_time: '2022-10-04 00:18:12.083607 +0000 UTC',
last_introspection_time: '2022-11-23T08:54:00Z',
last_success_introspection_time: '2022-11-23T08:54:00Z',
last_update_introspection_time: '2022-10-04T00:18:12Z',
last_introspection_error: '',
package_count: 33,
status: 'Pending',
@ -154,9 +154,9 @@ const testingRepos: ApiRepositoryResponse[] = [
distribution_arch: 'any',
account_id: '6416440',
org_id: '13476545',
last_introspection_time: '2022-11-23 00:00:12.714873 +0000 UTC',
last_success_introspection_time: '2022-11-23 00:00:12.714873 +0000 UTC',
last_update_introspection_time: '2022-11-18 08:00:10.119093 +0000 UTC',
last_introspection_time: '2022-11-23T00:00:12Z',
last_success_introspection_time: '2022-11-23T00:00:12Z',
last_update_introspection_time: '2022-11-18T08:00:10Z',
last_introspection_error: '',
package_count: 21,
status: 'Valid',
@ -171,9 +171,9 @@ const testingRepos: ApiRepositoryResponse[] = [
distribution_arch: 'x86_64',
account_id: '6416440',
org_id: '13476545',
last_introspection_time: '2022-11-23 08:00:18.111405 +0000 UTC',
last_success_introspection_time: '2022-11-23 08:00:18.111405 +0000 UTC',
last_update_introspection_time: '2022-11-23 08:00:18.111405 +0000 UTC',
last_introspection_time: '2022-11-23T08:00:18Z',
last_success_introspection_time: '2022-11-23T08:00:18Z',
last_update_introspection_time: '2022-11-23T08:00:18Z',
last_introspection_error: '',
package_count: 11526,
status: 'Valid',
@ -188,9 +188,9 @@ const testingRepos: ApiRepositoryResponse[] = [
distribution_arch: 'aarch64',
account_id: '6416440',
org_id: '13476545',
last_introspection_time: '2022-11-22 16:00:06.455684 +0000 UTC',
last_success_introspection_time: '2022-11-22 16:00:06.455684 +0000 UTC',
last_update_introspection_time: '2022-10-04 00:06:03.021973 +0000 UTC',
last_introspection_time: '2022-11-22T16:00:06Z',
last_success_introspection_time: '2022-11-22T16:00:06Z',
last_update_introspection_time: '2022-10-04T00:06:03Z',
last_introspection_error: '',
package_count: 11908,
status: 'Valid',
@ -205,9 +205,9 @@ const testingRepos: ApiRepositoryResponse[] = [
distribution_arch: 'any',
account_id: '6416440',
org_id: '13476545',
last_introspection_time: '2022-11-23 08:01:28.74002 +0000 UTC',
last_success_introspection_time: '2022-11-23 08:01:28.74002 +0000 UTC',
last_update_introspection_time: '2022-11-23 08:01:28.74002 +0000 UTC',
last_introspection_time: '2022-11-23T08:01:28Z',
last_success_introspection_time: '2022-11-23T08:01:28Z',
last_update_introspection_time: '2022-11-23T08:01:28Z',
last_introspection_error: '',
package_count: 13739,
status: 'Valid',
@ -222,9 +222,9 @@ const testingRepos: ApiRepositoryResponse[] = [
distribution_arch: 'x86_64',
account_id: '6416440',
org_id: '13476545',
last_introspection_time: '2022-11-23 08:00:20.911292 +0000 UTC',
last_success_introspection_time: '2022-11-23 08:00:20.911292 +0000 UTC',
last_update_introspection_time: '2022-10-04 00:18:10.148583 +0000 UTC',
last_introspection_time: '2022-11-23T08:00:20Z',
last_success_introspection_time: '2022-11-23T08:00:20Z',
last_update_introspection_time: '2022-10-04T00:18:10Z',
last_introspection_error: '',
package_count: 17,
status: 'Valid',
@ -239,9 +239,9 @@ const testingRepos: ApiRepositoryResponse[] = [
distribution_arch: 'any',
account_id: '6416440',
org_id: '13476545',
last_introspection_time: '2022-11-23 08:00:21.719974 +0000 UTC',
last_success_introspection_time: '2022-11-23 08:00:21.719974 +0000 UTC',
last_update_introspection_time: '2022-09-20 00:21:01.891526 +0000 UTC',
last_introspection_time: '2022-11-23T08:00:21Z',
last_success_introspection_time: '2022-11-23T08:00:21Z',
last_update_introspection_time: '2022-09-20T00:21:01Z',
last_introspection_error: '',
package_count: 0,
status: 'Valid',
@ -256,9 +256,9 @@ const testingRepos: ApiRepositoryResponse[] = [
distribution_arch: 'any',
account_id: '6416440',
org_id: '13476545',
last_introspection_time: '2022-11-23 08:01:31.52995 +0000 UTC',
last_success_introspection_time: '2022-11-23 08:01:31.52995 +0000 UTC',
last_update_introspection_time: '2022-10-04 00:11:04.043452 +0000 UTC',
last_introspection_time: '2022-11-23T08:01:31Z',
last_success_introspection_time: '2022-11-23T08:01:31Z',
last_update_introspection_time: '2022-10-04T00:11:04Z',
last_introspection_error: '',
package_count: 102,
status: 'Valid',
@ -273,9 +273,9 @@ const testingRepos: ApiRepositoryResponse[] = [
distribution_arch: 'any',
account_id: '6416440',
org_id: '13476545',
last_introspection_time: '2022-11-23 08:00:21.465594 +0000 UTC',
last_success_introspection_time: '2022-11-23 08:00:21.465594 +0000 UTC',
last_update_introspection_time: '2022-10-04 00:18:10.830524 +0000 UTC',
last_introspection_time: '2022-11-23T08:00:21Z',
last_success_introspection_time: '2022-11-23T08:00:21Z',
last_update_introspection_time: '2022-10-04T00:18:10Z',
last_introspection_error: '',
package_count: 11,
status: 'Valid',
@ -290,7 +290,7 @@ const testingRepos: ApiRepositoryResponse[] = [
distribution_arch: 'x86_64',
account_id: '6416440',
org_id: '13476545',
last_introspection_time: '2022-11-23 08:01:33.91888 +0000 UTC',
last_introspection_time: '2022-11-23T08:01:33Z',
last_success_introspection_time: '',
last_update_introspection_time: '',
last_introspection_error:
@ -308,9 +308,9 @@ const testingRepos: ApiRepositoryResponse[] = [
distribution_arch: 'any',
account_id: '6416440',
org_id: '13476545',
last_introspection_time: '2022-11-23 00:00:12.263236 +0000 UTC',
last_success_introspection_time: '2022-11-23 00:00:12.263236 +0000 UTC',
last_update_introspection_time: '2022-11-12 00:00:18.375292 +0000 UTC',
last_introspection_time: '2022-11-23T00:00:12Z',
last_success_introspection_time: '2022-11-23T00:00:12Z',
last_update_introspection_time: '2022-11-12T00:00:18Z',
last_introspection_error: '',
package_count: 340,
status: 'Valid',
@ -325,9 +325,9 @@ const testingRepos: ApiRepositoryResponse[] = [
distribution_arch: 'any',
account_id: '6416440',
org_id: '13476545',
last_introspection_time: '2022-11-23 08:00:37.091305 +0000 UTC',
last_success_introspection_time: '2022-11-23 08:00:37.091305 +0000 UTC',
last_update_introspection_time: '2022-10-10 16:11:35.690955 +0000 UTC',
last_introspection_time: '2022-11-23T08:00:37Z',
last_success_introspection_time: '2022-11-23T08:00:37Z',
last_update_introspection_time: '2022-10-10T16:11:35Z',
last_introspection_error: '',
package_count: 14,
status: 'Valid',
@ -342,9 +342,9 @@ const testingRepos: ApiRepositoryResponse[] = [
distribution_arch: 'x86_64',
account_id: '6416440',
org_id: '13476545',
last_introspection_time: '2022-11-23 08:00:18.671713 +0000 UTC',
last_success_introspection_time: '2022-11-23 08:00:18.671713 +0000 UTC',
last_update_introspection_time: '2022-11-12 00:00:08.970966 +0000 UTC',
last_introspection_time: '2022-11-23T08:00:18Z',
last_success_introspection_time: '2022-11-23T08:00:18Z',
last_update_introspection_time: '2022-11-12T00:00:08Z',
last_introspection_error: '',
package_count: 338,
status: 'Valid',
@ -359,9 +359,9 @@ const testingRepos: ApiRepositoryResponse[] = [
distribution_arch: 'any',
account_id: '6416440',
org_id: '13476545',
last_introspection_time: '2022-11-23 08:00:11.11247 +0000 UTC',
last_success_introspection_time: '2022-11-23 08:00:11.11247 +0000 UTC',
last_update_introspection_time: '2022-10-10 16:01:36.465549 +0000 UTC',
last_introspection_time: '2022-11-23T08:00:11Z',
last_success_introspection_time: '2022-11-23T08:00:11Z',
last_update_introspection_time: '2022-10-10T16:01:36Z',
last_introspection_error: '',
package_count: 16,
status: 'Valid',
@ -376,9 +376,9 @@ const testingRepos: ApiRepositoryResponse[] = [
distribution_arch: 'any',
account_id: '6416440',
org_id: '13476545',
last_introspection_time: '2022-11-23 08:00:09.394253 +0000 UTC',
last_success_introspection_time: '2022-11-23 08:00:09.394253 +0000 UTC',
last_update_introspection_time: '2022-11-23 08:00:09.394253 +0000 UTC',
last_introspection_time: '2022-11-23T08:00:09Z',
last_success_introspection_time: '2022-11-23T08:00:09Z',
last_update_introspection_time: '2022-11-23T08:00:09Z',
last_introspection_error: '',
package_count: 9452,
status: 'Valid',
@ -393,9 +393,9 @@ const testingRepos: ApiRepositoryResponse[] = [
distribution_arch: 'x86_64',
account_id: '6416440',
org_id: '13476545',
last_introspection_time: '2022-11-22 16:00:06.224391 +0000 UTC',
last_success_introspection_time: '2022-11-22 16:00:06.224391 +0000 UTC',
last_update_introspection_time: '2022-09-20 00:27:02.197045 +0000 UTC',
last_introspection_time: '2022-11-22T16:00:06Z',
last_success_introspection_time: '2022-11-22T16:00:06Z',
last_update_introspection_time: '2022-09-20T00:27:02Z',
last_introspection_error: '',
package_count: 0,
status: 'Valid',
@ -410,9 +410,9 @@ const testingRepos: ApiRepositoryResponse[] = [
distribution_arch: 'any',
account_id: '6416440',
org_id: '13476545',
last_introspection_time: '2022-11-23 08:00:19.586273 +0000 UTC',
last_success_introspection_time: '2022-11-23 08:00:19.586273 +0000 UTC',
last_update_introspection_time: '2022-11-13 00:00:25.156398 +0000 UTC',
last_introspection_time: '2022-11-23T08:00:19Z',
last_success_introspection_time: '2022-11-23T08:00:19Z',
last_update_introspection_time: '2022-11-13T00:00:25Z',
last_introspection_error: '',
package_count: 259,
status: 'Valid',
@ -427,9 +427,9 @@ const testingRepos: ApiRepositoryResponse[] = [
distribution_arch: 'any',
account_id: '6416440',
org_id: '13476545',
last_introspection_time: '2022-11-23 08:00:37.944592 +0000 UTC',
last_success_introspection_time: '2022-11-23 08:00:37.944592 +0000 UTC',
last_update_introspection_time: '2022-10-04 00:18:09.561151 +0000 UTC',
last_introspection_time: '2022-11-23T08:00:37Z',
last_success_introspection_time: '2022-11-23T08:00:37Z',
last_update_introspection_time: '2022-10-04T00:18:09Z',
last_introspection_error: '',
package_count: 15,
status: 'Valid',
@ -444,9 +444,9 @@ const testingRepos: ApiRepositoryResponse[] = [
distribution_arch: 'any',
account_id: '6416440',
org_id: '13476545',
last_introspection_time: '2022-11-23 00:00:20.495629 +0000 UTC',
last_success_introspection_time: '2022-11-23 00:00:20.495629 +0000 UTC',
last_update_introspection_time: '2022-10-04 00:20:17.587417 +0000 UTC',
last_introspection_time: '2022-11-23T00:00:20Z',
last_success_introspection_time: '2022-11-23T00:00:20Z',
last_update_introspection_time: '2022-10-04T00:20:17Z',
last_introspection_error: '',
package_count: 14,
status: 'Valid',
@ -461,9 +461,9 @@ const testingRepos: ApiRepositoryResponse[] = [
distribution_arch: 'x86_64',
account_id: '6416440',
org_id: '13476545',
last_introspection_time: '2022-11-23 08:00:09.595446 +0000 UTC',
last_success_introspection_time: '2022-11-23 08:00:09.595446 +0000 UTC',
last_update_introspection_time: '2022-11-18 08:00:13.259506 +0000 UTC',
last_introspection_time: '2022-11-23T08:00:09Z',
last_success_introspection_time: '2022-11-23T08:00:09Z',
last_update_introspection_time: '2022-11-18T08:00:13Z',
last_introspection_error: '',
package_count: 3,
status: 'Valid',
@ -478,9 +478,9 @@ const testingRepos: ApiRepositoryResponse[] = [
distribution_arch: 'x86_64',
account_id: '6416440',
org_id: '13476545',
last_introspection_time: '2022-11-23 08:00:22.137451 +0000 UTC',
last_success_introspection_time: '2022-11-23 08:00:22.137451 +0000 UTC',
last_update_introspection_time: '2022-10-10 16:00:18.041568 +0000 UTC',
last_introspection_time: '2022-11-23T08:00:22Z',
last_success_introspection_time: '2022-11-23T08:00:22Z',
last_update_introspection_time: '2022-10-10T16:00:18Z',
last_introspection_error: '',
package_count: 11,
status: 'Valid',
@ -521,9 +521,9 @@ const generateFillerRepos = (num: number): ApiRepositoryResponse[] => {
distribution_arch: 'any',
account_id: '6416440',
org_id: '13476545',
last_introspection_time: '2022-11-23 00:00:12.714873 +0000 UTC',
last_success_introspection_time: '2022-11-23 00:00:12.714873 +0000 UTC',
last_update_introspection_time: '2022-11-18 08:00:10.119093 +0000 UTC',
last_introspection_time: '2022-11-23T00:00:12Z',
last_success_introspection_time: '2022-11-23T00:00:12Z',
last_update_introspection_time: '2022-11-18T08:00:10Z',
last_introspection_error: '',
package_count: 21,
status: 'Valid',