mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2024-11-25 13:16:40 +00:00
[chore] Fiddle with CI tests; use wasmsqlite3 for CI tests (#2966)
* [chore] Update CI test stuff * don't bother with ldflags * use wasmsqlite3
This commit is contained in:
parent
45fe295caa
commit
9caf29bed2
43
.drone.yml
43
.drone.yml
|
@ -34,11 +34,20 @@ steps:
|
||||||
path: /root/.cache/go-build
|
path: /root/.cache/go-build
|
||||||
- name: go-src
|
- name: go-src
|
||||||
path: /go
|
path: /go
|
||||||
|
environment:
|
||||||
|
CGO_ENABLED: "0"
|
||||||
commands:
|
commands:
|
||||||
- apk update --no-cache && apk add git
|
- apk update --no-cache && apk add git
|
||||||
- CGO_ENABLED=0 GTS_DB_TYPE="sqlite" GTS_DB_ADDRESS=":memory:" go test ./...
|
- >-
|
||||||
- CGO_ENABLED=0 ./test/envparsing.sh
|
go test
|
||||||
- CGO_ENABLED=0 ./test/swagger.sh
|
-failfast
|
||||||
|
-timeout=20m
|
||||||
|
-tags "wasmsqlite3 netgo osusergo static_build kvformat timetzdata"
|
||||||
|
./...
|
||||||
|
- ./test/envparsing.sh
|
||||||
|
- ./test/swagger.sh
|
||||||
|
depends_on:
|
||||||
|
- lint
|
||||||
when:
|
when:
|
||||||
event:
|
event:
|
||||||
include:
|
include:
|
||||||
|
@ -46,38 +55,40 @@ steps:
|
||||||
|
|
||||||
- name: web-setup
|
- name: web-setup
|
||||||
image: node:18-alpine
|
image: node:18-alpine
|
||||||
when:
|
|
||||||
event:
|
|
||||||
include:
|
|
||||||
- pull_request
|
|
||||||
volumes:
|
volumes:
|
||||||
- name: yarn_cache
|
- name: yarn_cache
|
||||||
path: /tmp/cache
|
path: /tmp/cache
|
||||||
commands:
|
commands:
|
||||||
- yarn --cwd ./web/source install --frozen-lockfile --cache-folder /tmp/cache
|
- yarn --cwd ./web/source install --frozen-lockfile --cache-folder /tmp/cache
|
||||||
- yarn --cwd ./web/source ts-patch install # https://typia.io/docs/setup/#manual-setup
|
- yarn --cwd ./web/source ts-patch install # https://typia.io/docs/setup/#manual-setup
|
||||||
|
depends_on:
|
||||||
|
- test
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
include:
|
||||||
|
- pull_request
|
||||||
|
|
||||||
- name: web-lint
|
- name: web-lint
|
||||||
image: node:18-alpine
|
image: node:18-alpine
|
||||||
|
commands:
|
||||||
|
- yarn --cwd ./web/source lint
|
||||||
|
depends_on:
|
||||||
|
- web-setup
|
||||||
when:
|
when:
|
||||||
event:
|
event:
|
||||||
include:
|
include:
|
||||||
- pull_request
|
- pull_request
|
||||||
depends_on:
|
|
||||||
- web-setup
|
|
||||||
commands:
|
|
||||||
- yarn --cwd ./web/source lint
|
|
||||||
|
|
||||||
- name: web-build
|
- name: web-build
|
||||||
image: node:18-alpine
|
image: node:18-alpine
|
||||||
|
commands:
|
||||||
|
- yarn --cwd ./web/source build
|
||||||
|
depends_on:
|
||||||
|
- web-setup
|
||||||
when:
|
when:
|
||||||
event:
|
event:
|
||||||
include:
|
include:
|
||||||
- pull_request
|
- pull_request
|
||||||
depends_on:
|
|
||||||
- web-setup
|
|
||||||
commands:
|
|
||||||
- yarn --cwd ./web/source build
|
|
||||||
|
|
||||||
- name: snapshot
|
- name: snapshot
|
||||||
image: superseriousbusiness/gotosocial-drone-build:0.6.0 # https://github.com/superseriousbusiness/gotosocial-drone-build
|
image: superseriousbusiness/gotosocial-drone-build:0.6.0 # https://github.com/superseriousbusiness/gotosocial-drone-build
|
||||||
|
@ -193,6 +204,6 @@ steps:
|
||||||
|
|
||||||
---
|
---
|
||||||
kind: signature
|
kind: signature
|
||||||
hmac: c07f32c63cbb8180c1a37e46ff1362c1c45586819b52c6de67366ae3504314e4
|
hmac: 2e74313f4192b3e6daf6d1d00a7c3796019d93da7ce7e0a77208ccc3c37089b0
|
||||||
|
|
||||||
...
|
...
|
||||||
|
|
|
@ -20,12 +20,12 @@
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/stretchr/testify/suite"
|
"github.com/stretchr/testify/suite"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/db"
|
"github.com/superseriousbusiness/gotosocial/internal/db"
|
||||||
|
"github.com/superseriousbusiness/gotosocial/internal/gtscontext"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/gtsmodel"
|
"github.com/superseriousbusiness/gotosocial/internal/gtsmodel"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/id"
|
"github.com/superseriousbusiness/gotosocial/internal/id"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/util"
|
"github.com/superseriousbusiness/gotosocial/internal/util"
|
||||||
|
@ -78,7 +78,7 @@ func (suite *NotificationTestSuite) spamNotifs() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fmt.Printf("\n\n\nput %d notifs in the db\n\n\n", notifCount)
|
suite.T().Logf("put %d notifs in the db\n", notifCount)
|
||||||
}
|
}
|
||||||
|
|
||||||
type NotificationTestSuite struct {
|
type NotificationTestSuite struct {
|
||||||
|
@ -89,10 +89,18 @@ func (suite *NotificationTestSuite) TestGetAccountNotificationsWithSpam() {
|
||||||
suite.spamNotifs()
|
suite.spamNotifs()
|
||||||
testAccount := suite.testAccounts["local_account_1"]
|
testAccount := suite.testAccounts["local_account_1"]
|
||||||
before := time.Now()
|
before := time.Now()
|
||||||
notifications, err := suite.db.GetAccountNotifications(context.Background(), testAccount.ID, id.Highest, id.Lowest, "", 20, nil)
|
notifications, err := suite.db.GetAccountNotifications(
|
||||||
|
gtscontext.SetBarebones(context.Background()),
|
||||||
|
testAccount.ID,
|
||||||
|
id.Highest,
|
||||||
|
id.Lowest,
|
||||||
|
"",
|
||||||
|
20,
|
||||||
|
nil,
|
||||||
|
)
|
||||||
suite.NoError(err)
|
suite.NoError(err)
|
||||||
timeTaken := time.Since(before)
|
timeTaken := time.Since(before)
|
||||||
fmt.Printf("\n\n\n withSpam: got %d notifications in %s\n\n\n", len(notifications), timeTaken)
|
suite.T().Logf("withSpam: got %d notifications in %s\n", len(notifications), timeTaken)
|
||||||
|
|
||||||
suite.NotNil(notifications)
|
suite.NotNil(notifications)
|
||||||
for _, n := range notifications {
|
for _, n := range notifications {
|
||||||
|
@ -103,10 +111,18 @@ func (suite *NotificationTestSuite) TestGetAccountNotificationsWithSpam() {
|
||||||
func (suite *NotificationTestSuite) TestGetAccountNotificationsWithoutSpam() {
|
func (suite *NotificationTestSuite) TestGetAccountNotificationsWithoutSpam() {
|
||||||
testAccount := suite.testAccounts["local_account_1"]
|
testAccount := suite.testAccounts["local_account_1"]
|
||||||
before := time.Now()
|
before := time.Now()
|
||||||
notifications, err := suite.db.GetAccountNotifications(context.Background(), testAccount.ID, id.Highest, id.Lowest, "", 20, nil)
|
notifications, err := suite.db.GetAccountNotifications(
|
||||||
|
gtscontext.SetBarebones(context.Background()),
|
||||||
|
testAccount.ID,
|
||||||
|
id.Highest,
|
||||||
|
id.Lowest,
|
||||||
|
"",
|
||||||
|
20,
|
||||||
|
nil,
|
||||||
|
)
|
||||||
suite.NoError(err)
|
suite.NoError(err)
|
||||||
timeTaken := time.Since(before)
|
timeTaken := time.Since(before)
|
||||||
fmt.Printf("\n\n\n withoutSpam: got %d notifications in %s\n\n\n", len(notifications), timeTaken)
|
suite.T().Logf("withoutSpam: got %d notifications in %s\n", len(notifications), timeTaken)
|
||||||
|
|
||||||
suite.NotNil(notifications)
|
suite.NotNil(notifications)
|
||||||
for _, n := range notifications {
|
for _, n := range notifications {
|
||||||
|
@ -120,7 +136,15 @@ func (suite *NotificationTestSuite) TestDeleteNotificationsWithSpam() {
|
||||||
err := suite.db.DeleteNotifications(context.Background(), nil, testAccount.ID, "")
|
err := suite.db.DeleteNotifications(context.Background(), nil, testAccount.ID, "")
|
||||||
suite.NoError(err)
|
suite.NoError(err)
|
||||||
|
|
||||||
notifications, err := suite.db.GetAccountNotifications(context.Background(), testAccount.ID, id.Highest, id.Lowest, "", 20, nil)
|
notifications, err := suite.db.GetAccountNotifications(
|
||||||
|
gtscontext.SetBarebones(context.Background()),
|
||||||
|
testAccount.ID,
|
||||||
|
id.Highest,
|
||||||
|
id.Lowest,
|
||||||
|
"",
|
||||||
|
20,
|
||||||
|
nil,
|
||||||
|
)
|
||||||
suite.NoError(err)
|
suite.NoError(err)
|
||||||
suite.Nil(notifications)
|
suite.Nil(notifications)
|
||||||
suite.Empty(notifications)
|
suite.Empty(notifications)
|
||||||
|
@ -132,7 +156,15 @@ func (suite *NotificationTestSuite) TestDeleteNotificationsWithTwoAccounts() {
|
||||||
err := suite.db.DeleteNotifications(context.Background(), nil, testAccount.ID, "")
|
err := suite.db.DeleteNotifications(context.Background(), nil, testAccount.ID, "")
|
||||||
suite.NoError(err)
|
suite.NoError(err)
|
||||||
|
|
||||||
notifications, err := suite.db.GetAccountNotifications(context.Background(), testAccount.ID, id.Highest, id.Lowest, "", 20, nil)
|
notifications, err := suite.db.GetAccountNotifications(
|
||||||
|
gtscontext.SetBarebones(context.Background()),
|
||||||
|
testAccount.ID,
|
||||||
|
id.Highest,
|
||||||
|
id.Lowest,
|
||||||
|
"",
|
||||||
|
20,
|
||||||
|
nil,
|
||||||
|
)
|
||||||
suite.NoError(err)
|
suite.NoError(err)
|
||||||
suite.Nil(notifications)
|
suite.Nil(notifications)
|
||||||
suite.Empty(notifications)
|
suite.Empty(notifications)
|
||||||
|
|
Loading…
Reference in a new issue