setup-nextflow/test/functions.ts

45 lines
1.2 KiB
TypeScript
Raw Normal View History

import * as functions from '../src/functions'
import * as github from '@actions/github'
import anyTest, {TestFn} from 'ava'
const test = anyTest as TestFn<{foo: string}>
test.before(t => {
const first = true
const current_token = getToken(first)
t.context = {token: current_token}
t.context = {octokit: github.getOctokit(current_token)}
})
test('all_nf_releases', async t => {
const result = await functions.all_nf_releases(t.context.octokit)
t.is(typeof result, 'object')
})
test('lastest_stable_release_data', async t => {
const result = await functions.latest_stable_release_data(t.context.octokit)
t.is(typeof result, 'object')
t.is(result.tag_name, 'v22.10.2')
})
test('release_data', async t => {
const result = await functions.release_data('v22.10.2', t.context.octokit)
t.is(result.tag_name, 'v22.10.2')
})
test.todo('nextflow_bin_url')
test.todo('install_nextflow')
function getToken(first: boolean): string {
const token = process.env['GITHUB_TOKEN'] || ''
if (!token && first) {
/* eslint-disable-next-line no-console */
console.warn(
'Skipping GitHub tests. Set $GITHUB_TOKEN to run REST client and GraphQL client tests'
)
first = false
}
return token
}