5050 runs-on : ubuntu-latest
5151 steps :
5252 - uses : actions/checkout@v3
53- - uses : actions/cache@v3
54- with :
55- path : ~/.npm
56- key : ${{runner.os}}-npm-${{hashFiles('**/package-lock.json')}}
57- restore-keys : ${{runner.os}}-npm-
58- - run : npm ci
53+ - uses : ./.github/actions/install-dependencies
5954 - id : npm-require
6055 uses : ./
6156 with :
@@ -71,23 +66,18 @@ jobs:
7166 echo $'\u2705 Test passed' | tee -a $GITHUB_STEP_SUMMARY
7267
7368 test-previews :
74- name : ' Integration test: previews option'
69+ name : ' Integration test: GraphQL previews option'
7570 runs-on : ubuntu-latest
7671 steps :
7772 - uses : actions/checkout@v3
78- - uses : actions/cache@v3
79- with :
80- path : ~/.npm
81- key : ${{runner.os}}-npm-${{hashFiles('**/package-lock.json')}}
82- restore-keys : ${{runner.os}}-npm-
83- - run : npm ci
73+ - uses : ./.github/actions/install-dependencies
8474 - id : previews-default
8575 name : Default previews not set
8676 uses : ./
8777 with :
8878 script : |
8979 const endpoint = github.request.endpoint
90- return endpoint({}).headers.accept
80+ return endpoint({url: "/graphql" }).headers.accept
9181 result-encoding : string
9282 - id : previews-set-single
9383 name : Previews set to a single value
9686 previews : foo
9787 script : |
9888 const endpoint = github.request.endpoint
99- return endpoint({}).headers.accept
89+ return endpoint({url: "/graphql" }).headers.accept
10090 result-encoding : string
10191 - id : previews-set-multiple
10292 name : Previews set to comma-separated list
10595 previews : foo,bar,baz
10696 script : |
10797 const endpoint = github.request.endpoint
108- return endpoint({}).headers.accept
98+ return endpoint({url: "/graphql" }).headers.accept
10999 result-encoding : string
110100 - run : |
111101 echo "- Validating previews default"
@@ -133,12 +123,7 @@ jobs:
133123 runs-on : ubuntu-latest
134124 steps :
135125 - uses : actions/checkout@v3
136- - uses : actions/cache@v3
137- with :
138- path : ~/.npm
139- key : ${{runner.os}}-npm-${{hashFiles('**/package-lock.json')}}
140- restore-keys : ${{runner.os}}-npm-
141- - run : npm ci
126+ - uses : ./.github/actions/install-dependencies
142127 - id : user-agent-default
143128 name : Default user-agent not set
144129 uses : ./
@@ -195,12 +180,7 @@ jobs:
195180 runs-on : ubuntu-latest
196181 steps :
197182 - uses : actions/checkout@v3
198- - uses : actions/cache@v3
199- with :
200- path : ~/.npm
201- key : ${{runner.os}}-npm-${{hashFiles('**/package-lock.json')}}
202- restore-keys : ${{runner.os}}-npm-
203- - run : npm ci
183+ - uses : ./.github/actions/install-dependencies
204184 - id : debug-default
205185 name : Default debug not set
206186 uses : ./
@@ -268,3 +248,78 @@ jobs:
268248 done <<< "$tests"
269249
270250 echo $'\u2705 Test passed' | tee -a $GITHUB_STEP_SUMMARY
251+
252+ test-base-url :
253+ name : ' Integration test: base-url option'
254+ runs-on : ubuntu-latest
255+ steps :
256+ - uses : actions/checkout@v3
257+ - uses : ./.github/actions/install-dependencies
258+
259+ - id : base-url-default
260+ name : API URL with base-url not set
261+ uses : ./
262+ with :
263+ script : |
264+ const endpoint = github.request.endpoint
265+ return endpoint({}).url
266+ result-encoding : string
267+
268+ - id : base-url-default-graphql
269+ name : GraphQL URL with base-url not set
270+ uses : ./
271+ with :
272+ script : |
273+ const endpoint = github.request.endpoint
274+ return endpoint({url: "/graphql"}).url
275+ result-encoding : string
276+
277+ - id : base-url-set
278+ name : API URL with base-url set
279+ uses : ./
280+ with :
281+ base-url : https://my.github-enterprise-server.com/api/v3
282+ script : |
283+ const endpoint = github.request.endpoint
284+ return endpoint({}).url
285+ result-encoding : string
286+
287+ - id : base-url-set-graphql
288+ name : GraphQL URL with base-url set
289+ uses : ./
290+ with :
291+ base-url : https://my.github-enterprise-server.com/api/v3
292+ script : |
293+ const endpoint = github.request.endpoint
294+ return endpoint({url: "/graphql"}).url
295+ result-encoding : string
296+
297+ - run : |
298+ echo "- Validating API URL default"
299+ expected="https://api.github.com/"
300+ actual="${{steps.base-url-default.outputs.result}}"
301+ if [[ "$expected" != "$actual" ]]; then
302+ echo $'::error::\u274C' "Expected base-url to equal '$expected', got $actual"
303+ exit 1
304+ fi
305+ echo "- Validating GraphQL URL default"
306+ expected="https://api.github.com/graphql"
307+ actual="${{steps.base-url-default-graphql.outputs.result}}"
308+ if [[ "$expected" != "$actual" ]]; then
309+ echo $'::error::\u274C' "Expected base-url to equal '$expected', got $actual"
310+ exit 1
311+ fi
312+ echo "- Validating base-url set to a value"
313+ expected="https://my.github-enterprise-server.com/api/v3/"
314+ actual="${{steps.base-url-set.outputs.result}}"
315+ if [[ "$expected" != "$actual" ]]; then
316+ echo $'::error::\u274C' "Expected base-url to equal '$expected', got $actual"
317+ exit 1
318+ fi
319+ echo "- Validating GraphQL URL with base-url set to a value"
320+ expected="https://my.github-enterprise-server.com/api/v3/graphql"
321+ actual="${{steps.base-url-set-graphql.outputs.result}}"
322+ if [[ "$expected" != "$actual" ]]; then
323+ echo $'::error::\u274C' "Expected base-url to equal '$expected', got $actual"
324+ exit 1
325+ fi
0 commit comments