Skip to content

Commit 47e47fc

Browse files
authored
Merge pull request #181 from BESTSELLER/#174-dynamic-backend-url
Now pulls the baseUrl from the app-config.yml
2 parents 61e023c + d639cca commit 47e47fc

File tree

2 files changed

+19
-12
lines changed

2 files changed

+19
-12
lines changed

src/components/HarborRepository/HarborRepository.test.js renamed to src/components/HarborRepository/HarborRepository.test.jsx

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,14 @@
1+
import { ConfigReader } from '@backstage/core-app-api'
2+
import { configApiRef } from '@backstage/core-plugin-api'
3+
import { TestApiProvider } from '@backstage/test-utils'
14
import { act, render, screen } from '@testing-library/react'
25
import React from 'react'
36
import { HarborRepository } from './HarborRepository'
47

8+
const configApi = new ConfigReader({
9+
backend: { baseUrl: 'http://localhost:7000' },
10+
})
11+
512
global.fetch = jest.fn(() =>
613
Promise.resolve({
714
json: () =>
@@ -40,11 +47,13 @@ describe('Harbor Repository', () => {
4047
it('loads repo info', async () => {
4148
await act(async () =>
4249
render(
43-
<HarborRepository
44-
project="project"
45-
repository="component"
46-
widget={false}
47-
/>
50+
<TestApiProvider apis={[[configApiRef, configApi]]}>
51+
<HarborRepository
52+
project="project"
53+
repository="component"
54+
widget={false}
55+
/>
56+
</TestApiProvider>
4857
)
4958
)
5059

src/components/HarborRepository/HarborRepository.tsx

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
import { Progress, Table } from '@backstage/core-components'
2+
import { configApiRef, useApi } from '@backstage/core-plugin-api'
23
import React, { useState } from 'react'
34
import ReactSpeedometer from 'react-d3-speedometer'
45
import { useAsync } from 'react-use'
56
import { columns } from './tableHeadings'
67

7-
function HarborRepository(props: RepositoryProps) {
8+
export function HarborRepository(props: RepositoryProps) {
89
const [error, setError] = useState(false)
910
const [errorMsg, setErrorMsg] = useState('')
1011
const [repository, setRepository] = useState<Repository[]>([])
1112

13+
const config = useApi(configApiRef)
14+
const backendUrl = config.getString('backend.baseUrl')
15+
1216
const { loading } = useAsync(async () => {
13-
let backendUrl = window.location.origin
14-
if (backendUrl.includes('3000')) {
15-
backendUrl = backendUrl.replace('3000', '7000')
16-
}
1717
const response = await fetch(
1818
`${backendUrl}/api/harbor/artifacts?project=${props.project}&repository=${props.repository}`
1919
)
@@ -139,5 +139,3 @@ interface Vulnerabilities {
139139
count: number
140140
severity: string
141141
}
142-
143-
export { HarborRepository }

0 commit comments

Comments
 (0)