mirror of
https://github.com/interviewstreet/go-jira.git
synced 2025-07-17 01:12:24 +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:
43
.github/workflows/testing.yml
vendored
Normal file
43
.github/workflows/testing.yml
vendored
Normal 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
|
@ -3,7 +3,7 @@ package jira
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"net/http"
|
"net/http"
|
||||||
"strings"
|
"net/url"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -451,9 +451,8 @@ func TestIssueService_GetEditMeta_Fail(t *testing.T) {
|
|||||||
t.Error("Expected to receive an error, received nil instead")
|
t.Error("Expected to receive an error, received nil instead")
|
||||||
}
|
}
|
||||||
|
|
||||||
expectedError := "connection refused"
|
if _, ok := err.(*url.Error); !ok {
|
||||||
if !strings.Contains(err.Error(), expectedError) {
|
t.Errorf("Expected to receive an *url.Error, got %T instead", err)
|
||||||
t.Errorf("Expected to receive error containing %s, received %v instead", expectedError, err.Error())
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user