diff --git a/src/Components/CreateImageWizard/formComponents/CustomButtons.js b/src/Components/CreateImageWizard/formComponents/CustomButtons.js index 5ee5dad7..0bbdf43e 100644 --- a/src/Components/CreateImageWizard/formComponents/CustomButtons.js +++ b/src/Components/CreateImageWizard/formComponents/CustomButtons.js @@ -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} diff --git a/src/Components/CreateImageWizard/formComponents/Repositories.js b/src/Components/CreateImageWizard/formComponents/Repositories.js index 2a760e0a..3bdd5261 100644 --- a/src/Components/CreateImageWizard/formComponents/Repositories.js +++ b/src/Components/CreateImageWizard/formComponents/Repositories.js @@ -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) => { + { Name - Architecture - Versions - Packages + Architecture + Version + Packages Status @@ -427,6 +429,7 @@ const Repositories = (props) => { .slice(computeStart(), computeEnd()) .map((repoURL, rowIndex) => { const repo = repositories[repoURL]; + const repoExists = repo.name ? true : false; return ( { }} /> - {repo.name} + {repoExists + ? repo.name + : 'Repository with the following url is no longer available:'}
- {repo.distribution_arch} + {repoExists ? repo.distribution_arch : '-'} - {repo.distribution_versions} + {repoExists ? repo.distribution_versions : '-'} + + + {repoExists ? repo.package_count : '-'} - {repo.package_count} @@ -508,9 +521,8 @@ const Empty = ({ isFetching, refetch }) => { No Custom Repositories - 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 "Repositories" area of the + console. Once added, refresh this page to see them. } > - - - ); - } else if (repoStatus === 'Unavailable') { - return ( - <> - - - Cannot fetch {repoUrl} - - } - > - diff --git a/src/Components/CreateImageWizard/formComponents/RepositoryUnavailable.js b/src/Components/CreateImageWizard/formComponents/RepositoryUnavailable.js new file mode 100644 index 00000000..39f95ca4 --- /dev/null +++ b/src/Components/CreateImageWizard/formComponents/RepositoryUnavailable.js @@ -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 ( + + 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. +
+
+ +
+ ); + } else { + return; + } +}; + +export default RepositoryUnavailable; diff --git a/src/Components/CreateImageWizard/formComponents/ReviewStep.js b/src/Components/CreateImageWizard/formComponents/ReviewStep.js index da28e532..2e19819d 100644 --- a/src/Components/CreateImageWizard/formComponents/ReviewStep.js +++ b/src/Components/CreateImageWizard/formComponents/ReviewStep.js @@ -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 ( <> + { url: repoUrl, }); + const errorLoading = () => { + return ( + + ); + }; + return ( <> - {isSuccess &&

{data.data?.[0].name}

} + {/* + 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 &&

{data.data?.[0].name}

} + {isSuccess && !data.data?.[0]?.name && errorLoading()} {isFetching && } - {isError && ( - - )} + {isError && errorLoading()} ); }; diff --git a/src/Components/CreateImageWizard/steps/repositories.js b/src/Components/CreateImageWizard/steps/repositories.js index 8557d208..0688c12a 100644 --- a/src/Components/CreateImageWizard/steps/repositories.js +++ b/src/Components/CreateImageWizard/steps/repositories.js @@ -41,8 +41,8 @@ const repositoriesStep = { name: 'packages-text-component', label: ( - 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.
diff --git a/src/Utilities/checkRepositoriesAvailability.js b/src/Utilities/checkRepositoriesAvailability.js new file mode 100644 index 00000000..952048cd --- /dev/null +++ b/src/Utilities/checkRepositoriesAvailability.js @@ -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; +}; diff --git a/src/test/Components/CreateImageWizard/CreateImageWizard.content.test.js b/src/test/Components/CreateImageWizard/CreateImageWizard.content.test.js index 926e73bd..be297f29 100644 --- a/src/test/Components/CreateImageWizard/CreateImageWizard.content.test.js +++ b/src/test/Components/CreateImageWizard/CreateImageWizard.content.test.js @@ -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(); + }); +}); diff --git a/src/test/Components/CreateImageWizard/CreateImageWizard.test.js b/src/test/Components/CreateImageWizard/CreateImageWizard.test.js index c620df1a..4bfb3948 100644 --- a/src/test/Components/CreateImageWizard/CreateImageWizard.test.js +++ b/src/test/Components/CreateImageWizard/CreateImageWizard.test.js @@ -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' diff --git a/src/test/fixtures/composes.ts b/src/test/fixtures/composes.ts index e6b3c8c6..be1bc587 100644 --- a/src/test/fixtures/composes.ts +++ b/src/test/fixtures/composes.ts @@ -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: [], +}; diff --git a/src/test/fixtures/repositories.ts b/src/test/fixtures/repositories.ts index 33e9a795..659f9cf2 100644 --- a/src/test/fixtures/repositories.ts +++ b/src/test/fixtures/repositories.ts @@ -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',