1
0
mirror of https://github.com/interviewstreet/go-jira.git synced 2025-03-19 20:57:47 +02:00

feat(project): Add GitHub Actions testing workflow (#289)

GitHub actions is a workflow engine.
This testing workflow will
- keep everything inside GitHub (one platform)
- reduce dependency to an external service (TravisCI)
- introduce stricter testing (next to unit tests, staticcheck, fmt, vet)

* fix(tests): TestIssueService_GetEditMeta_Fail fails on windows due to error message checking

We check the error string in TestIssueService_GetEditMeta_Fail.
On different operting systems, this error message is different. See

- Linux: TestIssueService_GetEditMeta_Fail: metaissue_test.go:456: Error Get "http://127.0.0.1:65328/rest/api/2/issue/PROJ-9001/editmeta": dial tcp 127.0.0.1:65328: connect: connection refused
- Windows: Error Get "http://127.0.0.1:50122/rest/api/2/issue/PROJ-9001/editmeta": dial tcp 127.0.0.1:50122: connectex: No connection could be made because the target machine actively refused it.

Now we check the error type instead of the error message

* chore(tests): Support only the current + the last two versions

go-jira follows Go's Release Policy for testing.
See https://golang.org/doc/devel/release.html#policy

Related #290
This commit is contained in:
Andy Grunwald 2020-05-03 15:45:09 +02:00 committed by GitHub
parent e1f4265e2b
commit 80c02828ca
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 46 additions and 4 deletions

43
.github/workflows/testing.yml vendored Normal file
View File

@ -0,0 +1,43 @@
name: Tests
on:
push:
branches:
- master
pull_request:
jobs:
test:
name: Test and lint
strategy:
matrix:
go-version: [1.x, 1.13.x, 1.12.x]
platform: [ubuntu-latest, windows-latest]
runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v2
- uses: actions/setup-go@v2
with:
go-version: 1.14
# Caching go modules to speed up the run
- uses: actions/cache@v1
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
- name: Run go fmt
if: runner.os != 'Windows'
run: diff -u <(echo -n) <(gofmt -d -s .)
- name: Run go vet
run: make vet
- name: Run staticcheck
run: make staticcheck
- name: Run Unit tests.
run: make test

View File

@ -3,7 +3,7 @@ package jira
import (
"fmt"
"net/http"
"strings"
"net/url"
"testing"
)
@ -451,9 +451,8 @@ func TestIssueService_GetEditMeta_Fail(t *testing.T) {
t.Error("Expected to receive an error, received nil instead")
}
expectedError := "connection refused"
if !strings.Contains(err.Error(), expectedError) {
t.Errorf("Expected to receive error containing %s, received %v instead", expectedError, err.Error())
if _, ok := err.(*url.Error); !ok {
t.Errorf("Expected to receive an *url.Error, got %T instead", err)
}
}