mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-04-25 04:57:31 +00:00
Update module github.com/golangci/golangci-lint/cmd/golangci-lint to v2 (forgejo) (#7367)
Co-authored-by: Renovate Bot <forgejo-renovate-action@forgejo.org> Co-committed-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
This commit is contained in:
parent
51ff4970ec
commit
fed2d81c44
427 changed files with 2043 additions and 2046 deletions
187
.golangci.yml
187
.golangci.yml
|
@ -1,7 +1,9 @@
|
||||||
|
version: "2"
|
||||||
|
output:
|
||||||
|
sort-order:
|
||||||
|
- file
|
||||||
linters:
|
linters:
|
||||||
enable-all: false
|
default: none
|
||||||
disable-all: true
|
|
||||||
fast: false
|
|
||||||
enable:
|
enable:
|
||||||
- bidichk
|
- bidichk
|
||||||
- depguard
|
- depguard
|
||||||
|
@ -9,37 +11,37 @@ linters:
|
||||||
- errcheck
|
- errcheck
|
||||||
- forbidigo
|
- forbidigo
|
||||||
- gocritic
|
- gocritic
|
||||||
- gofmt
|
|
||||||
- gofumpt
|
|
||||||
- gosimple
|
|
||||||
- govet
|
- govet
|
||||||
- ineffassign
|
- ineffassign
|
||||||
- nakedret
|
- nakedret
|
||||||
- nolintlint
|
- nolintlint
|
||||||
- revive
|
- revive
|
||||||
- staticcheck
|
- staticcheck
|
||||||
- stylecheck
|
|
||||||
- testifylint
|
- testifylint
|
||||||
- typecheck
|
|
||||||
- unconvert
|
- unconvert
|
||||||
- unused
|
|
||||||
- unparam
|
- unparam
|
||||||
|
- unused
|
||||||
- usetesting
|
- usetesting
|
||||||
- wastedassign
|
- wastedassign
|
||||||
|
settings:
|
||||||
run:
|
depguard:
|
||||||
timeout: 10m
|
rules:
|
||||||
|
main:
|
||||||
output:
|
deny:
|
||||||
sort-results: true
|
- pkg: encoding/json
|
||||||
sort-order: [file]
|
desc: use gitea's modules/json instead of encoding/json
|
||||||
show-stats: true
|
- pkg: github.com/unknwon/com
|
||||||
|
desc: use gitea's util and replacements
|
||||||
linters-settings:
|
- pkg: io/ioutil
|
||||||
stylecheck:
|
desc: use os or io instead
|
||||||
checks: ["all", "-ST1005", "-ST1003"]
|
- pkg: golang.org/x/exp
|
||||||
nakedret:
|
desc: it's experimental and unreliable
|
||||||
max-func-lines: 0
|
- pkg: forgejo.org/modules/git/internal
|
||||||
|
desc: do not use the internal package, use AddXxx function instead
|
||||||
|
- pkg: gopkg.in/ini.v1
|
||||||
|
desc: do not use the ini package, use gitea's config system instead
|
||||||
|
- pkg: github.com/minio/sha256-simd
|
||||||
|
desc: use crypto/sha256 instead, see https://codeberg.org/forgejo/forgejo/pulls/1528
|
||||||
gocritic:
|
gocritic:
|
||||||
disabled-checks:
|
disabled-checks:
|
||||||
- ifElseChain
|
- ifElseChain
|
||||||
|
@ -79,72 +81,85 @@ linters-settings:
|
||||||
- name: var-naming
|
- name: var-naming
|
||||||
- name: redefines-builtin-id
|
- name: redefines-builtin-id
|
||||||
disabled: true
|
disabled: true
|
||||||
gofumpt:
|
staticcheck:
|
||||||
extra-rules: true
|
checks:
|
||||||
depguard:
|
- all
|
||||||
rules:
|
|
||||||
main:
|
|
||||||
deny:
|
|
||||||
- pkg: encoding/json
|
|
||||||
desc: use gitea's modules/json instead of encoding/json
|
|
||||||
- pkg: github.com/unknwon/com
|
|
||||||
desc: use gitea's util and replacements
|
|
||||||
- pkg: io/ioutil
|
|
||||||
desc: use os or io instead
|
|
||||||
- pkg: golang.org/x/exp
|
|
||||||
desc: it's experimental and unreliable
|
|
||||||
- pkg: forgejo.org/modules/git/internal
|
|
||||||
desc: do not use the internal package, use AddXxx function instead
|
|
||||||
- pkg: gopkg.in/ini.v1
|
|
||||||
desc: do not use the ini package, use gitea's config system instead
|
|
||||||
- pkg: github.com/minio/sha256-simd
|
|
||||||
desc: use crypto/sha256 instead, see https://codeberg.org/forgejo/forgejo/pulls/1528
|
|
||||||
testifylint:
|
testifylint:
|
||||||
disable:
|
disable:
|
||||||
- go-require
|
- go-require
|
||||||
|
exclusions:
|
||||||
|
generated: lax
|
||||||
|
presets:
|
||||||
|
- comments
|
||||||
|
- common-false-positives
|
||||||
|
- legacy
|
||||||
|
- std-error-handling
|
||||||
|
rules:
|
||||||
|
- linters:
|
||||||
|
- nolintlint
|
||||||
|
path: models/db/sql_postgres_with_schema.go
|
||||||
|
- linters:
|
||||||
|
- dupl
|
||||||
|
- errcheck
|
||||||
|
- gocyclo
|
||||||
|
- gosec
|
||||||
|
- staticcheck
|
||||||
|
- unparam
|
||||||
|
path: _test\.go
|
||||||
|
- linters:
|
||||||
|
- dupl
|
||||||
|
- errcheck
|
||||||
|
- gocyclo
|
||||||
|
- gosec
|
||||||
|
path: models/migrations/v
|
||||||
|
- linters:
|
||||||
|
- forbidigo
|
||||||
|
path: cmd
|
||||||
|
- linters:
|
||||||
|
- dupl
|
||||||
|
text: (?i)webhook
|
||||||
|
- linters:
|
||||||
|
- gocritic
|
||||||
|
text: (?i)`ID' should not be capitalized
|
||||||
|
- linters:
|
||||||
|
- deadcode
|
||||||
|
- unused
|
||||||
|
text: (?i)swagger
|
||||||
|
- linters:
|
||||||
|
- staticcheck
|
||||||
|
text: (?i)argument x is overwritten before first use
|
||||||
|
- linters:
|
||||||
|
- gocritic
|
||||||
|
text: '(?i)commentFormatting: put a space between `//` and comment text'
|
||||||
|
- linters:
|
||||||
|
- gocritic
|
||||||
|
text: '(?i)exitAfterDefer:'
|
||||||
|
- linters:
|
||||||
|
- staticcheck
|
||||||
|
text: "(ST1005|ST1003|QF1001):"
|
||||||
|
paths:
|
||||||
|
- node_modules
|
||||||
|
- public
|
||||||
|
- web_src
|
||||||
|
- third_party$
|
||||||
|
- builtin$
|
||||||
|
- examples$
|
||||||
issues:
|
issues:
|
||||||
max-issues-per-linter: 0
|
max-issues-per-linter: 0
|
||||||
max-same-issues: 0
|
max-same-issues: 0
|
||||||
exclude-dirs: [node_modules, public, web_src]
|
formatters:
|
||||||
exclude-case-sensitive: true
|
enable:
|
||||||
exclude-rules:
|
- gofmt
|
||||||
- path: models/db/sql_postgres_with_schema.go
|
- gofumpt
|
||||||
linters:
|
settings:
|
||||||
- nolintlint
|
gofumpt:
|
||||||
- path: _test\.go
|
extra-rules: true
|
||||||
linters:
|
exclusions:
|
||||||
- gocyclo
|
generated: lax
|
||||||
- errcheck
|
paths:
|
||||||
- dupl
|
- node_modules
|
||||||
- gosec
|
- public
|
||||||
- unparam
|
- web_src
|
||||||
- staticcheck
|
- third_party$
|
||||||
- path: models/migrations/v
|
- builtin$
|
||||||
linters:
|
- examples$
|
||||||
- gocyclo
|
|
||||||
- errcheck
|
|
||||||
- dupl
|
|
||||||
- gosec
|
|
||||||
- path: cmd
|
|
||||||
linters:
|
|
||||||
- forbidigo
|
|
||||||
- text: "webhook"
|
|
||||||
linters:
|
|
||||||
- dupl
|
|
||||||
- text: "`ID' should not be capitalized"
|
|
||||||
linters:
|
|
||||||
- gocritic
|
|
||||||
- text: "swagger"
|
|
||||||
linters:
|
|
||||||
- unused
|
|
||||||
- deadcode
|
|
||||||
- text: "argument x is overwritten before first use"
|
|
||||||
linters:
|
|
||||||
- staticcheck
|
|
||||||
- text: "commentFormatting: put a space between `//` and comment text"
|
|
||||||
linters:
|
|
||||||
- gocritic
|
|
||||||
- text: "exitAfterDefer:"
|
|
||||||
linters:
|
|
||||||
- gocritic
|
|
||||||
|
|
2
Makefile
2
Makefile
|
@ -39,7 +39,7 @@ XGO_VERSION := go-1.21.x
|
||||||
AIR_PACKAGE ?= github.com/air-verse/air@v1 # renovate: datasource=go
|
AIR_PACKAGE ?= github.com/air-verse/air@v1 # renovate: datasource=go
|
||||||
EDITORCONFIG_CHECKER_PACKAGE ?= github.com/editorconfig-checker/editorconfig-checker/v3/cmd/editorconfig-checker@v3.2.1 # renovate: datasource=go
|
EDITORCONFIG_CHECKER_PACKAGE ?= github.com/editorconfig-checker/editorconfig-checker/v3/cmd/editorconfig-checker@v3.2.1 # renovate: datasource=go
|
||||||
GOFUMPT_PACKAGE ?= mvdan.cc/gofumpt@v0.7.0 # renovate: datasource=go
|
GOFUMPT_PACKAGE ?= mvdan.cc/gofumpt@v0.7.0 # renovate: datasource=go
|
||||||
GOLANGCI_LINT_PACKAGE ?= github.com/golangci/golangci-lint/cmd/golangci-lint@v1.64.7 # renovate: datasource=go
|
GOLANGCI_LINT_PACKAGE ?= github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.0.2 # renovate: datasource=go
|
||||||
GXZ_PACKAGE ?= github.com/ulikunitz/xz/cmd/gxz@v0.5.11 # renovate: datasource=go
|
GXZ_PACKAGE ?= github.com/ulikunitz/xz/cmd/gxz@v0.5.11 # renovate: datasource=go
|
||||||
MISSPELL_PACKAGE ?= github.com/golangci/misspell/cmd/misspell@v0.6.0 # renovate: datasource=go
|
MISSPELL_PACKAGE ?= github.com/golangci/misspell/cmd/misspell@v0.6.0 # renovate: datasource=go
|
||||||
SWAGGER_PACKAGE ?= github.com/go-swagger/go-swagger/cmd/swagger@v0.31.0 # renovate: datasource=go
|
SWAGGER_PACKAGE ?= github.com/go-swagger/go-swagger/cmd/swagger@v0.31.0 # renovate: datasource=go
|
||||||
|
|
|
@ -264,7 +264,7 @@ func (handler Handler) HandleTemplateFile(fname string, src any) error {
|
||||||
Err: err,
|
Err: err,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
handler.handleTemplateFileNodes(fset, tmplParsed.Tree.Root.Nodes)
|
handler.handleTemplateFileNodes(fset, tmplParsed.Root.Nodes)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -37,13 +37,13 @@ func HandleTemplateFileWrapped(t *testing.T, fname, src string) []string {
|
||||||
|
|
||||||
func TestUsagesParser(t *testing.T) {
|
func TestUsagesParser(t *testing.T) {
|
||||||
t.Run("go, simple", func(t *testing.T) {
|
t.Run("go, simple", func(t *testing.T) {
|
||||||
assert.EqualValues(t,
|
assert.Equal(t,
|
||||||
[]string{"what.an.example"},
|
[]string{"what.an.example"},
|
||||||
HandleGoFileWrapped(t, "<g1>", "package main\nfunc Render(ctx *context.Context) string { return ctx.Tr(\"what.an.example\"); }\n"))
|
HandleGoFileWrapped(t, "<g1>", "package main\nfunc Render(ctx *context.Context) string { return ctx.Tr(\"what.an.example\"); }\n"))
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("template, simple", func(t *testing.T) {
|
t.Run("template, simple", func(t *testing.T) {
|
||||||
assert.EqualValues(t,
|
assert.Equal(t,
|
||||||
[]string{"what.an.example"},
|
[]string{"what.an.example"},
|
||||||
HandleTemplateFileWrapped(t, "<t1>", "{{ ctx.Locale.Tr \"what.an.example\" }}\n"))
|
HandleTemplateFileWrapped(t, "<t1>", "{{ ctx.Locale.Tr \"what.an.example\" }}\n"))
|
||||||
})
|
})
|
||||||
|
|
|
@ -15,9 +15,9 @@ func TestLocalizationPolicy(t *testing.T) {
|
||||||
t.Run("Remove tags", func(t *testing.T) {
|
t.Run("Remove tags", func(t *testing.T) {
|
||||||
assert.Empty(t, checkLocaleContent([]byte(`hidden_comment_types_description = Comment types checked here will not be shown inside issue pages. Checking "Label" for example removes all "<user> added/removed <label>" comments.`)))
|
assert.Empty(t, checkLocaleContent([]byte(`hidden_comment_types_description = Comment types checked here will not be shown inside issue pages. Checking "Label" for example removes all "<user> added/removed <label>" comments.`)))
|
||||||
|
|
||||||
assert.EqualValues(t, []string{"key: \x1b[31m<not-an-allowed-key>\x1b[0m REPLACED-TAG"}, checkLocaleContent([]byte(`key = "<not-an-allowed-key> <label>"`)))
|
assert.Equal(t, []string{"key: \x1b[31m<not-an-allowed-key>\x1b[0m REPLACED-TAG"}, checkLocaleContent([]byte(`key = "<not-an-allowed-key> <label>"`)))
|
||||||
assert.EqualValues(t, []string{"key: \x1b[31m<user@example.com>\x1b[0m REPLACED-TAG"}, checkLocaleContent([]byte(`key = "<user@example.com> <email@example.com>"`)))
|
assert.Equal(t, []string{"key: \x1b[31m<user@example.com>\x1b[0m REPLACED-TAG"}, checkLocaleContent([]byte(`key = "<user@example.com> <email@example.com>"`)))
|
||||||
assert.EqualValues(t, []string{"key: \x1b[31m<tag>\x1b[0m REPLACED-TAG \x1b[31m</tag>\x1b[0m"}, checkLocaleContent([]byte(`key = "<tag> <email@example.com> </tag>"`)))
|
assert.Equal(t, []string{"key: \x1b[31m<tag>\x1b[0m REPLACED-TAG \x1b[31m</tag>\x1b[0m"}, checkLocaleContent([]byte(`key = "<tag> <email@example.com> </tag>"`)))
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("Specific exception", func(t *testing.T) {
|
t.Run("Specific exception", func(t *testing.T) {
|
||||||
|
@ -25,11 +25,11 @@ func TestLocalizationPolicy(t *testing.T) {
|
||||||
assert.Empty(t, checkLocaleContent([]byte(`pulls.title_desc_one = wants to merge %[1]d commit from <code>%[2]s</code> into <code id="%[4]s">%[3]s</code>`)))
|
assert.Empty(t, checkLocaleContent([]byte(`pulls.title_desc_one = wants to merge %[1]d commit from <code>%[2]s</code> into <code id="%[4]s">%[3]s</code>`)))
|
||||||
assert.Empty(t, checkLocaleContent([]byte(`editor.commit_directly_to_this_branch = Commit directly to the <strong class="%[2]s">%[1]s</strong> branch.`)))
|
assert.Empty(t, checkLocaleContent([]byte(`editor.commit_directly_to_this_branch = Commit directly to the <strong class="%[2]s">%[1]s</strong> branch.`)))
|
||||||
|
|
||||||
assert.EqualValues(t, []string{"workflow.dispatch.trigger_found: This workflow has a \x1b[31m<d>\x1b[0mworkflow_dispatch\x1b[31m</d>\x1b[0m event trigger."}, checkLocaleContent([]byte(`workflow.dispatch.trigger_found = This workflow has a <d>workflow_dispatch</d> event trigger.`)))
|
assert.Equal(t, []string{"workflow.dispatch.trigger_found: This workflow has a \x1b[31m<d>\x1b[0mworkflow_dispatch\x1b[31m</d>\x1b[0m event trigger."}, checkLocaleContent([]byte(`workflow.dispatch.trigger_found = This workflow has a <d>workflow_dispatch</d> event trigger.`)))
|
||||||
assert.EqualValues(t, []string{"key: <code\x1b[31m id=\"branch_targe\"\x1b[0m>%[3]s</code>"}, checkLocaleContent([]byte(`key = <code id="branch_targe">%[3]s</code>`)))
|
assert.Equal(t, []string{"key: <code\x1b[31m id=\"branch_targe\"\x1b[0m>%[3]s</code>"}, checkLocaleContent([]byte(`key = <code id="branch_targe">%[3]s</code>`)))
|
||||||
assert.EqualValues(t, []string{"key: <a\x1b[31m class=\"ui sh\"\x1b[0m href=\"https://TO-BE-REPLACED.COM\">"}, checkLocaleContent([]byte(`key = <a class="ui sh" href="%[3]s">`)))
|
assert.Equal(t, []string{"key: <a\x1b[31m class=\"ui sh\"\x1b[0m href=\"https://TO-BE-REPLACED.COM\">"}, checkLocaleContent([]byte(`key = <a class="ui sh" href="%[3]s">`)))
|
||||||
assert.EqualValues(t, []string{"key: <a\x1b[31m class=\"js-click-me\"\x1b[0m href=\"https://TO-BE-REPLACED.COM\">"}, checkLocaleContent([]byte(`key = <a class="js-click-me" href="%[3]s">`)))
|
assert.Equal(t, []string{"key: <a\x1b[31m class=\"js-click-me\"\x1b[0m href=\"https://TO-BE-REPLACED.COM\">"}, checkLocaleContent([]byte(`key = <a class="js-click-me" href="%[3]s">`)))
|
||||||
assert.EqualValues(t, []string{"key: <strong\x1b[31m class=\"branch-target\"\x1b[0m>%[1]s</strong>"}, checkLocaleContent([]byte(`key = <strong class="branch-target">%[1]s</strong>`)))
|
assert.Equal(t, []string{"key: <strong\x1b[31m class=\"branch-target\"\x1b[0m>%[1]s</strong>"}, checkLocaleContent([]byte(`key = <strong class="branch-target">%[1]s</strong>`)))
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("General safe tags", func(t *testing.T) {
|
t.Run("General safe tags", func(t *testing.T) {
|
||||||
|
@ -38,7 +38,7 @@ func TestLocalizationPolicy(t *testing.T) {
|
||||||
assert.Empty(t, checkLocaleContent([]byte("sqlite_helper = File path for the SQLite3 database.<br>Enter an absolute path if you run Forgejo as a service.")))
|
assert.Empty(t, checkLocaleContent([]byte("sqlite_helper = File path for the SQLite3 database.<br>Enter an absolute path if you run Forgejo as a service.")))
|
||||||
assert.Empty(t, checkLocaleContent([]byte("hi_user_x = Hi <b>%s</b>,")))
|
assert.Empty(t, checkLocaleContent([]byte("hi_user_x = Hi <b>%s</b>,")))
|
||||||
|
|
||||||
assert.EqualValues(t, []string{"error404: The page you are trying to reach either <strong\x1b[31m title='aaa'\x1b[0m>does not exist</strong> or <strong>you are not authorized</strong> to view it."}, checkLocaleContent([]byte("error404 = The page you are trying to reach either <strong title='aaa'>does not exist</strong> or <strong>you are not authorized</strong> to view it.")))
|
assert.Equal(t, []string{"error404: The page you are trying to reach either <strong\x1b[31m title='aaa'\x1b[0m>does not exist</strong> or <strong>you are not authorized</strong> to view it."}, checkLocaleContent([]byte("error404 = The page you are trying to reach either <strong title='aaa'>does not exist</strong> or <strong>you are not authorized</strong> to view it.")))
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("<a>", func(t *testing.T) {
|
t.Run("<a>", func(t *testing.T) {
|
||||||
|
@ -47,20 +47,20 @@ func TestLocalizationPolicy(t *testing.T) {
|
||||||
assert.Empty(t, checkLocaleContent([]byte(`webauthn_desc = Security keys are hardware devices containing cryptographic keys. They can be used for two-factor authentication. Security keys must support the <a rel="noreferrer" target="_blank" href="%s">WebAuthn Authenticator</a> standard.`)))
|
assert.Empty(t, checkLocaleContent([]byte(`webauthn_desc = Security keys are hardware devices containing cryptographic keys. They can be used for two-factor authentication. Security keys must support the <a rel="noreferrer" target="_blank" href="%s">WebAuthn Authenticator</a> standard.`)))
|
||||||
assert.Empty(t, checkLocaleContent([]byte("issues.closed_at = `closed this issue <a id=\"%[1]s\" href=\"#%[1]s\">%[2]s</a>`")))
|
assert.Empty(t, checkLocaleContent([]byte("issues.closed_at = `closed this issue <a id=\"%[1]s\" href=\"#%[1]s\">%[2]s</a>`")))
|
||||||
|
|
||||||
assert.EqualValues(t, []string{"key: \x1b[31m<a href=\"https://example.com\">\x1b[0m"}, checkLocaleContent([]byte(`key = <a href="https://example.com">`)))
|
assert.Equal(t, []string{"key: \x1b[31m<a href=\"https://example.com\">\x1b[0m"}, checkLocaleContent([]byte(`key = <a href="https://example.com">`)))
|
||||||
assert.EqualValues(t, []string{"key: \x1b[31m<a href=\"javascript:alert('1')\">\x1b[0m"}, checkLocaleContent([]byte(`key = <a href="javascript:alert('1')">`)))
|
assert.Equal(t, []string{"key: \x1b[31m<a href=\"javascript:alert('1')\">\x1b[0m"}, checkLocaleContent([]byte(`key = <a href="javascript:alert('1')">`)))
|
||||||
assert.EqualValues(t, []string{"key: <a href=\"https://TO-BE-REPLACED.COM\"\x1b[31m download\x1b[0m>"}, checkLocaleContent([]byte(`key = <a href="%s" download>`)))
|
assert.Equal(t, []string{"key: <a href=\"https://TO-BE-REPLACED.COM\"\x1b[31m download\x1b[0m>"}, checkLocaleContent([]byte(`key = <a href="%s" download>`)))
|
||||||
assert.EqualValues(t, []string{"key: <a href=\"https://TO-BE-REPLACED.COM\"\x1b[31m target=\"_self\"\x1b[0m>"}, checkLocaleContent([]byte(`key = <a href="%s" target="_self">`)))
|
assert.Equal(t, []string{"key: <a href=\"https://TO-BE-REPLACED.COM\"\x1b[31m target=\"_self\"\x1b[0m>"}, checkLocaleContent([]byte(`key = <a href="%s" target="_self">`)))
|
||||||
assert.EqualValues(t, []string{"key: \x1b[31m<a href=\"https://example.com/%s\">\x1b[0m"}, checkLocaleContent([]byte(`key = <a href="https://example.com/%s">`)))
|
assert.Equal(t, []string{"key: \x1b[31m<a href=\"https://example.com/%s\">\x1b[0m"}, checkLocaleContent([]byte(`key = <a href="https://example.com/%s">`)))
|
||||||
assert.EqualValues(t, []string{"key: \x1b[31m<a href=\"https://example.com/?q=%s\">\x1b[0m"}, checkLocaleContent([]byte(`key = <a href="https://example.com/?q=%s">`)))
|
assert.Equal(t, []string{"key: \x1b[31m<a href=\"https://example.com/?q=%s\">\x1b[0m"}, checkLocaleContent([]byte(`key = <a href="https://example.com/?q=%s">`)))
|
||||||
assert.EqualValues(t, []string{"key: \x1b[31m<a href=\"%s/open-redirect\">\x1b[0m"}, checkLocaleContent([]byte(`key = <a href="%s/open-redirect">`)))
|
assert.Equal(t, []string{"key: \x1b[31m<a href=\"%s/open-redirect\">\x1b[0m"}, checkLocaleContent([]byte(`key = <a href="%s/open-redirect">`)))
|
||||||
assert.EqualValues(t, []string{"key: \x1b[31m<a href=\"%s?q=open-redirect\">\x1b[0m"}, checkLocaleContent([]byte(`key = <a href="%s?q=open-redirect">`)))
|
assert.Equal(t, []string{"key: \x1b[31m<a href=\"%s?q=open-redirect\">\x1b[0m"}, checkLocaleContent([]byte(`key = <a href="%s?q=open-redirect">`)))
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("Escaped HTML characters", func(t *testing.T) {
|
t.Run("Escaped HTML characters", func(t *testing.T) {
|
||||||
assert.Empty(t, checkLocaleContent([]byte("activity.git_stats_push_to_branch = `إلى %s و\"`")))
|
assert.Empty(t, checkLocaleContent([]byte("activity.git_stats_push_to_branch = `إلى %s و\"`")))
|
||||||
|
|
||||||
assert.EqualValues(t, []string{"key: و\x1b[31m \x1b[0m\x1b[32m\u00a0\x1b[0m"}, checkLocaleContent([]byte(`key = و `)))
|
assert.Equal(t, []string{"key: و\x1b[31m \x1b[0m\x1b[32m\u00a0\x1b[0m"}, checkLocaleContent([]byte(`key = و `)))
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -75,7 +75,7 @@ func TestNextLocalizationPolicy(t *testing.T) {
|
||||||
}
|
}
|
||||||
}`)))
|
}`)))
|
||||||
|
|
||||||
assert.EqualValues(t, []string{"settings.hidden_comment_types_description: \"\x1b[31m<not-an-allowed-key>\x1b[0m REPLACED-TAG\""}, checkLocaleNextContent([]byte(`{
|
assert.Equal(t, []string{"settings.hidden_comment_types_description: \"\x1b[31m<not-an-allowed-key>\x1b[0m REPLACED-TAG\""}, checkLocaleNextContent([]byte(`{
|
||||||
"settings": {
|
"settings": {
|
||||||
"hidden_comment_types_description": "\"<not-an-allowed-key> <label>\""
|
"hidden_comment_types_description": "\"<not-an-allowed-key> <label>\""
|
||||||
}
|
}
|
||||||
|
@ -87,7 +87,7 @@ func TestNextLocalizationPolicy(t *testing.T) {
|
||||||
"settings.hidden_comment_types_description": "Comment types checked here will not be shown inside issue pages. Checking \"Label\" for example removes all \"<user> added/removed <label>\" comments."
|
"settings.hidden_comment_types_description": "Comment types checked here will not be shown inside issue pages. Checking \"Label\" for example removes all \"<user> added/removed <label>\" comments."
|
||||||
}`)))
|
}`)))
|
||||||
|
|
||||||
assert.EqualValues(t, []string{"settings.hidden_comment_types_description: \"\x1b[31m<not-an-allowed-key>\x1b[0m REPLACED-TAG\""}, checkLocaleNextContent([]byte(`{
|
assert.Equal(t, []string{"settings.hidden_comment_types_description: \"\x1b[31m<not-an-allowed-key>\x1b[0m REPLACED-TAG\""}, checkLocaleNextContent([]byte(`{
|
||||||
"settings.hidden_comment_types_description": "\"<not-an-allowed-key> <label>\""
|
"settings.hidden_comment_types_description": "\"<not-an-allowed-key> <label>\""
|
||||||
}`)))
|
}`)))
|
||||||
})
|
})
|
||||||
|
|
|
@ -216,11 +216,11 @@ func TestAddLdapBindDn(t *testing.T) {
|
||||||
return nil
|
return nil
|
||||||
},
|
},
|
||||||
updateAuthSource: func(ctx context.Context, authSource *auth.Source) error {
|
updateAuthSource: func(ctx context.Context, authSource *auth.Source) error {
|
||||||
assert.FailNow(t, "case %d: should not call updateAuthSource", n)
|
assert.FailNow(t, "should not call updateAuthSource", "case: %d", n)
|
||||||
return nil
|
return nil
|
||||||
},
|
},
|
||||||
getAuthSourceByID: func(ctx context.Context, id int64) (*auth.Source, error) {
|
getAuthSourceByID: func(ctx context.Context, id int64) (*auth.Source, error) {
|
||||||
assert.FailNow(t, "case %d: should not call getAuthSourceByID", n)
|
assert.FailNow(t, "should not call getAuthSourceByID", "case: %d", n)
|
||||||
return nil, nil
|
return nil, nil
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -447,11 +447,11 @@ func TestAddLdapSimpleAuth(t *testing.T) {
|
||||||
return nil
|
return nil
|
||||||
},
|
},
|
||||||
updateAuthSource: func(ctx context.Context, authSource *auth.Source) error {
|
updateAuthSource: func(ctx context.Context, authSource *auth.Source) error {
|
||||||
assert.FailNow(t, "case %d: should not call updateAuthSource", n)
|
assert.FailNow(t, "should not call updateAuthSource", "case: %d", n)
|
||||||
return nil
|
return nil
|
||||||
},
|
},
|
||||||
getAuthSourceByID: func(ctx context.Context, id int64) (*auth.Source, error) {
|
getAuthSourceByID: func(ctx context.Context, id int64) (*auth.Source, error) {
|
||||||
assert.FailNow(t, "case %d: should not call getAuthSourceByID", n)
|
assert.FailNow(t, "should not call getAuthSourceByID", "case: %d", n)
|
||||||
return nil, nil
|
return nil, nil
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -898,7 +898,7 @@ func TestUpdateLdapBindDn(t *testing.T) {
|
||||||
return nil
|
return nil
|
||||||
},
|
},
|
||||||
createAuthSource: func(ctx context.Context, authSource *auth.Source) error {
|
createAuthSource: func(ctx context.Context, authSource *auth.Source) error {
|
||||||
assert.FailNow(t, "case %d: should not call createAuthSource", n)
|
assert.FailNow(t, "should not call createAuthSource", "case: %d", n)
|
||||||
return nil
|
return nil
|
||||||
},
|
},
|
||||||
updateAuthSource: func(ctx context.Context, authSource *auth.Source) error {
|
updateAuthSource: func(ctx context.Context, authSource *auth.Source) error {
|
||||||
|
@ -1288,7 +1288,7 @@ func TestUpdateLdapSimpleAuth(t *testing.T) {
|
||||||
return nil
|
return nil
|
||||||
},
|
},
|
||||||
createAuthSource: func(ctx context.Context, authSource *auth.Source) error {
|
createAuthSource: func(ctx context.Context, authSource *auth.Source) error {
|
||||||
assert.FailNow(t, "case %d: should not call createAuthSource", n)
|
assert.FailNow(t, "should not call createAuthSource", "case: %d", n)
|
||||||
return nil
|
return nil
|
||||||
},
|
},
|
||||||
updateAuthSource: func(ctx context.Context, authSource *auth.Source) error {
|
updateAuthSource: func(ctx context.Context, authSource *auth.Source) error {
|
||||||
|
|
|
@ -143,11 +143,12 @@ func setupDoctorDefaultLogger(ctx *cli.Context, colorize bool) {
|
||||||
setupConsoleLogger(log.FATAL, log.CanColorStderr, os.Stderr)
|
setupConsoleLogger(log.FATAL, log.CanColorStderr, os.Stderr)
|
||||||
|
|
||||||
logFile := ctx.String("log-file")
|
logFile := ctx.String("log-file")
|
||||||
if logFile == "" {
|
switch logFile {
|
||||||
|
case "":
|
||||||
return // if no doctor log-file is set, do not show any log from default logger
|
return // if no doctor log-file is set, do not show any log from default logger
|
||||||
} else if logFile == "-" {
|
case "-":
|
||||||
setupConsoleLogger(log.TRACE, colorize, os.Stdout)
|
setupConsoleLogger(log.TRACE, colorize, os.Stdout)
|
||||||
} else {
|
default:
|
||||||
logFile, _ = filepath.Abs(logFile)
|
logFile, _ = filepath.Abs(logFile)
|
||||||
writeMode := log.WriterMode{Level: log.TRACE, WriterOption: log.WriterFileOption{FileName: logFile}}
|
writeMode := log.WriterMode{Level: log.TRACE, WriterOption: log.WriterFileOption{FileName: logFile}}
|
||||||
writer, err := log.NewEventWriter("console-to-file", "file", writeMode)
|
writer, err := log.NewEventWriter("console-to-file", "file", writeMode)
|
||||||
|
|
|
@ -220,10 +220,7 @@ Forgejo or set your environment appropriately.`, "")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
supportProcReceive := false
|
supportProcReceive := git.CheckGitVersionAtLeast("2.29") == nil
|
||||||
if git.CheckGitVersionAtLeast("2.29") == nil {
|
|
||||||
supportProcReceive = true
|
|
||||||
}
|
|
||||||
|
|
||||||
for scanner.Scan() {
|
for scanner.Scan() {
|
||||||
// TODO: support news feeds for wiki
|
// TODO: support news feeds for wiki
|
||||||
|
|
|
@ -122,9 +122,9 @@ func NewMainApp(version, versionExtra string) *cli.App {
|
||||||
}
|
}
|
||||||
executable := filepath.Base(path)
|
executable := filepath.Base(path)
|
||||||
|
|
||||||
var subCmdsStandalone []*cli.Command = make([]*cli.Command, 0, 10)
|
subCmdsStandalone := make([]*cli.Command, 0, 10)
|
||||||
var subCmdWithConfig []*cli.Command = make([]*cli.Command, 0, 10)
|
subCmdWithConfig := make([]*cli.Command, 0, 10)
|
||||||
var globalFlags []cli.Flag = make([]cli.Flag, 0, 10)
|
globalFlags := make([]cli.Flag, 0, 10)
|
||||||
|
|
||||||
//
|
//
|
||||||
// If the executable is forgejo-cli, provide a Forgejo specific CLI
|
// If the executable is forgejo-cli, provide a Forgejo specific CLI
|
||||||
|
|
|
@ -132,14 +132,14 @@ func TestCliCmdError(t *testing.T) {
|
||||||
r, err := runTestApp(app, "./gitea", "test-cmd")
|
r, err := runTestApp(app, "./gitea", "test-cmd")
|
||||||
require.Error(t, err)
|
require.Error(t, err)
|
||||||
assert.Equal(t, 1, r.ExitCode)
|
assert.Equal(t, 1, r.ExitCode)
|
||||||
assert.Equal(t, "", r.Stdout)
|
assert.Empty(t, r.Stdout)
|
||||||
assert.Equal(t, "Command error: normal error\n", r.Stderr)
|
assert.Equal(t, "Command error: normal error\n", r.Stderr)
|
||||||
|
|
||||||
app = newTestApp(func(ctx *cli.Context) error { return cli.Exit("exit error", 2) })
|
app = newTestApp(func(ctx *cli.Context) error { return cli.Exit("exit error", 2) })
|
||||||
r, err = runTestApp(app, "./gitea", "test-cmd")
|
r, err = runTestApp(app, "./gitea", "test-cmd")
|
||||||
require.Error(t, err)
|
require.Error(t, err)
|
||||||
assert.Equal(t, 2, r.ExitCode)
|
assert.Equal(t, 2, r.ExitCode)
|
||||||
assert.Equal(t, "", r.Stdout)
|
assert.Empty(t, r.Stdout)
|
||||||
assert.Equal(t, "exit error\n", r.Stderr)
|
assert.Equal(t, "exit error\n", r.Stderr)
|
||||||
|
|
||||||
app = newTestApp(func(ctx *cli.Context) error { return nil })
|
app = newTestApp(func(ctx *cli.Context) error { return nil })
|
||||||
|
@ -147,12 +147,12 @@ func TestCliCmdError(t *testing.T) {
|
||||||
require.Error(t, err)
|
require.Error(t, err)
|
||||||
assert.Equal(t, 1, r.ExitCode)
|
assert.Equal(t, 1, r.ExitCode)
|
||||||
assert.Equal(t, "Incorrect Usage: flag provided but not defined: -no-such\n\n", r.Stdout)
|
assert.Equal(t, "Incorrect Usage: flag provided but not defined: -no-such\n\n", r.Stdout)
|
||||||
assert.Equal(t, "", r.Stderr) // the cli package's strange behavior, the error message is not in stderr ....
|
assert.Empty(t, r.Stderr) // the cli package's strange behavior, the error message is not in stderr ....
|
||||||
|
|
||||||
app = newTestApp(func(ctx *cli.Context) error { return nil })
|
app = newTestApp(func(ctx *cli.Context) error { return nil })
|
||||||
r, err = runTestApp(app, "./gitea", "test-cmd")
|
r, err = runTestApp(app, "./gitea", "test-cmd")
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, -1, r.ExitCode) // the cli.OsExiter is not called
|
assert.Equal(t, -1, r.ExitCode) // the cli.OsExiter is not called
|
||||||
assert.Equal(t, "", r.Stdout)
|
assert.Empty(t, r.Stdout)
|
||||||
assert.Equal(t, "", r.Stderr)
|
assert.Empty(t, r.Stderr)
|
||||||
}
|
}
|
||||||
|
|
|
@ -81,8 +81,8 @@ func TestMigratePackages(t *testing.T) {
|
||||||
entries, err := os.ReadDir(p)
|
entries, err := os.ReadDir(p)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Len(t, entries, 2)
|
assert.Len(t, entries, 2)
|
||||||
assert.EqualValues(t, "01", entries[0].Name())
|
assert.Equal(t, "01", entries[0].Name())
|
||||||
assert.EqualValues(t, "tmp", entries[1].Name())
|
assert.Equal(t, "tmp", entries[1].Name())
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestMigrateActionsArtifacts(t *testing.T) {
|
func TestMigrateActionsArtifacts(t *testing.T) {
|
||||||
|
|
|
@ -253,11 +253,12 @@ func runServ(c *cli.Context) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
if verb == lfsAuthenticateVerb {
|
if verb == lfsAuthenticateVerb {
|
||||||
if lfsVerb == "upload" {
|
switch lfsVerb {
|
||||||
|
case "upload":
|
||||||
requestedMode = perm.AccessModeWrite
|
requestedMode = perm.AccessModeWrite
|
||||||
} else if lfsVerb == "download" {
|
case "download":
|
||||||
requestedMode = perm.AccessModeRead
|
requestedMode = perm.AccessModeRead
|
||||||
} else {
|
default:
|
||||||
return fail(ctx, "Unknown LFS verb", "Unknown lfs verb %s", lfsVerb)
|
return fail(ctx, "Unknown LFS verb", "Unknown lfs verb %s", lfsVerb)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,9 +24,9 @@ func TestActions_RegisterRunner_Token(t *testing.T) {
|
||||||
version := "v1.2.3"
|
version := "v1.2.3"
|
||||||
runner, err := RegisterRunner(db.DefaultContext, ownerID, repoID, token, &labels, name, version)
|
runner, err := RegisterRunner(db.DefaultContext, ownerID, repoID, token, &labels, name, version)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, name, runner.Name)
|
assert.Equal(t, name, runner.Name)
|
||||||
|
|
||||||
assert.EqualValues(t, 1, subtle.ConstantTimeCompare([]byte(runner.TokenHash), []byte(auth_model.HashToken(token, runner.TokenSalt))), "the token cannot be verified with the same method as routers/api/actions/runner/interceptor.go as of 8228751c55d6a4263f0fec2932ca16181c09c97d")
|
assert.Equal(t, 1, subtle.ConstantTimeCompare([]byte(runner.TokenHash), []byte(auth_model.HashToken(token, runner.TokenSalt))), "the token cannot be verified with the same method as routers/api/actions/runner/interceptor.go as of 8228751c55d6a4263f0fec2932ca16181c09c97d")
|
||||||
}
|
}
|
||||||
|
|
||||||
// TestActions_RegisterRunner_TokenUpdate tests that a token's secret is updated
|
// TestActions_RegisterRunner_TokenUpdate tests that a token's secret is updated
|
||||||
|
@ -73,19 +73,19 @@ func TestActions_RegisterRunner_CreateWithLabels(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
// Check that the returned record has been updated, except for the labels
|
// Check that the returned record has been updated, except for the labels
|
||||||
assert.EqualValues(t, ownerID, runner.OwnerID)
|
assert.Equal(t, ownerID, runner.OwnerID)
|
||||||
assert.EqualValues(t, repoID, runner.RepoID)
|
assert.Equal(t, repoID, runner.RepoID)
|
||||||
assert.EqualValues(t, name, runner.Name)
|
assert.Equal(t, name, runner.Name)
|
||||||
assert.EqualValues(t, version, runner.Version)
|
assert.Equal(t, version, runner.Version)
|
||||||
assert.EqualValues(t, labelsCopy, runner.AgentLabels)
|
assert.Equal(t, labelsCopy, runner.AgentLabels)
|
||||||
|
|
||||||
// Check that whatever is in the DB has been updated, except for the labels
|
// Check that whatever is in the DB has been updated, except for the labels
|
||||||
after := unittest.AssertExistsAndLoadBean(t, &ActionRunner{ID: runner.ID})
|
after := unittest.AssertExistsAndLoadBean(t, &ActionRunner{ID: runner.ID})
|
||||||
assert.EqualValues(t, ownerID, after.OwnerID)
|
assert.Equal(t, ownerID, after.OwnerID)
|
||||||
assert.EqualValues(t, repoID, after.RepoID)
|
assert.Equal(t, repoID, after.RepoID)
|
||||||
assert.EqualValues(t, name, after.Name)
|
assert.Equal(t, name, after.Name)
|
||||||
assert.EqualValues(t, version, after.Version)
|
assert.Equal(t, version, after.Version)
|
||||||
assert.EqualValues(t, labelsCopy, after.AgentLabels)
|
assert.Equal(t, labelsCopy, after.AgentLabels)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestActions_RegisterRunner_CreateWithoutLabels(t *testing.T) {
|
func TestActions_RegisterRunner_CreateWithoutLabels(t *testing.T) {
|
||||||
|
@ -100,19 +100,19 @@ func TestActions_RegisterRunner_CreateWithoutLabels(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
// Check that the returned record has been updated, except for the labels
|
// Check that the returned record has been updated, except for the labels
|
||||||
assert.EqualValues(t, ownerID, runner.OwnerID)
|
assert.Equal(t, ownerID, runner.OwnerID)
|
||||||
assert.EqualValues(t, repoID, runner.RepoID)
|
assert.Equal(t, repoID, runner.RepoID)
|
||||||
assert.EqualValues(t, name, runner.Name)
|
assert.Equal(t, name, runner.Name)
|
||||||
assert.EqualValues(t, version, runner.Version)
|
assert.Equal(t, version, runner.Version)
|
||||||
assert.EqualValues(t, []string{}, runner.AgentLabels)
|
assert.Equal(t, []string{}, runner.AgentLabels)
|
||||||
|
|
||||||
// Check that whatever is in the DB has been updated, except for the labels
|
// Check that whatever is in the DB has been updated, except for the labels
|
||||||
after := unittest.AssertExistsAndLoadBean(t, &ActionRunner{ID: runner.ID})
|
after := unittest.AssertExistsAndLoadBean(t, &ActionRunner{ID: runner.ID})
|
||||||
assert.EqualValues(t, ownerID, after.OwnerID)
|
assert.Equal(t, ownerID, after.OwnerID)
|
||||||
assert.EqualValues(t, repoID, after.RepoID)
|
assert.Equal(t, repoID, after.RepoID)
|
||||||
assert.EqualValues(t, name, after.Name)
|
assert.Equal(t, name, after.Name)
|
||||||
assert.EqualValues(t, version, after.Version)
|
assert.Equal(t, version, after.Version)
|
||||||
assert.EqualValues(t, []string{}, after.AgentLabels)
|
assert.Equal(t, []string{}, after.AgentLabels)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestActions_RegisterRunner_UpdateWithLabels(t *testing.T) {
|
func TestActions_RegisterRunner_UpdateWithLabels(t *testing.T) {
|
||||||
|
@ -132,19 +132,19 @@ func TestActions_RegisterRunner_UpdateWithLabels(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
// Check that the returned record has been updated
|
// Check that the returned record has been updated
|
||||||
assert.EqualValues(t, newOwnerID, runner.OwnerID)
|
assert.Equal(t, newOwnerID, runner.OwnerID)
|
||||||
assert.EqualValues(t, newRepoID, runner.RepoID)
|
assert.Equal(t, newRepoID, runner.RepoID)
|
||||||
assert.EqualValues(t, newName, runner.Name)
|
assert.Equal(t, newName, runner.Name)
|
||||||
assert.EqualValues(t, newVersion, runner.Version)
|
assert.Equal(t, newVersion, runner.Version)
|
||||||
assert.EqualValues(t, labelsCopy, runner.AgentLabels)
|
assert.Equal(t, labelsCopy, runner.AgentLabels)
|
||||||
|
|
||||||
// Check that whatever is in the DB has been updated
|
// Check that whatever is in the DB has been updated
|
||||||
after := unittest.AssertExistsAndLoadBean(t, &ActionRunner{ID: recordID})
|
after := unittest.AssertExistsAndLoadBean(t, &ActionRunner{ID: recordID})
|
||||||
assert.EqualValues(t, newOwnerID, after.OwnerID)
|
assert.Equal(t, newOwnerID, after.OwnerID)
|
||||||
assert.EqualValues(t, newRepoID, after.RepoID)
|
assert.Equal(t, newRepoID, after.RepoID)
|
||||||
assert.EqualValues(t, newName, after.Name)
|
assert.Equal(t, newName, after.Name)
|
||||||
assert.EqualValues(t, newVersion, after.Version)
|
assert.Equal(t, newVersion, after.Version)
|
||||||
assert.EqualValues(t, labelsCopy, after.AgentLabels)
|
assert.Equal(t, labelsCopy, after.AgentLabels)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestActions_RegisterRunner_UpdateWithoutLabels(t *testing.T) {
|
func TestActions_RegisterRunner_UpdateWithoutLabels(t *testing.T) {
|
||||||
|
@ -162,17 +162,17 @@ func TestActions_RegisterRunner_UpdateWithoutLabels(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
// Check that the returned record has been updated, except for the labels
|
// Check that the returned record has been updated, except for the labels
|
||||||
assert.EqualValues(t, newOwnerID, runner.OwnerID)
|
assert.Equal(t, newOwnerID, runner.OwnerID)
|
||||||
assert.EqualValues(t, newRepoID, runner.RepoID)
|
assert.Equal(t, newRepoID, runner.RepoID)
|
||||||
assert.EqualValues(t, newName, runner.Name)
|
assert.Equal(t, newName, runner.Name)
|
||||||
assert.EqualValues(t, newVersion, runner.Version)
|
assert.Equal(t, newVersion, runner.Version)
|
||||||
assert.EqualValues(t, before.AgentLabels, runner.AgentLabels)
|
assert.Equal(t, before.AgentLabels, runner.AgentLabels)
|
||||||
|
|
||||||
// Check that whatever is in the DB has been updated, except for the labels
|
// Check that whatever is in the DB has been updated, except for the labels
|
||||||
after := unittest.AssertExistsAndLoadBean(t, &ActionRunner{ID: recordID})
|
after := unittest.AssertExistsAndLoadBean(t, &ActionRunner{ID: recordID})
|
||||||
assert.EqualValues(t, newOwnerID, after.OwnerID)
|
assert.Equal(t, newOwnerID, after.OwnerID)
|
||||||
assert.EqualValues(t, newRepoID, after.RepoID)
|
assert.Equal(t, newRepoID, after.RepoID)
|
||||||
assert.EqualValues(t, newName, after.Name)
|
assert.Equal(t, newName, after.Name)
|
||||||
assert.EqualValues(t, newVersion, after.Version)
|
assert.Equal(t, newVersion, after.Version)
|
||||||
assert.EqualValues(t, before.AgentLabels, after.AgentLabels)
|
assert.Equal(t, before.AgentLabels, after.AgentLabels)
|
||||||
}
|
}
|
||||||
|
|
|
@ -87,9 +87,10 @@ func (r *ActionRunner) BelongsToOwnerType() types.OwnerType {
|
||||||
return types.OwnerTypeRepository
|
return types.OwnerTypeRepository
|
||||||
}
|
}
|
||||||
if r.OwnerID != 0 {
|
if r.OwnerID != 0 {
|
||||||
if r.Owner.Type == user_model.UserTypeOrganization {
|
switch r.Owner.Type {
|
||||||
|
case user_model.UserTypeOrganization:
|
||||||
return types.OwnerTypeOrganization
|
return types.OwnerTypeOrganization
|
||||||
} else if r.Owner.Type == user_model.UserTypeIndividual {
|
case user_model.UserTypeIndividual:
|
||||||
return types.OwnerTypeIndividual
|
return types.OwnerTypeIndividual
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,7 @@ func TestGetLatestRunnerToken(t *testing.T) {
|
||||||
token := unittest.AssertExistsAndLoadBean(t, &ActionRunnerToken{ID: 3})
|
token := unittest.AssertExistsAndLoadBean(t, &ActionRunnerToken{ID: 3})
|
||||||
expectedToken, err := GetLatestRunnerToken(db.DefaultContext, 1, 0)
|
expectedToken, err := GetLatestRunnerToken(db.DefaultContext, 1, 0)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, expectedToken, token)
|
assert.Equal(t, expectedToken, token)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestNewRunnerToken(t *testing.T) {
|
func TestNewRunnerToken(t *testing.T) {
|
||||||
|
@ -27,7 +27,7 @@ func TestNewRunnerToken(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
expectedToken, err := GetLatestRunnerToken(db.DefaultContext, 1, 0)
|
expectedToken, err := GetLatestRunnerToken(db.DefaultContext, 1, 0)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, expectedToken, token)
|
assert.Equal(t, expectedToken, token)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestUpdateRunnerToken(t *testing.T) {
|
func TestUpdateRunnerToken(t *testing.T) {
|
||||||
|
@ -37,5 +37,5 @@ func TestUpdateRunnerToken(t *testing.T) {
|
||||||
require.NoError(t, UpdateRunnerToken(db.DefaultContext, token))
|
require.NoError(t, UpdateRunnerToken(db.DefaultContext, token))
|
||||||
expectedToken, err := GetLatestRunnerToken(db.DefaultContext, 1, 0)
|
expectedToken, err := GetLatestRunnerToken(db.DefaultContext, 1, 0)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, expectedToken, token)
|
assert.Equal(t, expectedToken, token)
|
||||||
}
|
}
|
||||||
|
|
|
@ -56,7 +56,7 @@ func TestGetFeeds(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
if assert.Len(t, actions, 1) {
|
if assert.Len(t, actions, 1) {
|
||||||
assert.EqualValues(t, 1, actions[0].ID)
|
assert.EqualValues(t, 1, actions[0].ID)
|
||||||
assert.EqualValues(t, user.ID, actions[0].UserID)
|
assert.Equal(t, user.ID, actions[0].UserID)
|
||||||
}
|
}
|
||||||
assert.Equal(t, int64(1), count)
|
assert.Equal(t, int64(1), count)
|
||||||
|
|
||||||
|
@ -133,7 +133,7 @@ func TestGetFeeds2(t *testing.T) {
|
||||||
assert.Len(t, actions, 1)
|
assert.Len(t, actions, 1)
|
||||||
if assert.Len(t, actions, 1) {
|
if assert.Len(t, actions, 1) {
|
||||||
assert.EqualValues(t, 2, actions[0].ID)
|
assert.EqualValues(t, 2, actions[0].ID)
|
||||||
assert.EqualValues(t, org.ID, actions[0].UserID)
|
assert.Equal(t, org.ID, actions[0].UserID)
|
||||||
}
|
}
|
||||||
assert.Equal(t, int64(1), count)
|
assert.Equal(t, int64(1), count)
|
||||||
|
|
||||||
|
@ -291,7 +291,7 @@ func TestDeleteIssueActions(t *testing.T) {
|
||||||
|
|
||||||
// load an issue
|
// load an issue
|
||||||
issue := unittest.AssertExistsAndLoadBean(t, &issue_model.Issue{ID: 4})
|
issue := unittest.AssertExistsAndLoadBean(t, &issue_model.Issue{ID: 4})
|
||||||
assert.NotEqualValues(t, issue.ID, issue.Index) // it needs to use different ID/Index to test the DeleteIssueActions to delete some actions by IssueIndex
|
assert.NotEqual(t, issue.ID, issue.Index) // it needs to use different ID/Index to test the DeleteIssueActions to delete some actions by IssueIndex
|
||||||
|
|
||||||
// insert a comment
|
// insert a comment
|
||||||
err := db.Insert(db.DefaultContext, &issue_model.Comment{Type: issue_model.CommentTypeComment, IssueID: issue.ID})
|
err := db.Insert(db.DefaultContext, &issue_model.Comment{Type: issue_model.CommentTypeComment, IssueID: issue.ID})
|
||||||
|
|
|
@ -107,7 +107,7 @@ func createOrUpdateIssueNotifications(ctx context.Context, issueID, commentID, n
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
toNotify.AddMultiple(issueWatches...)
|
toNotify.AddMultiple(issueWatches...)
|
||||||
if !(issue.IsPull && issues_model.HasWorkInProgressPrefix(issue.Title)) {
|
if !issue.IsPull || !issues_model.HasWorkInProgressPrefix(issue.Title) {
|
||||||
repoWatches, err := repo_model.GetRepoWatchersIDs(ctx, issue.RepoID)
|
repoWatches, err := repo_model.GetRepoWatchersIDs(ctx, issue.RepoID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|
|
@ -45,11 +45,11 @@ func TestNotificationsForUser(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
if assert.Len(t, notfs, 3) {
|
if assert.Len(t, notfs, 3) {
|
||||||
assert.EqualValues(t, 5, notfs[0].ID)
|
assert.EqualValues(t, 5, notfs[0].ID)
|
||||||
assert.EqualValues(t, user.ID, notfs[0].UserID)
|
assert.Equal(t, user.ID, notfs[0].UserID)
|
||||||
assert.EqualValues(t, 4, notfs[1].ID)
|
assert.EqualValues(t, 4, notfs[1].ID)
|
||||||
assert.EqualValues(t, user.ID, notfs[1].UserID)
|
assert.Equal(t, user.ID, notfs[1].UserID)
|
||||||
assert.EqualValues(t, 2, notfs[2].ID)
|
assert.EqualValues(t, 2, notfs[2].ID)
|
||||||
assert.EqualValues(t, user.ID, notfs[2].UserID)
|
assert.Equal(t, user.ID, notfs[2].UserID)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59,7 +59,7 @@ func TestNotification_GetRepo(t *testing.T) {
|
||||||
repo, err := notf.GetRepo(db.DefaultContext)
|
repo, err := notf.GetRepo(db.DefaultContext)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, repo, notf.Repository)
|
assert.Equal(t, repo, notf.Repository)
|
||||||
assert.EqualValues(t, notf.RepoID, repo.ID)
|
assert.Equal(t, notf.RepoID, repo.ID)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestNotification_GetIssue(t *testing.T) {
|
func TestNotification_GetIssue(t *testing.T) {
|
||||||
|
@ -68,7 +68,7 @@ func TestNotification_GetIssue(t *testing.T) {
|
||||||
issue, err := notf.GetIssue(db.DefaultContext)
|
issue, err := notf.GetIssue(db.DefaultContext)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, issue, notf.Issue)
|
assert.Equal(t, issue, notf.Issue)
|
||||||
assert.EqualValues(t, notf.IssueID, issue.ID)
|
assert.Equal(t, notf.IssueID, issue.ID)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGetNotificationCount(t *testing.T) {
|
func TestGetNotificationCount(t *testing.T) {
|
||||||
|
@ -137,5 +137,5 @@ func TestSetIssueReadBy(t *testing.T) {
|
||||||
|
|
||||||
nt, err := activities_model.GetIssueNotification(db.DefaultContext, user.ID, issue.ID)
|
nt, err := activities_model.GetIssueNotification(db.DefaultContext, user.ID, issue.ID)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, activities_model.NotificationStatusRead, nt.Status)
|
assert.Equal(t, activities_model.NotificationStatusRead, nt.Status)
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,8 +23,8 @@ func TestGetActivityStats(t *testing.T) {
|
||||||
stats, err := GetActivityStats(db.DefaultContext, repo, time.Unix(0, 0), true, true, true, true)
|
stats, err := GetActivityStats(db.DefaultContext, repo, time.Unix(0, 0), true, true, true, true)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
assert.EqualValues(t, 2, stats.ActiveIssueCount())
|
assert.Equal(t, 2, stats.ActiveIssueCount())
|
||||||
assert.EqualValues(t, 2, stats.OpenedIssueCount())
|
assert.Equal(t, 2, stats.OpenedIssueCount())
|
||||||
assert.EqualValues(t, 0, stats.ClosedIssueCount())
|
assert.Equal(t, 0, stats.ClosedIssueCount())
|
||||||
assert.EqualValues(t, 3, stats.ActivePRCount())
|
assert.Equal(t, 3, stats.ActivePRCount())
|
||||||
}
|
}
|
||||||
|
|
|
@ -293,7 +293,7 @@ heiQvzkApQup5c+BhH5zFDFdKJ2CBByxw9+7QjMFI/wgLixKuE0Ob2kAokXf7RlB
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Len(t, keys, 1)
|
assert.Len(t, keys, 1)
|
||||||
assert.Len(t, keys[0].Emails, 1)
|
assert.Len(t, keys[0].Emails, 1)
|
||||||
assert.EqualValues(t, "no-reply@golang.com", keys[0].Emails[0].Email)
|
assert.Equal(t, "no-reply@golang.com", keys[0].Emails[0].Email)
|
||||||
|
|
||||||
primaryKeyID := "D68172F48E9C5283"
|
primaryKeyID := "D68172F48E9C5283"
|
||||||
// Assert primary key
|
// Assert primary key
|
||||||
|
|
|
@ -44,7 +44,7 @@ func Test_SSHParsePublicKey(t *testing.T) {
|
||||||
keyTypeN, lengthN, err := SSHNativeParsePublicKey(tc.content)
|
keyTypeN, lengthN, err := SSHNativeParsePublicKey(tc.content)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, tc.keyType, keyTypeN)
|
assert.Equal(t, tc.keyType, keyTypeN)
|
||||||
assert.EqualValues(t, tc.length, lengthN)
|
assert.Equal(t, tc.length, lengthN)
|
||||||
})
|
})
|
||||||
if tc.skipSSHKeygen {
|
if tc.skipSSHKeygen {
|
||||||
return
|
return
|
||||||
|
@ -54,19 +54,19 @@ func Test_SSHParsePublicKey(t *testing.T) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
// Some servers do not support ecdsa format.
|
// Some servers do not support ecdsa format.
|
||||||
if !strings.Contains(err.Error(), "line 1 too long:") {
|
if !strings.Contains(err.Error(), "line 1 too long:") {
|
||||||
assert.FailNow(t, "%v", err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
assert.Equal(t, tc.keyType, keyTypeK)
|
assert.Equal(t, tc.keyType, keyTypeK)
|
||||||
assert.EqualValues(t, tc.length, lengthK)
|
assert.Equal(t, tc.length, lengthK)
|
||||||
})
|
})
|
||||||
t.Run("SSHParseKeyNative", func(t *testing.T) {
|
t.Run("SSHParseKeyNative", func(t *testing.T) {
|
||||||
keyTypeK, lengthK, err := SSHNativeParsePublicKey(tc.content)
|
keyTypeK, lengthK, err := SSHNativeParsePublicKey(tc.content)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
assert.FailNow(t, "%v", err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
assert.Equal(t, tc.keyType, keyTypeK)
|
assert.Equal(t, tc.keyType, keyTypeK)
|
||||||
assert.EqualValues(t, tc.length, lengthK)
|
assert.Equal(t, tc.length, lengthK)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -130,7 +130,7 @@ func TestOAuth2Application_CreateGrant(t *testing.T) {
|
||||||
assert.NotNil(t, grant)
|
assert.NotNil(t, grant)
|
||||||
assert.Equal(t, int64(2), grant.UserID)
|
assert.Equal(t, int64(2), grant.UserID)
|
||||||
assert.Equal(t, int64(1), grant.ApplicationID)
|
assert.Equal(t, int64(1), grant.ApplicationID)
|
||||||
assert.Equal(t, "", grant.Scope)
|
assert.Empty(t, grant.Scope)
|
||||||
}
|
}
|
||||||
|
|
||||||
//////////////////// Grant
|
//////////////////// Grant
|
||||||
|
@ -271,7 +271,7 @@ func TestOAuth2AuthorizationCode_TableName(t *testing.T) {
|
||||||
func TestBuiltinApplicationsClientIDs(t *testing.T) {
|
func TestBuiltinApplicationsClientIDs(t *testing.T) {
|
||||||
clientIDs := auth_model.BuiltinApplicationsClientIDs()
|
clientIDs := auth_model.BuiltinApplicationsClientIDs()
|
||||||
slices.Sort(clientIDs)
|
slices.Sort(clientIDs)
|
||||||
assert.EqualValues(t, []string{"a4792ccc-144e-407e-86c9-5e7d8d9c3269", "d57cb8c4-630c-4168-8324-ec79935e18d4", "e90ee53c-94e2-48ac-9358-a874fb9e0662"}, clientIDs)
|
assert.Equal(t, []string{"a4792ccc-144e-407e-86c9-5e7d8d9c3269", "d57cb8c4-630c-4168-8324-ec79935e18d4", "e90ee53c-94e2-48ac-9358-a874fb9e0662"}, clientIDs)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestOrphanedOAuth2Applications(t *testing.T) {
|
func TestOrphanedOAuth2Applications(t *testing.T) {
|
||||||
|
|
|
@ -37,7 +37,7 @@ func TestAuthSession(t *testing.T) {
|
||||||
// New session is created.
|
// New session is created.
|
||||||
sess, err := auth.ReadSession(db.DefaultContext, key)
|
sess, err := auth.ReadSession(db.DefaultContext, key)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, key, sess.Key)
|
assert.Equal(t, key, sess.Key)
|
||||||
assert.Empty(t, sess.Data)
|
assert.Empty(t, sess.Data)
|
||||||
assert.EqualValues(t, now.Unix(), sess.Expiry)
|
assert.EqualValues(t, now.Unix(), sess.Expiry)
|
||||||
|
|
||||||
|
@ -67,8 +67,8 @@ func TestAuthSession(t *testing.T) {
|
||||||
// Ensure data is updated and expiry is set from the update session call.
|
// Ensure data is updated and expiry is set from the update session call.
|
||||||
sess, err := auth.ReadSession(db.DefaultContext, key)
|
sess, err := auth.ReadSession(db.DefaultContext, key)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, key, sess.Key)
|
assert.Equal(t, key, sess.Key)
|
||||||
assert.EqualValues(t, data, sess.Data)
|
assert.Equal(t, data, sess.Data)
|
||||||
assert.EqualValues(t, now.Unix(), sess.Expiry)
|
assert.EqualValues(t, now.Unix(), sess.Expiry)
|
||||||
|
|
||||||
timeutil.MockSet(now)
|
timeutil.MockSet(now)
|
||||||
|
|
|
@ -56,7 +56,7 @@ func TestDeleteOrphanedObjects(t *testing.T) {
|
||||||
|
|
||||||
countAfter, err := db.GetEngine(db.DefaultContext).Count(&issues_model.PullRequest{})
|
countAfter, err := db.GetEngine(db.DefaultContext).Count(&issues_model.PullRequest{})
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, countBefore, countAfter)
|
assert.Equal(t, countBefore, countAfter)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestPrimaryKeys(t *testing.T) {
|
func TestPrimaryKeys(t *testing.T) {
|
||||||
|
|
|
@ -48,6 +48,6 @@ func TestFind(t *testing.T) {
|
||||||
|
|
||||||
repoUnits, newCnt, err := db.FindAndCount[repo_model.RepoUnit](db.DefaultContext, opts)
|
repoUnits, newCnt, err := db.FindAndCount[repo_model.RepoUnit](db.DefaultContext, opts)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, cnt, newCnt)
|
assert.Equal(t, cnt, newCnt)
|
||||||
assert.Len(t, repoUnits, repoUnitCount)
|
assert.Len(t, repoUnits, repoUnitCount)
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,15 +32,15 @@ func TestDbfsBasic(t *testing.T) {
|
||||||
|
|
||||||
n, err := f.Write([]byte("0123456789")) // blocks: 0123 4567 89
|
n, err := f.Write([]byte("0123456789")) // blocks: 0123 4567 89
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, 10, n)
|
assert.Equal(t, 10, n)
|
||||||
|
|
||||||
_, err = f.Seek(0, io.SeekStart)
|
_, err = f.Seek(0, io.SeekStart)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
buf, err := io.ReadAll(f)
|
buf, err := io.ReadAll(f)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, 10, n)
|
assert.Equal(t, 10, n)
|
||||||
assert.EqualValues(t, "0123456789", string(buf))
|
assert.Equal(t, "0123456789", string(buf))
|
||||||
|
|
||||||
// write some new data
|
// write some new data
|
||||||
_, err = f.Seek(1, io.SeekStart)
|
_, err = f.Seek(1, io.SeekStart)
|
||||||
|
@ -51,14 +51,14 @@ func TestDbfsBasic(t *testing.T) {
|
||||||
// read from offset
|
// read from offset
|
||||||
buf, err = io.ReadAll(f)
|
buf, err = io.ReadAll(f)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, "9", string(buf))
|
assert.Equal(t, "9", string(buf))
|
||||||
|
|
||||||
// read all
|
// read all
|
||||||
_, err = f.Seek(0, io.SeekStart)
|
_, err = f.Seek(0, io.SeekStart)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
buf, err = io.ReadAll(f)
|
buf, err = io.ReadAll(f)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, "0bcdefghi9", string(buf))
|
assert.Equal(t, "0bcdefghi9", string(buf))
|
||||||
|
|
||||||
// write to new size
|
// write to new size
|
||||||
_, err = f.Seek(-1, io.SeekEnd)
|
_, err = f.Seek(-1, io.SeekEnd)
|
||||||
|
@ -69,7 +69,7 @@ func TestDbfsBasic(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
buf, err = io.ReadAll(f)
|
buf, err = io.ReadAll(f)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, "0bcdefghiJKLMNOP", string(buf))
|
assert.Equal(t, "0bcdefghiJKLMNOP", string(buf))
|
||||||
|
|
||||||
// write beyond EOF and fill with zero
|
// write beyond EOF and fill with zero
|
||||||
_, err = f.Seek(5, io.SeekCurrent)
|
_, err = f.Seek(5, io.SeekCurrent)
|
||||||
|
@ -80,7 +80,7 @@ func TestDbfsBasic(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
buf, err = io.ReadAll(f)
|
buf, err = io.ReadAll(f)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, "0bcdefghiJKLMNOP\x00\x00\x00\x00\x00xyzu", string(buf))
|
assert.Equal(t, "0bcdefghiJKLMNOP\x00\x00\x00\x00\x00xyzu", string(buf))
|
||||||
|
|
||||||
// write to the block with zeros
|
// write to the block with zeros
|
||||||
_, err = f.Seek(-6, io.SeekCurrent)
|
_, err = f.Seek(-6, io.SeekCurrent)
|
||||||
|
@ -91,7 +91,7 @@ func TestDbfsBasic(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
buf, err = io.ReadAll(f)
|
buf, err = io.ReadAll(f)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, "0bcdefghiJKLMNOP\x00\x00\x00ABCDzu", string(buf))
|
assert.Equal(t, "0bcdefghiJKLMNOP\x00\x00\x00ABCDzu", string(buf))
|
||||||
|
|
||||||
require.NoError(t, f.Close())
|
require.NoError(t, f.Close())
|
||||||
|
|
||||||
|
@ -118,7 +118,7 @@ func TestDbfsBasic(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
stat, err := f.Stat()
|
stat, err := f.Stat()
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, "test.txt", stat.Name())
|
assert.Equal(t, "test.txt", stat.Name())
|
||||||
assert.EqualValues(t, 0, stat.Size())
|
assert.EqualValues(t, 0, stat.Size())
|
||||||
_, err = f.Write([]byte("0123456789"))
|
_, err = f.Write([]byte("0123456789"))
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
@ -145,7 +145,7 @@ func TestDbfsReadWrite(t *testing.T) {
|
||||||
|
|
||||||
line, err := f2r.ReadString('\n')
|
line, err := f2r.ReadString('\n')
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, "line 1\n", line)
|
assert.Equal(t, "line 1\n", line)
|
||||||
_, err = f2r.ReadString('\n')
|
_, err = f2r.ReadString('\n')
|
||||||
require.ErrorIs(t, err, io.EOF)
|
require.ErrorIs(t, err, io.EOF)
|
||||||
|
|
||||||
|
@ -154,7 +154,7 @@ func TestDbfsReadWrite(t *testing.T) {
|
||||||
|
|
||||||
line, err = f2r.ReadString('\n')
|
line, err = f2r.ReadString('\n')
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, "line 2\n", line)
|
assert.Equal(t, "line 2\n", line)
|
||||||
_, err = f2r.ReadString('\n')
|
_, err = f2r.ReadString('\n')
|
||||||
require.ErrorIs(t, err, io.EOF)
|
require.ErrorIs(t, err, io.EOF)
|
||||||
}
|
}
|
||||||
|
@ -187,5 +187,5 @@ func TestDbfsSeekWrite(t *testing.T) {
|
||||||
|
|
||||||
buf, err := io.ReadAll(fr)
|
buf, err := io.ReadAll(fr)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, "111333", string(buf))
|
assert.Equal(t, "111333", string(buf))
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,7 +22,7 @@ func TestForgejoSemVerSetGet(t *testing.T) {
|
||||||
require.NoError(t, SetVersionString(ctx, newVersion.String()))
|
require.NoError(t, SetVersionString(ctx, newVersion.String()))
|
||||||
databaseVersion, err := GetVersion(ctx)
|
databaseVersion, err := GetVersion(ctx)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, newVersion.String(), databaseVersion.String())
|
assert.Equal(t, newVersion.String(), databaseVersion.String())
|
||||||
assert.True(t, newVersion.Equal(databaseVersion))
|
assert.True(t, newVersion.Equal(databaseVersion))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,12 +36,12 @@ func TestForgejoSemVerMissing(t *testing.T) {
|
||||||
|
|
||||||
v, err := GetVersion(ctx)
|
v, err := GetVersion(ctx)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, "1.0.0", v.String())
|
assert.Equal(t, "1.0.0", v.String())
|
||||||
|
|
||||||
_, err = e.Exec("drop table forgejo_sem_ver")
|
_, err = e.Exec("drop table forgejo_sem_ver")
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
v, err = GetVersion(ctx)
|
v, err = GetVersion(ctx)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, "1.0.0", v.String())
|
assert.Equal(t, "1.0.0", v.String())
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,7 @@ func Test_RemoveSSHSignaturesFromReleaseNotes(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Len(t, releases, 3)
|
assert.Len(t, releases, 3)
|
||||||
|
|
||||||
assert.Equal(t, "", releases[0].Note)
|
assert.Empty(t, releases[0].Note)
|
||||||
assert.Equal(t, "A message.\n", releases[1].Note)
|
assert.Equal(t, "A message.\n", releases[1].Note)
|
||||||
assert.Equal(t, "no signature present here", releases[2].Note)
|
assert.Equal(t, "no signature present here", releases[2].Note)
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,7 +22,7 @@ import (
|
||||||
func TestAddDeletedBranch(t *testing.T) {
|
func TestAddDeletedBranch(t *testing.T) {
|
||||||
require.NoError(t, unittest.PrepareTestDatabase())
|
require.NoError(t, unittest.PrepareTestDatabase())
|
||||||
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1})
|
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1})
|
||||||
assert.EqualValues(t, git.Sha1ObjectFormat.Name(), repo.ObjectFormatName)
|
assert.Equal(t, git.Sha1ObjectFormat.Name(), repo.ObjectFormatName)
|
||||||
firstBranch := unittest.AssertExistsAndLoadBean(t, &git_model.Branch{ID: 1})
|
firstBranch := unittest.AssertExistsAndLoadBean(t, &git_model.Branch{ID: 1})
|
||||||
|
|
||||||
assert.True(t, firstBranch.IsDeleted)
|
assert.True(t, firstBranch.IsDeleted)
|
||||||
|
|
|
@ -42,7 +42,7 @@ func TestIterateRepositoryIDsWithLFSMetaObjects(t *testing.T) {
|
||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, expected, cases)
|
assert.Equal(t, expected, cases)
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("Low batch size", func(t *testing.T) {
|
t.Run("Low batch size", func(t *testing.T) {
|
||||||
|
@ -54,7 +54,7 @@ func TestIterateRepositoryIDsWithLFSMetaObjects(t *testing.T) {
|
||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, expected, cases)
|
assert.Equal(t, expected, cases)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -72,7 +72,7 @@ func TestIterateLFSMetaObjectsForRepo(t *testing.T) {
|
||||||
return nil
|
return nil
|
||||||
}, &IterateLFSMetaObjectsForRepoOptions{})
|
}, &IterateLFSMetaObjectsForRepoOptions{})
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, expectedIDs, actualIDs)
|
assert.Equal(t, expectedIDs, actualIDs)
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("Low batch size", func(t *testing.T) {
|
t.Run("Low batch size", func(t *testing.T) {
|
||||||
|
@ -84,7 +84,7 @@ func TestIterateLFSMetaObjectsForRepo(t *testing.T) {
|
||||||
return nil
|
return nil
|
||||||
}, &IterateLFSMetaObjectsForRepoOptions{})
|
}, &IterateLFSMetaObjectsForRepoOptions{})
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, expectedIDs, actualIDs)
|
assert.Equal(t, expectedIDs, actualIDs)
|
||||||
|
|
||||||
t.Run("Batch handles updates", func(t *testing.T) {
|
t.Run("Batch handles updates", func(t *testing.T) {
|
||||||
actualIDs := []int64{}
|
actualIDs := []int64{}
|
||||||
|
@ -96,7 +96,7 @@ func TestIterateLFSMetaObjectsForRepo(t *testing.T) {
|
||||||
return nil
|
return nil
|
||||||
}, &IterateLFSMetaObjectsForRepoOptions{})
|
}, &IterateLFSMetaObjectsForRepoOptions{})
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, expectedIDs, actualIDs)
|
assert.Equal(t, expectedIDs, actualIDs)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -71,7 +71,7 @@ func TestBranchRuleMatchPriority(t *testing.T) {
|
||||||
require.Error(t, fmt.Errorf("no matched rules but expected %s[%d]", kase.Rules[kase.ExpectedMatchIdx], kase.ExpectedMatchIdx))
|
require.Error(t, fmt.Errorf("no matched rules but expected %s[%d]", kase.Rules[kase.ExpectedMatchIdx], kase.ExpectedMatchIdx))
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
assert.EqualValues(t, kase.Rules[kase.ExpectedMatchIdx], matchedPB.RuleName)
|
assert.Equal(t, kase.Rules[kase.ExpectedMatchIdx], matchedPB.RuleName)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -64,6 +64,6 @@ func TestBranchRuleMatch(t *testing.T) {
|
||||||
|
|
||||||
for _, kase := range kases {
|
for _, kase := range kases {
|
||||||
pb := ProtectedBranch{RuleName: kase.Rule}
|
pb := ProtectedBranch{RuleName: kase.Rule}
|
||||||
assert.EqualValues(t, kase.ExpectedMatch, pb.Match(kase.BranchName), "%s - %s", kase.BranchName, kase.Rule)
|
assert.Equal(t, kase.ExpectedMatch, pb.Match(kase.BranchName), "%s - %s", kase.BranchName, kase.Rule)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,11 +50,12 @@ func (agg *ActionAggregator) aggregateAction(c *Comment, index int) {
|
||||||
}
|
}
|
||||||
agg.EndInd = index
|
agg.EndInd = index
|
||||||
|
|
||||||
if c.Type == CommentTypeClose {
|
switch c.Type {
|
||||||
|
case CommentTypeClose:
|
||||||
agg.IsClosed = true
|
agg.IsClosed = true
|
||||||
} else if c.Type == CommentTypeReopen {
|
case CommentTypeReopen:
|
||||||
agg.IsClosed = false
|
agg.IsClosed = false
|
||||||
} else if c.Type == CommentTypeReviewRequest {
|
case CommentTypeReviewRequest:
|
||||||
if c.AssigneeID > 0 {
|
if c.AssigneeID > 0 {
|
||||||
req := RequestReviewTarget{User: c.Assignee}
|
req := RequestReviewTarget{User: c.Assignee}
|
||||||
if c.RemovedAssignee {
|
if c.RemovedAssignee {
|
||||||
|
@ -78,13 +79,13 @@ func (agg *ActionAggregator) aggregateAction(c *Comment, index int) {
|
||||||
for _, r := range c.AddedRequestReview {
|
for _, r := range c.AddedRequestReview {
|
||||||
agg.addReviewRequest(r)
|
agg.addReviewRequest(r)
|
||||||
}
|
}
|
||||||
} else if c.Type == CommentTypeLabel {
|
case CommentTypeLabel:
|
||||||
if c.Content == "1" {
|
if c.Content == "1" {
|
||||||
agg.addLabel(c.Label)
|
agg.addLabel(c.Label)
|
||||||
} else {
|
} else {
|
||||||
agg.delLabel(c.Label)
|
agg.delLabel(c.Label)
|
||||||
}
|
}
|
||||||
} else if c.Type == CommentTypeAggregator {
|
case CommentTypeAggregator:
|
||||||
agg.Merge(c.Aggregator)
|
agg.Merge(c.Aggregator)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,10 +36,10 @@ func TestCreateComment(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
then := time.Now().Unix()
|
then := time.Now().Unix()
|
||||||
|
|
||||||
assert.EqualValues(t, issues_model.CommentTypeComment, comment.Type)
|
assert.Equal(t, issues_model.CommentTypeComment, comment.Type)
|
||||||
assert.EqualValues(t, "Hello", comment.Content)
|
assert.Equal(t, "Hello", comment.Content)
|
||||||
assert.EqualValues(t, issue.ID, comment.IssueID)
|
assert.Equal(t, issue.ID, comment.IssueID)
|
||||||
assert.EqualValues(t, doer.ID, comment.PosterID)
|
assert.Equal(t, doer.ID, comment.PosterID)
|
||||||
unittest.AssertInt64InRange(t, now, then, int64(comment.CreatedUnix))
|
unittest.AssertInt64InRange(t, now, then, int64(comment.CreatedUnix))
|
||||||
unittest.AssertExistsAndLoadBean(t, comment) // assert actually added to DB
|
unittest.AssertExistsAndLoadBean(t, comment) // assert actually added to DB
|
||||||
|
|
||||||
|
@ -95,7 +95,7 @@ func TestMigrate_InsertIssueComments(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
issueModified := unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: 1})
|
issueModified := unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: 1})
|
||||||
assert.EqualValues(t, issue.NumComments+1, issueModified.NumComments)
|
assert.Equal(t, issue.NumComments+1, issueModified.NumComments)
|
||||||
|
|
||||||
unittest.CheckConsistencyFor(t, &issues_model.Issue{})
|
unittest.CheckConsistencyFor(t, &issues_model.Issue{})
|
||||||
}
|
}
|
||||||
|
@ -132,5 +132,5 @@ func Test_UpdateIssueNumComments(t *testing.T) {
|
||||||
|
|
||||||
require.NoError(t, issues_model.UpdateIssueNumComments(db.DefaultContext, issue2.ID))
|
require.NoError(t, issues_model.UpdateIssueNumComments(db.DefaultContext, issue2.ID))
|
||||||
issue2 = unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: 2})
|
issue2 = unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: 2})
|
||||||
assert.EqualValues(t, 1, issue2.NumComments)
|
assert.Equal(t, 1, issue2.NumComments)
|
||||||
}
|
}
|
||||||
|
|
|
@ -646,7 +646,7 @@ func (issue *Issue) BlockedByDependencies(ctx context.Context, opts db.ListOptio
|
||||||
err = sess.Find(&issueDeps)
|
err = sess.Find(&issueDeps)
|
||||||
|
|
||||||
for _, depInfo := range issueDeps {
|
for _, depInfo := range issueDeps {
|
||||||
depInfo.Issue.Repo = &depInfo.Repository
|
depInfo.Repo = &depInfo.Repository
|
||||||
}
|
}
|
||||||
|
|
||||||
return issueDeps, err
|
return issueDeps, err
|
||||||
|
@ -664,7 +664,7 @@ func (issue *Issue) BlockingDependencies(ctx context.Context) (issueDeps []*Depe
|
||||||
Find(&issueDeps)
|
Find(&issueDeps)
|
||||||
|
|
||||||
for _, depInfo := range issueDeps {
|
for _, depInfo := range issueDeps {
|
||||||
depInfo.Issue.Repo = &depInfo.Repository
|
depInfo.Repo = &depInfo.Repository
|
||||||
}
|
}
|
||||||
|
|
||||||
return issueDeps, err
|
return issueDeps, err
|
||||||
|
|
|
@ -29,7 +29,7 @@ func TestIssueList_LoadRepositories(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Len(t, repos, 2)
|
assert.Len(t, repos, 2)
|
||||||
for _, issue := range issueList {
|
for _, issue := range issueList {
|
||||||
assert.EqualValues(t, issue.RepoID, issue.Repo.ID)
|
assert.Equal(t, issue.RepoID, issue.Repo.ID)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -43,28 +43,28 @@ func TestIssueList_LoadAttributes(t *testing.T) {
|
||||||
|
|
||||||
require.NoError(t, issueList.LoadAttributes(db.DefaultContext))
|
require.NoError(t, issueList.LoadAttributes(db.DefaultContext))
|
||||||
for _, issue := range issueList {
|
for _, issue := range issueList {
|
||||||
assert.EqualValues(t, issue.RepoID, issue.Repo.ID)
|
assert.Equal(t, issue.RepoID, issue.Repo.ID)
|
||||||
for _, label := range issue.Labels {
|
for _, label := range issue.Labels {
|
||||||
assert.EqualValues(t, issue.RepoID, label.RepoID)
|
assert.Equal(t, issue.RepoID, label.RepoID)
|
||||||
unittest.AssertExistsAndLoadBean(t, &issues_model.IssueLabel{IssueID: issue.ID, LabelID: label.ID})
|
unittest.AssertExistsAndLoadBean(t, &issues_model.IssueLabel{IssueID: issue.ID, LabelID: label.ID})
|
||||||
}
|
}
|
||||||
if issue.PosterID > 0 {
|
if issue.PosterID > 0 {
|
||||||
assert.EqualValues(t, issue.PosterID, issue.Poster.ID)
|
assert.Equal(t, issue.PosterID, issue.Poster.ID)
|
||||||
}
|
}
|
||||||
if issue.AssigneeID > 0 {
|
if issue.AssigneeID > 0 {
|
||||||
assert.EqualValues(t, issue.AssigneeID, issue.Assignee.ID)
|
assert.Equal(t, issue.AssigneeID, issue.Assignee.ID)
|
||||||
}
|
}
|
||||||
if issue.MilestoneID > 0 {
|
if issue.MilestoneID > 0 {
|
||||||
assert.EqualValues(t, issue.MilestoneID, issue.Milestone.ID)
|
assert.Equal(t, issue.MilestoneID, issue.Milestone.ID)
|
||||||
}
|
}
|
||||||
if issue.IsPull {
|
if issue.IsPull {
|
||||||
assert.EqualValues(t, issue.ID, issue.PullRequest.IssueID)
|
assert.Equal(t, issue.ID, issue.PullRequest.IssueID)
|
||||||
}
|
}
|
||||||
for _, attachment := range issue.Attachments {
|
for _, attachment := range issue.Attachments {
|
||||||
assert.EqualValues(t, issue.ID, attachment.IssueID)
|
assert.Equal(t, issue.ID, attachment.IssueID)
|
||||||
}
|
}
|
||||||
for _, comment := range issue.Comments {
|
for _, comment := range issue.Comments {
|
||||||
assert.EqualValues(t, issue.ID, comment.IssueID)
|
assert.Equal(t, issue.ID, comment.IssueID)
|
||||||
}
|
}
|
||||||
if issue.ID == int64(1) {
|
if issue.ID == int64(1) {
|
||||||
assert.Equal(t, int64(400), issue.TotalTrackedTime)
|
assert.Equal(t, int64(400), issue.TotalTrackedTime)
|
||||||
|
|
|
@ -39,15 +39,15 @@ func TestPrivateIssueProjects(t *testing.T) {
|
||||||
|
|
||||||
issuesNum, err := issues.NumIssuesInProject(db.DefaultContext, orgProject, user2, org, optional.None[bool]())
|
issuesNum, err := issues.NumIssuesInProject(db.DefaultContext, orgProject, user2, org, optional.None[bool]())
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, 2, issuesNum)
|
assert.Equal(t, 2, issuesNum)
|
||||||
|
|
||||||
issuesNum, err = issues.NumIssuesInProject(db.DefaultContext, orgProject, user2, org, optional.Some(true))
|
issuesNum, err = issues.NumIssuesInProject(db.DefaultContext, orgProject, user2, org, optional.Some(true))
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, 0, issuesNum)
|
assert.Equal(t, 0, issuesNum)
|
||||||
|
|
||||||
issuesNum, err = issues.NumIssuesInProject(db.DefaultContext, orgProject, user2, org, optional.Some(false))
|
issuesNum, err = issues.NumIssuesInProject(db.DefaultContext, orgProject, user2, org, optional.Some(false))
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, 2, issuesNum)
|
assert.Equal(t, 2, issuesNum)
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("Anonymous user", func(t *testing.T) {
|
t.Run("Anonymous user", func(t *testing.T) {
|
||||||
|
@ -59,15 +59,15 @@ func TestPrivateIssueProjects(t *testing.T) {
|
||||||
|
|
||||||
issuesNum, err := issues.NumIssuesInProject(db.DefaultContext, orgProject, nil, org, optional.None[bool]())
|
issuesNum, err := issues.NumIssuesInProject(db.DefaultContext, orgProject, nil, org, optional.None[bool]())
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, 1, issuesNum)
|
assert.Equal(t, 1, issuesNum)
|
||||||
|
|
||||||
issuesNum, err = issues.NumIssuesInProject(db.DefaultContext, orgProject, nil, org, optional.Some(true))
|
issuesNum, err = issues.NumIssuesInProject(db.DefaultContext, orgProject, nil, org, optional.Some(true))
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, 0, issuesNum)
|
assert.Equal(t, 0, issuesNum)
|
||||||
|
|
||||||
issuesNum, err = issues.NumIssuesInProject(db.DefaultContext, orgProject, nil, org, optional.Some(false))
|
issuesNum, err = issues.NumIssuesInProject(db.DefaultContext, orgProject, nil, org, optional.Some(false))
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, 1, issuesNum)
|
assert.Equal(t, 1, issuesNum)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -85,15 +85,15 @@ func TestPrivateIssueProjects(t *testing.T) {
|
||||||
|
|
||||||
issuesNum, err := issues.NumIssuesInProject(db.DefaultContext, userProject, user2, nil, optional.None[bool]())
|
issuesNum, err := issues.NumIssuesInProject(db.DefaultContext, userProject, user2, nil, optional.None[bool]())
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, 2, issuesNum)
|
assert.Equal(t, 2, issuesNum)
|
||||||
|
|
||||||
issuesNum, err = issues.NumIssuesInProject(db.DefaultContext, userProject, user2, nil, optional.Some(true))
|
issuesNum, err = issues.NumIssuesInProject(db.DefaultContext, userProject, user2, nil, optional.Some(true))
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, 0, issuesNum)
|
assert.Equal(t, 0, issuesNum)
|
||||||
|
|
||||||
issuesNum, err = issues.NumIssuesInProject(db.DefaultContext, userProject, user2, nil, optional.Some(false))
|
issuesNum, err = issues.NumIssuesInProject(db.DefaultContext, userProject, user2, nil, optional.Some(false))
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, 2, issuesNum)
|
assert.Equal(t, 2, issuesNum)
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("Anonymous user", func(t *testing.T) {
|
t.Run("Anonymous user", func(t *testing.T) {
|
||||||
|
@ -105,15 +105,15 @@ func TestPrivateIssueProjects(t *testing.T) {
|
||||||
|
|
||||||
issuesNum, err := issues.NumIssuesInProject(db.DefaultContext, userProject, nil, nil, optional.None[bool]())
|
issuesNum, err := issues.NumIssuesInProject(db.DefaultContext, userProject, nil, nil, optional.None[bool]())
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, 1, issuesNum)
|
assert.Equal(t, 1, issuesNum)
|
||||||
|
|
||||||
issuesNum, err = issues.NumIssuesInProject(db.DefaultContext, userProject, nil, nil, optional.Some(true))
|
issuesNum, err = issues.NumIssuesInProject(db.DefaultContext, userProject, nil, nil, optional.Some(true))
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, 0, issuesNum)
|
assert.Equal(t, 0, issuesNum)
|
||||||
|
|
||||||
issuesNum, err = issues.NumIssuesInProject(db.DefaultContext, userProject, nil, nil, optional.Some(false))
|
issuesNum, err = issues.NumIssuesInProject(db.DefaultContext, userProject, nil, nil, optional.Some(false))
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, 1, issuesNum)
|
assert.Equal(t, 1, issuesNum)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -137,15 +137,15 @@ func TestPrivateRepoProjects(t *testing.T) {
|
||||||
|
|
||||||
issuesNum, err := issues.NumIssuesInProject(db.DefaultContext, orgProject, user29, org, optional.None[bool]())
|
issuesNum, err := issues.NumIssuesInProject(db.DefaultContext, orgProject, user29, org, optional.None[bool]())
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, 1, issuesNum)
|
assert.Equal(t, 1, issuesNum)
|
||||||
|
|
||||||
issuesNum, err = issues.NumIssuesInProject(db.DefaultContext, orgProject, user29, org, optional.Some(true))
|
issuesNum, err = issues.NumIssuesInProject(db.DefaultContext, orgProject, user29, org, optional.Some(true))
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, 0, issuesNum)
|
assert.Equal(t, 0, issuesNum)
|
||||||
|
|
||||||
issuesNum, err = issues.NumIssuesInProject(db.DefaultContext, orgProject, user29, org, optional.Some(false))
|
issuesNum, err = issues.NumIssuesInProject(db.DefaultContext, orgProject, user29, org, optional.Some(false))
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, 1, issuesNum)
|
assert.Equal(t, 1, issuesNum)
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("Full access", func(t *testing.T) {
|
t.Run("Full access", func(t *testing.T) {
|
||||||
|
@ -160,14 +160,14 @@ func TestPrivateRepoProjects(t *testing.T) {
|
||||||
|
|
||||||
issuesNum, err := issues.NumIssuesInProject(db.DefaultContext, orgProject, user2, org, optional.None[bool]())
|
issuesNum, err := issues.NumIssuesInProject(db.DefaultContext, orgProject, user2, org, optional.None[bool]())
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, 2, issuesNum)
|
assert.Equal(t, 2, issuesNum)
|
||||||
|
|
||||||
issuesNum, err = issues.NumIssuesInProject(db.DefaultContext, orgProject, user2, org, optional.Some(true))
|
issuesNum, err = issues.NumIssuesInProject(db.DefaultContext, orgProject, user2, org, optional.Some(true))
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, 0, issuesNum)
|
assert.Equal(t, 0, issuesNum)
|
||||||
|
|
||||||
issuesNum, err = issues.NumIssuesInProject(db.DefaultContext, orgProject, user2, org, optional.Some(false))
|
issuesNum, err = issues.NumIssuesInProject(db.DefaultContext, orgProject, user2, org, optional.Some(false))
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, 2, issuesNum)
|
assert.Equal(t, 2, issuesNum)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -143,8 +143,8 @@ func TestUpdateIssueCols(t *testing.T) {
|
||||||
then := time.Now().Unix()
|
then := time.Now().Unix()
|
||||||
|
|
||||||
updatedIssue := unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: issue.ID})
|
updatedIssue := unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: issue.ID})
|
||||||
assert.EqualValues(t, newTitle, updatedIssue.Title)
|
assert.Equal(t, newTitle, updatedIssue.Title)
|
||||||
assert.EqualValues(t, prevContent, updatedIssue.Content)
|
assert.Equal(t, prevContent, updatedIssue.Content)
|
||||||
unittest.AssertInt64InRange(t, now, then, int64(updatedIssue.UpdatedUnix))
|
unittest.AssertInt64InRange(t, now, then, int64(updatedIssue.UpdatedUnix))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -216,7 +216,7 @@ func TestIssues(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
if assert.Len(t, issues, len(test.ExpectedIssueIDs)) {
|
if assert.Len(t, issues, len(test.ExpectedIssueIDs)) {
|
||||||
for i, issue := range issues {
|
for i, issue := range issues {
|
||||||
assert.EqualValues(t, test.ExpectedIssueIDs[i], issue.ID)
|
assert.Equal(t, test.ExpectedIssueIDs[i], issue.ID)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -249,10 +249,10 @@ func testInsertIssue(t *testing.T, title, content string, expectIndex int64) *is
|
||||||
has, err := db.GetEngine(db.DefaultContext).ID(issue.ID).Get(&newIssue)
|
has, err := db.GetEngine(db.DefaultContext).ID(issue.ID).Get(&newIssue)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.True(t, has)
|
assert.True(t, has)
|
||||||
assert.EqualValues(t, issue.Title, newIssue.Title)
|
assert.Equal(t, issue.Title, newIssue.Title)
|
||||||
assert.EqualValues(t, issue.Content, newIssue.Content)
|
assert.Equal(t, issue.Content, newIssue.Content)
|
||||||
if expectIndex > 0 {
|
if expectIndex > 0 {
|
||||||
assert.EqualValues(t, expectIndex, newIssue.Index)
|
assert.Equal(t, expectIndex, newIssue.Index)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
return &newIssue
|
return &newIssue
|
||||||
|
@ -286,7 +286,7 @@ func TestIssue_ResolveMentions(t *testing.T) {
|
||||||
ids[i] = user.ID
|
ids[i] = user.ID
|
||||||
}
|
}
|
||||||
sort.Slice(ids, func(i, j int) bool { return ids[i] < ids[j] })
|
sort.Slice(ids, func(i, j int) bool { return ids[i] < ids[j] })
|
||||||
assert.EqualValues(t, expected, ids)
|
assert.Equal(t, expected, ids)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Public repo, existing user
|
// Public repo, existing user
|
||||||
|
@ -421,28 +421,28 @@ func TestIssueLoadAttributes(t *testing.T) {
|
||||||
|
|
||||||
for _, issue := range issueList {
|
for _, issue := range issueList {
|
||||||
require.NoError(t, issue.LoadAttributes(db.DefaultContext))
|
require.NoError(t, issue.LoadAttributes(db.DefaultContext))
|
||||||
assert.EqualValues(t, issue.RepoID, issue.Repo.ID)
|
assert.Equal(t, issue.RepoID, issue.Repo.ID)
|
||||||
for _, label := range issue.Labels {
|
for _, label := range issue.Labels {
|
||||||
assert.EqualValues(t, issue.RepoID, label.RepoID)
|
assert.Equal(t, issue.RepoID, label.RepoID)
|
||||||
unittest.AssertExistsAndLoadBean(t, &issues_model.IssueLabel{IssueID: issue.ID, LabelID: label.ID})
|
unittest.AssertExistsAndLoadBean(t, &issues_model.IssueLabel{IssueID: issue.ID, LabelID: label.ID})
|
||||||
}
|
}
|
||||||
if issue.PosterID > 0 {
|
if issue.PosterID > 0 {
|
||||||
assert.EqualValues(t, issue.PosterID, issue.Poster.ID)
|
assert.Equal(t, issue.PosterID, issue.Poster.ID)
|
||||||
}
|
}
|
||||||
if issue.AssigneeID > 0 {
|
if issue.AssigneeID > 0 {
|
||||||
assert.EqualValues(t, issue.AssigneeID, issue.Assignee.ID)
|
assert.Equal(t, issue.AssigneeID, issue.Assignee.ID)
|
||||||
}
|
}
|
||||||
if issue.MilestoneID > 0 {
|
if issue.MilestoneID > 0 {
|
||||||
assert.EqualValues(t, issue.MilestoneID, issue.Milestone.ID)
|
assert.Equal(t, issue.MilestoneID, issue.Milestone.ID)
|
||||||
}
|
}
|
||||||
if issue.IsPull {
|
if issue.IsPull {
|
||||||
assert.EqualValues(t, issue.ID, issue.PullRequest.IssueID)
|
assert.Equal(t, issue.ID, issue.PullRequest.IssueID)
|
||||||
}
|
}
|
||||||
for _, attachment := range issue.Attachments {
|
for _, attachment := range issue.Attachments {
|
||||||
assert.EqualValues(t, issue.ID, attachment.IssueID)
|
assert.Equal(t, issue.ID, attachment.IssueID)
|
||||||
}
|
}
|
||||||
for _, comment := range issue.Comments {
|
for _, comment := range issue.Comments {
|
||||||
assert.EqualValues(t, issue.ID, comment.IssueID)
|
assert.Equal(t, issue.ID, comment.IssueID)
|
||||||
}
|
}
|
||||||
if issue.ID == int64(1) {
|
if issue.ID == int64(1) {
|
||||||
assert.Equal(t, int64(400), issue.TotalTrackedTime)
|
assert.Equal(t, int64(400), issue.TotalTrackedTime)
|
||||||
|
|
|
@ -21,7 +21,7 @@ func TestLabel_CalOpenIssues(t *testing.T) {
|
||||||
require.NoError(t, unittest.PrepareTestDatabase())
|
require.NoError(t, unittest.PrepareTestDatabase())
|
||||||
label := unittest.AssertExistsAndLoadBean(t, &issues_model.Label{ID: 1})
|
label := unittest.AssertExistsAndLoadBean(t, &issues_model.Label{ID: 1})
|
||||||
label.CalOpenIssues()
|
label.CalOpenIssues()
|
||||||
assert.EqualValues(t, 2, label.NumOpenIssues)
|
assert.Equal(t, 2, label.NumOpenIssues)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestLabel_LoadSelectedLabelsAfterClick(t *testing.T) {
|
func TestLabel_LoadSelectedLabelsAfterClick(t *testing.T) {
|
||||||
|
@ -156,7 +156,7 @@ func TestGetLabelsByRepoID(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Len(t, labels, len(expectedIssueIDs))
|
assert.Len(t, labels, len(expectedIssueIDs))
|
||||||
for i, label := range labels {
|
for i, label := range labels {
|
||||||
assert.EqualValues(t, expectedIssueIDs[i], label.ID)
|
assert.Equal(t, expectedIssueIDs[i], label.ID)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
testSuccess(1, "leastissues", []int64{2, 1})
|
testSuccess(1, "leastissues", []int64{2, 1})
|
||||||
|
@ -223,7 +223,7 @@ func TestGetLabelsByOrgID(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Len(t, labels, len(expectedIssueIDs))
|
assert.Len(t, labels, len(expectedIssueIDs))
|
||||||
for i, label := range labels {
|
for i, label := range labels {
|
||||||
assert.EqualValues(t, expectedIssueIDs[i], label.ID)
|
assert.Equal(t, expectedIssueIDs[i], label.ID)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
testSuccess(3, "leastissues", []int64{3, 4})
|
testSuccess(3, "leastissues", []int64{3, 4})
|
||||||
|
@ -269,10 +269,10 @@ func TestUpdateLabel(t *testing.T) {
|
||||||
label.Name = update.Name
|
label.Name = update.Name
|
||||||
require.NoError(t, issues_model.UpdateLabel(db.DefaultContext, update))
|
require.NoError(t, issues_model.UpdateLabel(db.DefaultContext, update))
|
||||||
newLabel := unittest.AssertExistsAndLoadBean(t, &issues_model.Label{ID: 1})
|
newLabel := unittest.AssertExistsAndLoadBean(t, &issues_model.Label{ID: 1})
|
||||||
assert.EqualValues(t, label.ID, newLabel.ID)
|
assert.Equal(t, label.ID, newLabel.ID)
|
||||||
assert.EqualValues(t, label.Color, newLabel.Color)
|
assert.Equal(t, label.Color, newLabel.Color)
|
||||||
assert.EqualValues(t, label.Name, newLabel.Name)
|
assert.Equal(t, label.Name, newLabel.Name)
|
||||||
assert.EqualValues(t, label.Description, newLabel.Description)
|
assert.Equal(t, label.Description, newLabel.Description)
|
||||||
assert.EqualValues(t, 0, newLabel.ArchivedUnix)
|
assert.EqualValues(t, 0, newLabel.ArchivedUnix)
|
||||||
unittest.CheckConsistencyFor(t, &issues_model.Label{}, &repo_model.Repository{})
|
unittest.CheckConsistencyFor(t, &issues_model.Label{}, &repo_model.Repository{})
|
||||||
}
|
}
|
||||||
|
@ -315,7 +315,7 @@ func TestNewIssueLabel(t *testing.T) {
|
||||||
Content: "1",
|
Content: "1",
|
||||||
})
|
})
|
||||||
label = unittest.AssertExistsAndLoadBean(t, &issues_model.Label{ID: 2})
|
label = unittest.AssertExistsAndLoadBean(t, &issues_model.Label{ID: 2})
|
||||||
assert.EqualValues(t, prevNumIssues+1, label.NumIssues)
|
assert.Equal(t, prevNumIssues+1, label.NumIssues)
|
||||||
|
|
||||||
// re-add existing IssueLabel
|
// re-add existing IssueLabel
|
||||||
require.NoError(t, issues_model.NewIssueLabel(db.DefaultContext, issue, label, doer))
|
require.NoError(t, issues_model.NewIssueLabel(db.DefaultContext, issue, label, doer))
|
||||||
|
@ -368,11 +368,11 @@ func TestNewIssueLabels(t *testing.T) {
|
||||||
})
|
})
|
||||||
unittest.AssertExistsAndLoadBean(t, &issues_model.IssueLabel{IssueID: issue.ID, LabelID: label1.ID})
|
unittest.AssertExistsAndLoadBean(t, &issues_model.IssueLabel{IssueID: issue.ID, LabelID: label1.ID})
|
||||||
label1 = unittest.AssertExistsAndLoadBean(t, &issues_model.Label{ID: 1})
|
label1 = unittest.AssertExistsAndLoadBean(t, &issues_model.Label{ID: 1})
|
||||||
assert.EqualValues(t, 3, label1.NumIssues)
|
assert.Equal(t, 3, label1.NumIssues)
|
||||||
assert.EqualValues(t, 1, label1.NumClosedIssues)
|
assert.Equal(t, 1, label1.NumClosedIssues)
|
||||||
label2 = unittest.AssertExistsAndLoadBean(t, &issues_model.Label{ID: 2})
|
label2 = unittest.AssertExistsAndLoadBean(t, &issues_model.Label{ID: 2})
|
||||||
assert.EqualValues(t, 1, label2.NumIssues)
|
assert.Equal(t, 1, label2.NumIssues)
|
||||||
assert.EqualValues(t, 1, label2.NumClosedIssues)
|
assert.Equal(t, 1, label2.NumClosedIssues)
|
||||||
|
|
||||||
// corner case: test empty slice
|
// corner case: test empty slice
|
||||||
require.NoError(t, issues_model.NewIssueLabels(db.DefaultContext, issue, []*issues_model.Label{}, doer))
|
require.NoError(t, issues_model.NewIssueLabels(db.DefaultContext, issue, []*issues_model.Label{}, doer))
|
||||||
|
@ -410,8 +410,8 @@ func TestDeleteIssueLabel(t *testing.T) {
|
||||||
LabelID: labelID,
|
LabelID: labelID,
|
||||||
}, `content=""`)
|
}, `content=""`)
|
||||||
label = unittest.AssertExistsAndLoadBean(t, &issues_model.Label{ID: labelID})
|
label = unittest.AssertExistsAndLoadBean(t, &issues_model.Label{ID: labelID})
|
||||||
assert.EqualValues(t, expectedNumIssues, label.NumIssues)
|
assert.Equal(t, expectedNumIssues, label.NumIssues)
|
||||||
assert.EqualValues(t, expectedNumClosedIssues, label.NumClosedIssues)
|
assert.Equal(t, expectedNumClosedIssues, label.NumClosedIssues)
|
||||||
}
|
}
|
||||||
testSuccess(1, 1, 2)
|
testSuccess(1, 1, 2)
|
||||||
testSuccess(2, 5, 2)
|
testSuccess(2, 5, 2)
|
||||||
|
|
|
@ -70,7 +70,7 @@ func TestGetMilestonesByRepoID(t *testing.T) {
|
||||||
|
|
||||||
assert.Len(t, milestones, n)
|
assert.Len(t, milestones, n)
|
||||||
for _, milestone := range milestones {
|
for _, milestone := range milestones {
|
||||||
assert.EqualValues(t, repoID, milestone.RepoID)
|
assert.Equal(t, repoID, milestone.RepoID)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
test(1, api.StateOpen)
|
test(1, api.StateOpen)
|
||||||
|
@ -327,7 +327,7 @@ func TestUpdateMilestone(t *testing.T) {
|
||||||
milestone.Content = "newMilestoneContent"
|
milestone.Content = "newMilestoneContent"
|
||||||
require.NoError(t, issues_model.UpdateMilestone(db.DefaultContext, milestone, milestone.IsClosed))
|
require.NoError(t, issues_model.UpdateMilestone(db.DefaultContext, milestone, milestone.IsClosed))
|
||||||
milestone = unittest.AssertExistsAndLoadBean(t, &issues_model.Milestone{ID: 1})
|
milestone = unittest.AssertExistsAndLoadBean(t, &issues_model.Milestone{ID: 1})
|
||||||
assert.EqualValues(t, "newMilestoneName", milestone.Name)
|
assert.Equal(t, "newMilestoneName", milestone.Name)
|
||||||
unittest.CheckConsistencyFor(t, &issues_model.Milestone{})
|
unittest.CheckConsistencyFor(t, &issues_model.Milestone{})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -364,7 +364,7 @@ func TestMigrate_InsertMilestones(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
unittest.AssertExistsAndLoadBean(t, ms)
|
unittest.AssertExistsAndLoadBean(t, ms)
|
||||||
repoModified := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: repo.ID})
|
repoModified := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: repo.ID})
|
||||||
assert.EqualValues(t, repo.NumMilestones+1, repoModified.NumMilestones)
|
assert.Equal(t, repo.NumMilestones+1, repoModified.NumMilestones)
|
||||||
|
|
||||||
unittest.CheckConsistencyFor(t, &issues_model.Milestone{})
|
unittest.CheckConsistencyFor(t, &issues_model.Milestone{})
|
||||||
}
|
}
|
||||||
|
|
|
@ -399,7 +399,7 @@ func TestDeleteOrphanedObjects(t *testing.T) {
|
||||||
|
|
||||||
countAfter, err := db.GetEngine(db.DefaultContext).Count(&issues_model.PullRequest{})
|
countAfter, err := db.GetEngine(db.DefaultContext).Count(&issues_model.PullRequest{})
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, countBefore, countAfter)
|
assert.Equal(t, countBefore, countAfter)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestParseCodeOwnersLine(t *testing.T) {
|
func TestParseCodeOwnersLine(t *testing.T) {
|
||||||
|
@ -432,7 +432,7 @@ func TestGetApprovers(t *testing.T) {
|
||||||
setting.Repository.PullRequest.DefaultMergeMessageOfficialApproversOnly = false
|
setting.Repository.PullRequest.DefaultMergeMessageOfficialApproversOnly = false
|
||||||
approvers := pr.GetApprovers(db.DefaultContext)
|
approvers := pr.GetApprovers(db.DefaultContext)
|
||||||
expected := "Reviewed-by: User Five <user5@example.com>\nReviewed-by: Org Six <org6@example.com>\n"
|
expected := "Reviewed-by: User Five <user5@example.com>\nReviewed-by: Org Six <org6@example.com>\n"
|
||||||
assert.EqualValues(t, expected, approvers)
|
assert.Equal(t, expected, approvers)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGetPullRequestByMergedCommit(t *testing.T) {
|
func TestGetPullRequestByMergedCommit(t *testing.T) {
|
||||||
|
|
|
@ -92,7 +92,7 @@ func TestGetUIDsAndStopwatch(t *testing.T) {
|
||||||
|
|
||||||
uidStopwatches, err := issues_model.GetUIDsAndStopwatch(db.DefaultContext)
|
uidStopwatches, err := issues_model.GetUIDsAndStopwatch(db.DefaultContext)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, map[int64][]*issues_model.Stopwatch{
|
assert.Equal(t, map[int64][]*issues_model.Stopwatch{
|
||||||
1: {
|
1: {
|
||||||
{
|
{
|
||||||
ID: 1,
|
ID: 1,
|
||||||
|
|
|
@ -21,7 +21,7 @@ func TestMigrations(t *testing.T) {
|
||||||
|
|
||||||
assert.EqualValues(t, 71, migrationIDNumberToDBVersion(70))
|
assert.EqualValues(t, 71, migrationIDNumberToDBVersion(70))
|
||||||
|
|
||||||
assert.EqualValues(t, []*migration{{idNumber: 70}, {idNumber: 71}}, getPendingMigrations(70, preparedMigrations))
|
assert.Equal(t, []*migration{{idNumber: 70}, {idNumber: 71}}, getPendingMigrations(70, preparedMigrations))
|
||||||
assert.EqualValues(t, []*migration{{idNumber: 71}}, getPendingMigrations(71, preparedMigrations))
|
assert.Equal(t, []*migration{{idNumber: 71}}, getPendingMigrations(71, preparedMigrations))
|
||||||
assert.EqualValues(t, []*migration{}, getPendingMigrations(72, preparedMigrations))
|
assert.Equal(t, []*migration{}, getPendingMigrations(72, preparedMigrations))
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,7 +50,7 @@ func Test_AddPrimaryEmail2EmailAddress(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.True(t, has)
|
assert.True(t, has)
|
||||||
assert.True(t, emailAddress.IsPrimary)
|
assert.True(t, emailAddress.IsPrimary)
|
||||||
assert.EqualValues(t, user.IsActive, emailAddress.IsActivated)
|
assert.Equal(t, user.IsActive, emailAddress.IsActivated)
|
||||||
assert.EqualValues(t, user.ID, emailAddress.UID)
|
assert.Equal(t, user.ID, emailAddress.UID)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -76,8 +76,8 @@ func Test_UnwrapLDAPSourceCfg(t *testing.T) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
assert.EqualValues(t, expected, converted, "UnwrapLDAPSourceCfg failed for %d", source.ID)
|
assert.Equal(t, expected, converted, "UnwrapLDAPSourceCfg failed for %d", source.ID)
|
||||||
assert.EqualValues(t, source.ID%2 == 0, source.IsActive, "UnwrapLDAPSourceCfg failed for %d", source.ID)
|
assert.Equal(t, source.ID%2 == 0, source.IsActive, "UnwrapLDAPSourceCfg failed for %d", source.ID)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,7 +63,7 @@ func Test_AddRepoIDForAttachment(t *testing.T) {
|
||||||
has, err := x.ID(attach.IssueID).Get(&issue)
|
has, err := x.ID(attach.IssueID).Get(&issue)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.True(t, has)
|
assert.True(t, has)
|
||||||
assert.EqualValues(t, attach.RepoID, issue.RepoID)
|
assert.Equal(t, attach.RepoID, issue.RepoID)
|
||||||
}
|
}
|
||||||
|
|
||||||
var releaseAttachments []*NewAttachment
|
var releaseAttachments []*NewAttachment
|
||||||
|
@ -76,6 +76,6 @@ func Test_AddRepoIDForAttachment(t *testing.T) {
|
||||||
has, err := x.ID(attach.ReleaseID).Get(&release)
|
has, err := x.ID(attach.ReleaseID).Get(&release)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.True(t, has)
|
assert.True(t, has)
|
||||||
assert.EqualValues(t, attach.RepoID, release.RepoID)
|
assert.Equal(t, attach.RepoID, release.RepoID)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -84,5 +84,5 @@ func Test_RemigrateU2FCredentials(t *testing.T) {
|
||||||
err = x.Table("webauthn_credential").Select("id, credential_id").Asc("id").Find(&got)
|
err = x.Table("webauthn_credential").Select("id, credential_id").Asc("id").Find(&got)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
assert.EqualValues(t, expected, got)
|
assert.Equal(t, expected, got)
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,7 +63,7 @@ func Test_AddHeaderAuthorizationEncryptedColWebhook(t *testing.T) {
|
||||||
assert.Equal(t, e.Meta, got[i].Meta)
|
assert.Equal(t, e.Meta, got[i].Meta)
|
||||||
|
|
||||||
if e.HeaderAuthorization == "" {
|
if e.HeaderAuthorization == "" {
|
||||||
assert.Equal(t, "", got[i].HeaderAuthorizationEncrypted)
|
assert.Empty(t, got[i].HeaderAuthorizationEncrypted)
|
||||||
} else {
|
} else {
|
||||||
cipherhex := got[i].HeaderAuthorizationEncrypted
|
cipherhex := got[i].HeaderAuthorizationEncrypted
|
||||||
cleartext, err := secret.DecryptSecret(setting.SecretKey, cipherhex)
|
cleartext, err := secret.DecryptSecret(setting.SecretKey, cipherhex)
|
||||||
|
|
|
@ -97,7 +97,7 @@ func Test_ConvertScopedAccessTokens(t *testing.T) {
|
||||||
tokens := make([]AccessToken, 0)
|
tokens := make([]AccessToken, 0)
|
||||||
err = x.Find(&tokens)
|
err = x.Find(&tokens)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(tests), len(tokens))
|
assert.Len(t, tokens, len(tests))
|
||||||
|
|
||||||
// sort the tokens (insertion order by auto-incrementing primary key)
|
// sort the tokens (insertion order by auto-incrementing primary key)
|
||||||
sort.Slice(tokens, func(i, j int) bool {
|
sort.Slice(tokens, func(i, j int) bool {
|
||||||
|
|
|
@ -109,11 +109,11 @@ func Test_RepositoryFormat(t *testing.T) {
|
||||||
ok, err := x.ID(2).Get(repo)
|
ok, err := x.ID(2).Get(repo)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.True(t, ok)
|
assert.True(t, ok)
|
||||||
assert.EqualValues(t, "sha1", repo.ObjectFormatName)
|
assert.Equal(t, "sha1", repo.ObjectFormatName)
|
||||||
|
|
||||||
repo = new(Repository)
|
repo = new(Repository)
|
||||||
ok, err = x.ID(id).Get(repo)
|
ok, err = x.ID(id).Get(repo)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.True(t, ok)
|
assert.True(t, ok)
|
||||||
assert.EqualValues(t, "sha256", repo.ObjectFormatName)
|
assert.Equal(t, "sha256", repo.ObjectFormatName)
|
||||||
}
|
}
|
||||||
|
|
|
@ -82,7 +82,7 @@ func TestUpdateTeam(t *testing.T) {
|
||||||
assert.True(t, strings.HasPrefix(team.Description, "A long description!"))
|
assert.True(t, strings.HasPrefix(team.Description, "A long description!"))
|
||||||
|
|
||||||
access := unittest.AssertExistsAndLoadBean(t, &access_model.Access{UserID: 4, RepoID: 3})
|
access := unittest.AssertExistsAndLoadBean(t, &access_model.Access{UserID: 4, RepoID: 3})
|
||||||
assert.EqualValues(t, perm.AccessModeAdmin, access.Mode)
|
assert.Equal(t, perm.AccessModeAdmin, access.Mode)
|
||||||
|
|
||||||
unittest.CheckConsistencyFor(t, &organization.Team{ID: team.ID})
|
unittest.CheckConsistencyFor(t, &organization.Team{ID: team.ID})
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,7 +49,7 @@ func TestRemoveOrgUser(t *testing.T) {
|
||||||
require.NoError(t, RemoveOrgUser(db.DefaultContext, orgID, userID))
|
require.NoError(t, RemoveOrgUser(db.DefaultContext, orgID, userID))
|
||||||
unittest.AssertNotExistsBean(t, &organization.OrgUser{OrgID: orgID, UID: userID})
|
unittest.AssertNotExistsBean(t, &organization.OrgUser{OrgID: orgID, UID: userID})
|
||||||
org = unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: orgID})
|
org = unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: orgID})
|
||||||
assert.EqualValues(t, expectedNumMembers, org.NumMembers)
|
assert.Equal(t, expectedNumMembers, org.NumMembers)
|
||||||
}
|
}
|
||||||
testSuccess(3, 4)
|
testSuccess(3, 4)
|
||||||
testSuccess(3, 4)
|
testSuccess(3, 4)
|
||||||
|
|
|
@ -195,7 +195,7 @@ type FindOrgMembersOpts struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (opts FindOrgMembersOpts) PublicOnly() bool {
|
func (opts FindOrgMembersOpts) PublicOnly() bool {
|
||||||
return opts.Doer == nil || !(opts.IsDoerMember || opts.Doer.IsAdmin)
|
return opts.Doer == nil || (!opts.IsDoerMember && !opts.Doer.IsAdmin)
|
||||||
}
|
}
|
||||||
|
|
||||||
// CountOrgMembers counts the organization's members
|
// CountOrgMembers counts the organization's members
|
||||||
|
@ -478,7 +478,7 @@ func GetOrgUsersByOrgID(ctx context.Context, opts *FindOrgMembersOpts) ([]*OrgUs
|
||||||
sess.And("is_public = ?", true)
|
sess.And("is_public = ?", true)
|
||||||
}
|
}
|
||||||
|
|
||||||
if opts.ListOptions.PageSize > 0 {
|
if opts.PageSize > 0 {
|
||||||
sess = db.SetSessionPagination(sess, opts)
|
sess = db.SetSessionPagination(sess, opts)
|
||||||
|
|
||||||
ous := make([]*OrgUser, 0, opts.PageSize)
|
ous := make([]*OrgUser, 0, opts.PageSize)
|
||||||
|
|
|
@ -73,7 +73,7 @@ func TestGetUserOrgsList(t *testing.T) {
|
||||||
if assert.Len(t, orgs, 1) {
|
if assert.Len(t, orgs, 1) {
|
||||||
assert.EqualValues(t, 3, orgs[0].ID)
|
assert.EqualValues(t, 3, orgs[0].ID)
|
||||||
// repo_id: 3 is in the team, 32 is public, 5 is private with no team
|
// repo_id: 3 is in the team, 32 is public, 5 is private with no team
|
||||||
assert.EqualValues(t, 2, orgs[0].NumRepos)
|
assert.Equal(t, 2, orgs[0].NumRepos)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -136,7 +136,7 @@ func TestIsOrganizationOwner(t *testing.T) {
|
||||||
test := func(orgID, userID int64, expected bool) {
|
test := func(orgID, userID int64, expected bool) {
|
||||||
isOwner, err := organization.IsOrganizationOwner(db.DefaultContext, orgID, userID)
|
isOwner, err := organization.IsOrganizationOwner(db.DefaultContext, orgID, userID)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, expected, isOwner)
|
assert.Equal(t, expected, isOwner)
|
||||||
}
|
}
|
||||||
test(3, 2, true)
|
test(3, 2, true)
|
||||||
test(3, 3, false)
|
test(3, 3, false)
|
||||||
|
@ -150,7 +150,7 @@ func TestIsOrganizationMember(t *testing.T) {
|
||||||
test := func(orgID, userID int64, expected bool) {
|
test := func(orgID, userID int64, expected bool) {
|
||||||
isMember, err := organization.IsOrganizationMember(db.DefaultContext, orgID, userID)
|
isMember, err := organization.IsOrganizationMember(db.DefaultContext, orgID, userID)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, expected, isMember)
|
assert.Equal(t, expected, isMember)
|
||||||
}
|
}
|
||||||
test(3, 2, true)
|
test(3, 2, true)
|
||||||
test(3, 3, false)
|
test(3, 3, false)
|
||||||
|
@ -165,7 +165,7 @@ func TestIsPublicMembership(t *testing.T) {
|
||||||
test := func(orgID, userID int64, expected bool) {
|
test := func(orgID, userID int64, expected bool) {
|
||||||
isMember, err := organization.IsPublicMembership(db.DefaultContext, orgID, userID)
|
isMember, err := organization.IsPublicMembership(db.DefaultContext, orgID, userID)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, expected, isMember)
|
assert.Equal(t, expected, isMember)
|
||||||
}
|
}
|
||||||
test(3, 2, true)
|
test(3, 2, true)
|
||||||
test(3, 3, false)
|
test(3, 3, false)
|
||||||
|
@ -188,7 +188,7 @@ func TestGetOrgUsersByOrgID(t *testing.T) {
|
||||||
sort.Slice(orgUsers, func(i, j int) bool {
|
sort.Slice(orgUsers, func(i, j int) bool {
|
||||||
return orgUsers[i].ID < orgUsers[j].ID
|
return orgUsers[i].ID < orgUsers[j].ID
|
||||||
})
|
})
|
||||||
assert.EqualValues(t, []*organization.OrgUser{{
|
assert.Equal(t, []*organization.OrgUser{{
|
||||||
ID: 1,
|
ID: 1,
|
||||||
OrgID: 3,
|
OrgID: 3,
|
||||||
UID: 2,
|
UID: 2,
|
||||||
|
@ -255,7 +255,7 @@ func TestAccessibleReposEnv_CountRepos(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
count, err := env.CountRepos()
|
count, err := env.CountRepos()
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, expectedCount, count)
|
assert.Equal(t, expectedCount, count)
|
||||||
}
|
}
|
||||||
testSuccess(2, 3)
|
testSuccess(2, 3)
|
||||||
testSuccess(4, 2)
|
testSuccess(4, 2)
|
||||||
|
@ -494,25 +494,25 @@ func TestUnitPermission(t *testing.T) {
|
||||||
user := &user_model.User{ID: 1001}
|
user := &user_model.User{ID: 1001}
|
||||||
t.Run("Anonymous", func(t *testing.T) {
|
t.Run("Anonymous", func(t *testing.T) {
|
||||||
t.Run("Public", func(t *testing.T) {
|
t.Run("Public", func(t *testing.T) {
|
||||||
assert.EqualValues(t, perm.AccessModeRead, publicOrg.UnitPermission(db.DefaultContext, nil, unit.TypeCode))
|
assert.Equal(t, perm.AccessModeRead, publicOrg.UnitPermission(db.DefaultContext, nil, unit.TypeCode))
|
||||||
})
|
})
|
||||||
t.Run("Limited", func(t *testing.T) {
|
t.Run("Limited", func(t *testing.T) {
|
||||||
assert.EqualValues(t, perm.AccessModeNone, limitedOrg.UnitPermission(db.DefaultContext, nil, unit.TypeCode))
|
assert.Equal(t, perm.AccessModeNone, limitedOrg.UnitPermission(db.DefaultContext, nil, unit.TypeCode))
|
||||||
})
|
})
|
||||||
t.Run("Private", func(t *testing.T) {
|
t.Run("Private", func(t *testing.T) {
|
||||||
assert.EqualValues(t, perm.AccessModeNone, privateOrg.UnitPermission(db.DefaultContext, nil, unit.TypeCode))
|
assert.Equal(t, perm.AccessModeNone, privateOrg.UnitPermission(db.DefaultContext, nil, unit.TypeCode))
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("Logged in", func(t *testing.T) {
|
t.Run("Logged in", func(t *testing.T) {
|
||||||
t.Run("Public", func(t *testing.T) {
|
t.Run("Public", func(t *testing.T) {
|
||||||
assert.EqualValues(t, perm.AccessModeRead, publicOrg.UnitPermission(db.DefaultContext, user, unit.TypeCode))
|
assert.Equal(t, perm.AccessModeRead, publicOrg.UnitPermission(db.DefaultContext, user, unit.TypeCode))
|
||||||
})
|
})
|
||||||
t.Run("Limited", func(t *testing.T) {
|
t.Run("Limited", func(t *testing.T) {
|
||||||
assert.EqualValues(t, perm.AccessModeRead, limitedOrg.UnitPermission(db.DefaultContext, user, unit.TypeCode))
|
assert.Equal(t, perm.AccessModeRead, limitedOrg.UnitPermission(db.DefaultContext, user, unit.TypeCode))
|
||||||
})
|
})
|
||||||
t.Run("Private", func(t *testing.T) {
|
t.Run("Private", func(t *testing.T) {
|
||||||
assert.EqualValues(t, perm.AccessModeNone, privateOrg.UnitPermission(db.DefaultContext, user, unit.TypeCode))
|
assert.Equal(t, perm.AccessModeNone, privateOrg.UnitPermission(db.DefaultContext, user, unit.TypeCode))
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -140,7 +140,7 @@ func TestAddOrgUser(t *testing.T) {
|
||||||
unittest.AssertExistsAndLoadBean(t, ou)
|
unittest.AssertExistsAndLoadBean(t, ou)
|
||||||
assert.Equal(t, isPublic, ou.IsPublic)
|
assert.Equal(t, isPublic, ou.IsPublic)
|
||||||
org = unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: orgID})
|
org = unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: orgID})
|
||||||
assert.EqualValues(t, expectedNumMembers, org.NumMembers)
|
assert.Equal(t, expectedNumMembers, org.NumMembers)
|
||||||
}
|
}
|
||||||
|
|
||||||
setting.Service.DefaultOrgMemberVisible = false
|
setting.Service.DefaultOrgMemberVisible = false
|
||||||
|
|
|
@ -77,7 +77,7 @@ func TestGetTeam(t *testing.T) {
|
||||||
testSuccess := func(orgID int64, name string) {
|
testSuccess := func(orgID int64, name string) {
|
||||||
team, err := organization.GetTeam(db.DefaultContext, orgID, name)
|
team, err := organization.GetTeam(db.DefaultContext, orgID, name)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, orgID, team.OrgID)
|
assert.Equal(t, orgID, team.OrgID)
|
||||||
assert.Equal(t, name, team.Name)
|
assert.Equal(t, name, team.Name)
|
||||||
}
|
}
|
||||||
testSuccess(3, "Owners")
|
testSuccess(3, "Owners")
|
||||||
|
@ -95,7 +95,7 @@ func TestGetTeamByID(t *testing.T) {
|
||||||
testSuccess := func(teamID int64) {
|
testSuccess := func(teamID int64) {
|
||||||
team, err := organization.GetTeamByID(db.DefaultContext, teamID)
|
team, err := organization.GetTeamByID(db.DefaultContext, teamID)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, teamID, team.ID)
|
assert.Equal(t, teamID, team.ID)
|
||||||
}
|
}
|
||||||
testSuccess(1)
|
testSuccess(1)
|
||||||
testSuccess(2)
|
testSuccess(2)
|
||||||
|
@ -163,7 +163,7 @@ func TestGetUserOrgTeams(t *testing.T) {
|
||||||
teams, err := organization.GetUserOrgTeams(db.DefaultContext, orgID, userID)
|
teams, err := organization.GetUserOrgTeams(db.DefaultContext, orgID, userID)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
for _, team := range teams {
|
for _, team := range teams {
|
||||||
assert.EqualValues(t, orgID, team.OrgID)
|
assert.Equal(t, orgID, team.OrgID)
|
||||||
unittest.AssertExistsAndLoadBean(t, &organization.TeamUser{TeamID: team.ID, UID: userID})
|
unittest.AssertExistsAndLoadBean(t, &organization.TeamUser{TeamID: team.ID, UID: userID})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -133,7 +133,7 @@ func refreshCollaboratorAccesses(ctx context.Context, repoID int64, accessMap ma
|
||||||
return fmt.Errorf("getCollaborations: %w", err)
|
return fmt.Errorf("getCollaborations: %w", err)
|
||||||
}
|
}
|
||||||
for _, c := range collaborators {
|
for _, c := range collaborators {
|
||||||
if c.User.IsGhost() {
|
if c.IsGhost() {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
updateUserAccess(accessMap, c.User, c.Collaboration.Mode)
|
updateUserAccess(accessMap, c.User, c.Collaboration.Mode)
|
||||||
|
|
|
@ -98,9 +98,9 @@ func Test_MoveColumnsOnProject(t *testing.T) {
|
||||||
columnsAfter, err := project1.GetColumns(db.DefaultContext)
|
columnsAfter, err := project1.GetColumns(db.DefaultContext)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Len(t, columnsAfter, 3)
|
assert.Len(t, columnsAfter, 3)
|
||||||
assert.EqualValues(t, columns[1].ID, columnsAfter[0].ID)
|
assert.Equal(t, columns[1].ID, columnsAfter[0].ID)
|
||||||
assert.EqualValues(t, columns[2].ID, columnsAfter[1].ID)
|
assert.Equal(t, columns[2].ID, columnsAfter[1].ID)
|
||||||
assert.EqualValues(t, columns[0].ID, columnsAfter[2].ID)
|
assert.Equal(t, columns[0].ID, columnsAfter[2].ID)
|
||||||
}
|
}
|
||||||
|
|
||||||
func Test_NewColumn(t *testing.T) {
|
func Test_NewColumn(t *testing.T) {
|
||||||
|
|
|
@ -114,10 +114,10 @@ func TestProjectsSort(t *testing.T) {
|
||||||
OrderBy: GetSearchOrderByBySortType(tt.sortType),
|
OrderBy: GetSearchOrderByBySortType(tt.sortType),
|
||||||
})
|
})
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, int64(6), count)
|
assert.Equal(t, int64(6), count)
|
||||||
if assert.Len(t, projects, 6) {
|
if assert.Len(t, projects, 6) {
|
||||||
for i := range projects {
|
for i := range projects {
|
||||||
assert.EqualValues(t, tt.wants[i], projects[i].ID)
|
assert.Equal(t, tt.wants[i], projects[i].ID)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,8 +27,8 @@ func TestRepository_GetCollaborators(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Len(t, collaborators, int(expectedLen))
|
assert.Len(t, collaborators, int(expectedLen))
|
||||||
for _, collaborator := range collaborators {
|
for _, collaborator := range collaborators {
|
||||||
assert.EqualValues(t, collaborator.User.ID, collaborator.Collaboration.UserID)
|
assert.Equal(t, collaborator.User.ID, collaborator.Collaboration.UserID)
|
||||||
assert.EqualValues(t, repoID, collaborator.Collaboration.RepoID)
|
assert.Equal(t, repoID, collaborator.Collaboration.RepoID)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
test(1)
|
test(1)
|
||||||
|
@ -47,7 +47,7 @@ func TestRepository_GetCollaborators(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Len(t, collaborators2, 1)
|
assert.Len(t, collaborators2, 1)
|
||||||
|
|
||||||
assert.NotEqualValues(t, collaborators1[0].ID, collaborators2[0].ID)
|
assert.NotEqual(t, collaborators1[0].ID, collaborators2[0].ID)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestRepository_IsCollaborator(t *testing.T) {
|
func TestRepository_IsCollaborator(t *testing.T) {
|
||||||
|
@ -72,10 +72,10 @@ func TestRepository_ChangeCollaborationAccessMode(t *testing.T) {
|
||||||
require.NoError(t, repo_model.ChangeCollaborationAccessMode(db.DefaultContext, repo, 4, perm.AccessModeAdmin))
|
require.NoError(t, repo_model.ChangeCollaborationAccessMode(db.DefaultContext, repo, 4, perm.AccessModeAdmin))
|
||||||
|
|
||||||
collaboration := unittest.AssertExistsAndLoadBean(t, &repo_model.Collaboration{RepoID: repo.ID, UserID: 4})
|
collaboration := unittest.AssertExistsAndLoadBean(t, &repo_model.Collaboration{RepoID: repo.ID, UserID: 4})
|
||||||
assert.EqualValues(t, perm.AccessModeAdmin, collaboration.Mode)
|
assert.Equal(t, perm.AccessModeAdmin, collaboration.Mode)
|
||||||
|
|
||||||
access := unittest.AssertExistsAndLoadBean(t, &access_model.Access{UserID: 4, RepoID: repo.ID})
|
access := unittest.AssertExistsAndLoadBean(t, &access_model.Access{UserID: 4, RepoID: repo.ID})
|
||||||
assert.EqualValues(t, perm.AccessModeAdmin, access.Mode)
|
assert.Equal(t, perm.AccessModeAdmin, access.Mode)
|
||||||
|
|
||||||
require.NoError(t, repo_model.ChangeCollaborationAccessMode(db.DefaultContext, repo, 4, perm.AccessModeAdmin))
|
require.NoError(t, repo_model.ChangeCollaborationAccessMode(db.DefaultContext, repo, 4, perm.AccessModeAdmin))
|
||||||
|
|
||||||
|
|
|
@ -67,7 +67,7 @@ func TestPushMirrorPrivatekey(t *testing.T) {
|
||||||
t.Run("Normal retrieval", func(t *testing.T) {
|
t.Run("Normal retrieval", func(t *testing.T) {
|
||||||
actualPrivateKey, err := m.Privatekey()
|
actualPrivateKey, err := m.Privatekey()
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, privateKey, actualPrivateKey)
|
assert.Equal(t, privateKey, actualPrivateKey)
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("Incorrect retrieval", func(t *testing.T) {
|
t.Run("Incorrect retrieval", func(t *testing.T) {
|
||||||
|
|
|
@ -402,27 +402,28 @@ func (repo *Repository) MustGetUnit(ctx context.Context, tp unit.Type) *RepoUnit
|
||||||
return ru
|
return ru
|
||||||
}
|
}
|
||||||
|
|
||||||
if tp == unit.TypeExternalWiki {
|
switch tp {
|
||||||
|
case unit.TypeExternalWiki:
|
||||||
return &RepoUnit{
|
return &RepoUnit{
|
||||||
Type: tp,
|
Type: tp,
|
||||||
Config: new(ExternalWikiConfig),
|
Config: new(ExternalWikiConfig),
|
||||||
}
|
}
|
||||||
} else if tp == unit.TypeExternalTracker {
|
case unit.TypeExternalTracker:
|
||||||
return &RepoUnit{
|
return &RepoUnit{
|
||||||
Type: tp,
|
Type: tp,
|
||||||
Config: new(ExternalTrackerConfig),
|
Config: new(ExternalTrackerConfig),
|
||||||
}
|
}
|
||||||
} else if tp == unit.TypePullRequests {
|
case unit.TypePullRequests:
|
||||||
return &RepoUnit{
|
return &RepoUnit{
|
||||||
Type: tp,
|
Type: tp,
|
||||||
Config: new(PullRequestsConfig),
|
Config: new(PullRequestsConfig),
|
||||||
}
|
}
|
||||||
} else if tp == unit.TypeIssues {
|
case unit.TypeIssues:
|
||||||
return &RepoUnit{
|
return &RepoUnit{
|
||||||
Type: tp,
|
Type: tp,
|
||||||
Config: new(IssuesConfig),
|
Config: new(IssuesConfig),
|
||||||
}
|
}
|
||||||
} else if tp == unit.TypeActions {
|
case unit.TypeActions:
|
||||||
return &RepoUnit{
|
return &RepoUnit{
|
||||||
Type: tp,
|
Type: tp,
|
||||||
Config: new(ActionsConfig),
|
Config: new(ActionsConfig),
|
||||||
|
|
|
@ -445,6 +445,6 @@ func TestSearchRepositoryIDsByCondition(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
slices.Sort(repoIDs)
|
slices.Sort(repoIDs)
|
||||||
assert.EqualValues(t, testCase.repoIDs, repoIDs)
|
assert.Equal(t, testCase.repoIDs, repoIDs)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,21 +16,21 @@ import (
|
||||||
func TestActionsConfig(t *testing.T) {
|
func TestActionsConfig(t *testing.T) {
|
||||||
cfg := &ActionsConfig{}
|
cfg := &ActionsConfig{}
|
||||||
cfg.DisableWorkflow("test1.yaml")
|
cfg.DisableWorkflow("test1.yaml")
|
||||||
assert.EqualValues(t, []string{"test1.yaml"}, cfg.DisabledWorkflows)
|
assert.Equal(t, []string{"test1.yaml"}, cfg.DisabledWorkflows)
|
||||||
|
|
||||||
cfg.DisableWorkflow("test1.yaml")
|
cfg.DisableWorkflow("test1.yaml")
|
||||||
assert.EqualValues(t, []string{"test1.yaml"}, cfg.DisabledWorkflows)
|
assert.Equal(t, []string{"test1.yaml"}, cfg.DisabledWorkflows)
|
||||||
|
|
||||||
cfg.EnableWorkflow("test1.yaml")
|
cfg.EnableWorkflow("test1.yaml")
|
||||||
assert.EqualValues(t, []string{}, cfg.DisabledWorkflows)
|
assert.Equal(t, []string{}, cfg.DisabledWorkflows)
|
||||||
|
|
||||||
cfg.EnableWorkflow("test1.yaml")
|
cfg.EnableWorkflow("test1.yaml")
|
||||||
assert.EqualValues(t, []string{}, cfg.DisabledWorkflows)
|
assert.Equal(t, []string{}, cfg.DisabledWorkflows)
|
||||||
|
|
||||||
cfg.DisableWorkflow("test1.yaml")
|
cfg.DisableWorkflow("test1.yaml")
|
||||||
cfg.DisableWorkflow("test2.yaml")
|
cfg.DisableWorkflow("test2.yaml")
|
||||||
cfg.DisableWorkflow("test3.yaml")
|
cfg.DisableWorkflow("test3.yaml")
|
||||||
assert.EqualValues(t, "test1.yaml,test2.yaml,test3.yaml", cfg.ToString())
|
assert.Equal(t, "test1.yaml,test2.yaml,test3.yaml", cfg.ToString())
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestRepoUnitAccessMode(t *testing.T) {
|
func TestRepoUnitAccessMode(t *testing.T) {
|
||||||
|
|
|
@ -53,7 +53,7 @@ func TestAddTopic(t *testing.T) {
|
||||||
repo2NrOfTopics = 2
|
repo2NrOfTopics = 2
|
||||||
totalNrOfTopics++
|
totalNrOfTopics++
|
||||||
topic := unittest.AssertExistsAndLoadBean(t, &repo_model.Topic{Name: "gitea"})
|
topic := unittest.AssertExistsAndLoadBean(t, &repo_model.Topic{Name: "gitea"})
|
||||||
assert.EqualValues(t, 1, topic.RepoCount)
|
assert.Equal(t, 1, topic.RepoCount)
|
||||||
|
|
||||||
topics, _, err = repo_model.FindTopics(db.DefaultContext, &repo_model.FindTopicOptions{})
|
topics, _, err = repo_model.FindTopics(db.DefaultContext, &repo_model.FindTopicOptions{})
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
|
@ -36,7 +36,7 @@ func TestGetWatchers(t *testing.T) {
|
||||||
// One watchers are inactive, thus minus 1
|
// One watchers are inactive, thus minus 1
|
||||||
assert.Len(t, watches, repo.NumWatches-1)
|
assert.Len(t, watches, repo.NumWatches-1)
|
||||||
for _, watch := range watches {
|
for _, watch := range watches {
|
||||||
assert.EqualValues(t, repo.ID, watch.RepoID)
|
assert.Equal(t, repo.ID, watch.RepoID)
|
||||||
}
|
}
|
||||||
|
|
||||||
watches, err = repo_model.GetWatchers(db.DefaultContext, unittest.NonexistentID)
|
watches, err = repo_model.GetWatchers(db.DefaultContext, unittest.NonexistentID)
|
||||||
|
|
|
@ -30,10 +30,10 @@ func Test_repoStatsCorrectIssueNumComments(t *testing.T) {
|
||||||
|
|
||||||
issue2 := unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: 2})
|
issue2 := unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: 2})
|
||||||
assert.NotNil(t, issue2)
|
assert.NotNil(t, issue2)
|
||||||
assert.EqualValues(t, 0, issue2.NumComments) // the fixture data is wrong, but we don't fix it here
|
assert.Equal(t, 0, issue2.NumComments) // the fixture data is wrong, but we don't fix it here
|
||||||
|
|
||||||
require.NoError(t, repoStatsCorrectIssueNumComments(db.DefaultContext, 2))
|
require.NoError(t, repoStatsCorrectIssueNumComments(db.DefaultContext, 2))
|
||||||
// reload the issue
|
// reload the issue
|
||||||
issue2 = unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: 2})
|
issue2 = unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: 2})
|
||||||
assert.EqualValues(t, 1, issue2.NumComments)
|
assert.Equal(t, 1, issue2.NumComments)
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,6 +23,6 @@ func TestGetPendingTransferIDs(t *testing.T) {
|
||||||
pendingTransferIDs, err := GetPendingTransferIDs(db.DefaultContext, reciepient.ID, doer.ID)
|
pendingTransferIDs, err := GetPendingTransferIDs(db.DefaultContext, reciepient.ID, doer.ID)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
if assert.Len(t, pendingTransferIDs, 1) {
|
if assert.Len(t, pendingTransferIDs, 1) {
|
||||||
assert.EqualValues(t, pendingTransfer.ID, pendingTransferIDs[0])
|
assert.Equal(t, pendingTransfer.ID, pendingTransferIDs[0])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,24 +22,24 @@ func TestSettings(t *testing.T) {
|
||||||
|
|
||||||
rev, settings, err := system.GetAllSettings(db.DefaultContext)
|
rev, settings, err := system.GetAllSettings(db.DefaultContext)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, 1, rev)
|
assert.Equal(t, 1, rev)
|
||||||
assert.Len(t, settings, 1) // there is only one "revision" key
|
assert.Len(t, settings, 1) // there is only one "revision" key
|
||||||
|
|
||||||
err = system.SetSettings(db.DefaultContext, map[string]string{keyName: "true"})
|
err = system.SetSettings(db.DefaultContext, map[string]string{keyName: "true"})
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
rev, settings, err = system.GetAllSettings(db.DefaultContext)
|
rev, settings, err = system.GetAllSettings(db.DefaultContext)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, 2, rev)
|
assert.Equal(t, 2, rev)
|
||||||
assert.Len(t, settings, 2)
|
assert.Len(t, settings, 2)
|
||||||
assert.EqualValues(t, "true", settings[keyName])
|
assert.Equal(t, "true", settings[keyName])
|
||||||
|
|
||||||
err = system.SetSettings(db.DefaultContext, map[string]string{keyName: "false"})
|
err = system.SetSettings(db.DefaultContext, map[string]string{keyName: "false"})
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
rev, settings, err = system.GetAllSettings(db.DefaultContext)
|
rev, settings, err = system.GetAllSettings(db.DefaultContext)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, 3, rev)
|
assert.Equal(t, 3, rev)
|
||||||
assert.Len(t, settings, 2)
|
assert.Len(t, settings, 2)
|
||||||
assert.EqualValues(t, "false", settings[keyName])
|
assert.Equal(t, "false", settings[keyName])
|
||||||
|
|
||||||
// setting the same value should not trigger DuplicateKey error, and the "version" should be increased
|
// setting the same value should not trigger DuplicateKey error, and the "version" should be increased
|
||||||
err = system.SetSettings(db.DefaultContext, map[string]string{keyName: "false"})
|
err = system.SetSettings(db.DefaultContext, map[string]string{keyName: "false"})
|
||||||
|
@ -48,5 +48,5 @@ func TestSettings(t *testing.T) {
|
||||||
rev, settings, err = system.GetAllSettings(db.DefaultContext)
|
rev, settings, err = system.GetAllSettings(db.DefaultContext)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Len(t, settings, 2)
|
assert.Len(t, settings, 2)
|
||||||
assert.EqualValues(t, 4, rev)
|
assert.Equal(t, 4, rev)
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,7 +49,7 @@ func checkForConsistency(t *testing.T, bean any) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
f := consistencyCheckMap[tb.Name]
|
f := consistencyCheckMap[tb.Name]
|
||||||
if f == nil {
|
if f == nil {
|
||||||
assert.FailNow(t, "unknown bean type: %#v", bean)
|
assert.FailNow(t, "unknown bean type", "%#v", bean)
|
||||||
}
|
}
|
||||||
f(t, bean)
|
f(t, bean)
|
||||||
}
|
}
|
||||||
|
@ -73,8 +73,8 @@ func init() {
|
||||||
AssertCountByCond(t, "follow", builder.Eq{"user_id": user.int("ID")}, user.int("NumFollowing"))
|
AssertCountByCond(t, "follow", builder.Eq{"user_id": user.int("ID")}, user.int("NumFollowing"))
|
||||||
AssertCountByCond(t, "follow", builder.Eq{"follow_id": user.int("ID")}, user.int("NumFollowers"))
|
AssertCountByCond(t, "follow", builder.Eq{"follow_id": user.int("ID")}, user.int("NumFollowers"))
|
||||||
if user.int("Type") != modelsUserTypeOrganization {
|
if user.int("Type") != modelsUserTypeOrganization {
|
||||||
assert.EqualValues(t, 0, user.int("NumMembers"), "Unexpected number of members for user id: %d", user.int("ID"))
|
assert.Equal(t, 0, user.int("NumMembers"), "Unexpected number of members for user id: %d", user.int("ID"))
|
||||||
assert.EqualValues(t, 0, user.int("NumTeams"), "Unexpected number of teams for user id: %d", user.int("ID"))
|
assert.Equal(t, 0, user.int("NumTeams"), "Unexpected number of teams for user id: %d", user.int("ID"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -121,7 +121,7 @@ func init() {
|
||||||
assert.EqualValues(t, issue.int("NumComments"), actual, "Unexpected number of comments for issue id: %d", issue.int("ID"))
|
assert.EqualValues(t, issue.int("NumComments"), actual, "Unexpected number of comments for issue id: %d", issue.int("ID"))
|
||||||
if issue.bool("IsPull") {
|
if issue.bool("IsPull") {
|
||||||
prRow := AssertExistsAndLoadMap(t, "pull_request", builder.Eq{"issue_id": issue.int("ID")})
|
prRow := AssertExistsAndLoadMap(t, "pull_request", builder.Eq{"issue_id": issue.int("ID")})
|
||||||
assert.EqualValues(t, parseInt(prRow["index"]), issue.int("Index"), "Unexpected index for issue id: %d", issue.int("ID"))
|
assert.Equal(t, parseInt(prRow["index"]), issue.int("Index"), "Unexpected index for issue id: %d", issue.int("ID"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -129,7 +129,7 @@ func init() {
|
||||||
pr := reflectionWrap(bean)
|
pr := reflectionWrap(bean)
|
||||||
issueRow := AssertExistsAndLoadMap(t, "issue", builder.Eq{"id": pr.int("IssueID")})
|
issueRow := AssertExistsAndLoadMap(t, "issue", builder.Eq{"id": pr.int("IssueID")})
|
||||||
assert.True(t, parseBool(issueRow["is_pull"]))
|
assert.True(t, parseBool(issueRow["is_pull"]))
|
||||||
assert.EqualValues(t, parseInt(issueRow["index"]), pr.int("Index"), "Unexpected index for pull request id: %d", pr.int("ID"))
|
assert.Equal(t, parseInt(issueRow["index"]), pr.int("Index"), "Unexpected index for pull request id: %d", pr.int("ID"))
|
||||||
}
|
}
|
||||||
|
|
||||||
checkForMilestoneConsistency := func(t *testing.T, bean any) {
|
checkForMilestoneConsistency := func(t *testing.T, bean any) {
|
||||||
|
|
|
@ -67,7 +67,7 @@ func NewMockWebServer(t *testing.T, liveServerBaseURL, testDataDir string, liveM
|
||||||
for headerName, headerValues := range response.Header {
|
for headerName, headerValues := range response.Header {
|
||||||
for _, headerValue := range headerValues {
|
for _, headerValue := range headerValues {
|
||||||
if !slices.Contains(ignoredHeaders, strings.ToLower(headerName)) {
|
if !slices.Contains(ignoredHeaders, strings.ToLower(headerName)) {
|
||||||
_, err := fixtureWriter.WriteString(fmt.Sprintf("%s: %s\n", headerName, headerValue))
|
_, err := fmt.Fprintf(fixtureWriter, "%s: %s\n", headerName, headerValue)
|
||||||
require.NoError(t, err, "writing the header of the HTTP response to the fixture file failed")
|
require.NoError(t, err, "writing the header of the HTTP response to the fixture file failed")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,13 +52,14 @@ func (opts *SearchUserOptions) toSearchQueryBase(ctx context.Context) *xorm.Sess
|
||||||
cond = builder.Eq{"type": opts.Type}
|
cond = builder.Eq{"type": opts.Type}
|
||||||
}
|
}
|
||||||
if opts.IncludeReserved {
|
if opts.IncludeReserved {
|
||||||
if opts.Type == UserTypeIndividual {
|
switch opts.Type {
|
||||||
|
case UserTypeIndividual:
|
||||||
cond = cond.Or(builder.Eq{"type": UserTypeUserReserved}).Or(
|
cond = cond.Or(builder.Eq{"type": UserTypeUserReserved}).Or(
|
||||||
builder.Eq{"type": UserTypeBot},
|
builder.Eq{"type": UserTypeBot},
|
||||||
).Or(
|
).Or(
|
||||||
builder.Eq{"type": UserTypeRemoteUser},
|
builder.Eq{"type": UserTypeRemoteUser},
|
||||||
)
|
)
|
||||||
} else if opts.Type == UserTypeOrganization {
|
case UserTypeOrganization:
|
||||||
cond = cond.Or(builder.Eq{"type": UserTypeOrganizationReserved})
|
cond = cond.Or(builder.Eq{"type": UserTypeOrganizationReserved})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,15 +31,15 @@ func TestSettings(t *testing.T) {
|
||||||
settings, err := user_model.GetSettings(db.DefaultContext, 99, []string{keyName})
|
settings, err := user_model.GetSettings(db.DefaultContext, 99, []string{keyName})
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Len(t, settings, 1)
|
assert.Len(t, settings, 1)
|
||||||
assert.EqualValues(t, newSetting.SettingValue, settings[keyName].SettingValue)
|
assert.Equal(t, newSetting.SettingValue, settings[keyName].SettingValue)
|
||||||
|
|
||||||
settingValue, err := user_model.GetUserSetting(db.DefaultContext, 99, keyName)
|
settingValue, err := user_model.GetUserSetting(db.DefaultContext, 99, keyName)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, newSetting.SettingValue, settingValue)
|
assert.Equal(t, newSetting.SettingValue, settingValue)
|
||||||
|
|
||||||
settingValue, err = user_model.GetUserSetting(db.DefaultContext, 99, "no_such")
|
settingValue, err = user_model.GetUserSetting(db.DefaultContext, 99, "no_such")
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, "", settingValue)
|
assert.Empty(t, settingValue)
|
||||||
|
|
||||||
// updated setting
|
// updated setting
|
||||||
updatedSetting := &user_model.Setting{UserID: 99, SettingKey: keyName, SettingValue: "Updated"}
|
updatedSetting := &user_model.Setting{UserID: 99, SettingKey: keyName, SettingValue: "Updated"}
|
||||||
|
@ -50,7 +50,7 @@ func TestSettings(t *testing.T) {
|
||||||
settings, err = user_model.GetUserAllSettings(db.DefaultContext, 99)
|
settings, err = user_model.GetUserAllSettings(db.DefaultContext, 99)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Len(t, settings, 1)
|
assert.Len(t, settings, 1)
|
||||||
assert.EqualValues(t, updatedSetting.SettingValue, settings[updatedSetting.SettingKey].SettingValue)
|
assert.Equal(t, updatedSetting.SettingValue, settings[updatedSetting.SettingKey].SettingValue)
|
||||||
|
|
||||||
// delete setting
|
// delete setting
|
||||||
err = user_model.DeleteUserSetting(db.DefaultContext, 99, keyName)
|
err = user_model.DeleteUserSetting(db.DefaultContext, 99, keyName)
|
||||||
|
|
|
@ -700,7 +700,7 @@ func createUser(ctx context.Context, u *User, createdByAdmin bool, overwriteDefa
|
||||||
u.MaxRepoCreation = -1
|
u.MaxRepoCreation = -1
|
||||||
u.Theme = setting.UI.DefaultTheme
|
u.Theme = setting.UI.DefaultTheme
|
||||||
u.IsRestricted = setting.Service.DefaultUserIsRestricted
|
u.IsRestricted = setting.Service.DefaultUserIsRestricted
|
||||||
u.IsActive = !(setting.Service.RegisterEmailConfirm || setting.Service.RegisterManualConfirm)
|
u.IsActive = !setting.Service.RegisterEmailConfirm && !setting.Service.RegisterManualConfirm
|
||||||
|
|
||||||
// Ensure consistency of the dates.
|
// Ensure consistency of the dates.
|
||||||
if u.UpdatedUnix < u.CreatedUnix {
|
if u.UpdatedUnix < u.CreatedUnix {
|
||||||
|
|
|
@ -153,7 +153,7 @@ func TestSearchUsers(t *testing.T) {
|
||||||
cassText := fmt.Sprintf("ids: %v, opts: %v", expectedUserOrOrgIDs, opts)
|
cassText := fmt.Sprintf("ids: %v, opts: %v", expectedUserOrOrgIDs, opts)
|
||||||
if assert.Len(t, users, len(expectedUserOrOrgIDs), "case: %s", cassText) {
|
if assert.Len(t, users, len(expectedUserOrOrgIDs), "case: %s", cassText) {
|
||||||
for i, expectedID := range expectedUserOrOrgIDs {
|
for i, expectedID := range expectedUserOrOrgIDs {
|
||||||
assert.EqualValues(t, expectedID, users[i].ID, "case: %s", cassText)
|
assert.Equal(t, expectedID, users[i].ID, "case: %s", cassText)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -616,7 +616,7 @@ func Test_ValidateUser(t *testing.T) {
|
||||||
{ID: 2, Visibility: structs.VisibleTypePrivate}: true,
|
{ID: 2, Visibility: structs.VisibleTypePrivate}: true,
|
||||||
}
|
}
|
||||||
for kase, expected := range kases {
|
for kase, expected := range kases {
|
||||||
assert.EqualValues(t, expected, nil == user_model.ValidateUser(kase))
|
assert.Equal(t, expected, nil == user_model.ValidateUser(kase))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -644,7 +644,7 @@ func Test_NormalizeUserFromEmail(t *testing.T) {
|
||||||
for _, testCase := range testCases {
|
for _, testCase := range testCases {
|
||||||
normalizedName, err := user_model.NormalizeUserName(testCase.Input)
|
normalizedName, err := user_model.NormalizeUserName(testCase.Input)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, testCase.Expected, normalizedName)
|
assert.Equal(t, testCase.Expected, normalizedName)
|
||||||
if testCase.IsNormalizedValid {
|
if testCase.IsNormalizedValid {
|
||||||
require.NoError(t, user_model.IsUsableUsername(normalizedName))
|
require.NoError(t, user_model.IsUsableUsername(normalizedName))
|
||||||
} else {
|
} else {
|
||||||
|
@ -674,13 +674,13 @@ func TestEmailTo(t *testing.T) {
|
||||||
for _, testCase := range testCases {
|
for _, testCase := range testCases {
|
||||||
t.Run(testCase.result, func(t *testing.T) {
|
t.Run(testCase.result, func(t *testing.T) {
|
||||||
testUser := &user_model.User{FullName: testCase.fullName, Email: testCase.mail}
|
testUser := &user_model.User{FullName: testCase.fullName, Email: testCase.mail}
|
||||||
assert.EqualValues(t, testCase.result, testUser.EmailTo())
|
assert.Equal(t, testCase.result, testUser.EmailTo())
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
t.Run("Override user's email", func(t *testing.T) {
|
t.Run("Override user's email", func(t *testing.T) {
|
||||||
testUser := &user_model.User{FullName: "Christine Jorgensen", Email: "christine@test.com"}
|
testUser := &user_model.User{FullName: "Christine Jorgensen", Email: "christine@test.com"}
|
||||||
assert.EqualValues(t, `"Christine Jorgensen" <christine@example.org>`, testUser.EmailTo("christine@example.org"))
|
assert.Equal(t, `"Christine Jorgensen" <christine@example.org>`, testUser.EmailTo("christine@example.org"))
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -736,7 +736,7 @@ func TestGenerateEmailAuthorizationCode(t *testing.T) {
|
||||||
authToken, err := auth.FindAuthToken(db.DefaultContext, lookupKey, auth.UserActivation)
|
authToken, err := auth.FindAuthToken(db.DefaultContext, lookupKey, auth.UserActivation)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.False(t, authToken.IsExpired())
|
assert.False(t, authToken.IsExpired())
|
||||||
assert.EqualValues(t, authToken.HashedValidator, auth.HashValidator(rawValidator))
|
assert.Equal(t, authToken.HashedValidator, auth.HashValidator(rawValidator))
|
||||||
|
|
||||||
authToken.Expiry = authToken.Expiry.Add(-int64(setting.Service.ActiveCodeLives) * 60)
|
authToken.Expiry = authToken.Expiry.Add(-int64(setting.Service.ActiveCodeLives) * 60)
|
||||||
assert.True(t, authToken.IsExpired())
|
assert.True(t, authToken.IsExpired())
|
||||||
|
@ -763,7 +763,7 @@ func TestVerifyUserAuthorizationToken(t *testing.T) {
|
||||||
t.Run("No delete", func(t *testing.T) {
|
t.Run("No delete", func(t *testing.T) {
|
||||||
u, _, err := user_model.VerifyUserAuthorizationToken(db.DefaultContext, code, auth.UserActivation)
|
u, _, err := user_model.VerifyUserAuthorizationToken(db.DefaultContext, code, auth.UserActivation)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, user.ID, u.ID)
|
assert.Equal(t, user.ID, u.ID)
|
||||||
|
|
||||||
authToken, err := auth.FindAuthToken(db.DefaultContext, lookupKey, auth.UserActivation)
|
authToken, err := auth.FindAuthToken(db.DefaultContext, lookupKey, auth.UserActivation)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
@ -773,7 +773,7 @@ func TestVerifyUserAuthorizationToken(t *testing.T) {
|
||||||
t.Run("Delete", func(t *testing.T) {
|
t.Run("Delete", func(t *testing.T) {
|
||||||
u, deleteToken, err := user_model.VerifyUserAuthorizationToken(db.DefaultContext, code, auth.UserActivation)
|
u, deleteToken, err := user_model.VerifyUserAuthorizationToken(db.DefaultContext, code, auth.UserActivation)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, user.ID, u.ID)
|
assert.Equal(t, user.ID, u.ID)
|
||||||
require.NoError(t, deleteToken())
|
require.NoError(t, deleteToken())
|
||||||
|
|
||||||
authToken, err := auth.FindAuthToken(db.DefaultContext, lookupKey, auth.UserActivation)
|
authToken, err := auth.FindAuthToken(db.DefaultContext, lookupKey, auth.UserActivation)
|
||||||
|
@ -803,14 +803,14 @@ func TestPronounsPrivacy(t *testing.T) {
|
||||||
user.Pronouns = ""
|
user.Pronouns = ""
|
||||||
user.KeepPronounsPrivate = false
|
user.KeepPronounsPrivate = false
|
||||||
|
|
||||||
assert.Equal(t, "", user.GetPronouns(false))
|
assert.Empty(t, user.GetPronouns(false))
|
||||||
})
|
})
|
||||||
t.Run("EmptyPronounsIfSetButPrivateAndNotLoggedIn", func(t *testing.T) {
|
t.Run("EmptyPronounsIfSetButPrivateAndNotLoggedIn", func(t *testing.T) {
|
||||||
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
|
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
|
||||||
user.Pronouns = "any"
|
user.Pronouns = "any"
|
||||||
user.KeepPronounsPrivate = true
|
user.KeepPronounsPrivate = true
|
||||||
|
|
||||||
assert.Equal(t, "", user.GetPronouns(false))
|
assert.Empty(t, user.GetPronouns(false))
|
||||||
})
|
})
|
||||||
t.Run("ReturnPronounsIfSetAndNotPrivateAndNotLoggedIn", func(t *testing.T) {
|
t.Run("ReturnPronounsIfSetAndNotPrivateAndNotLoggedIn", func(t *testing.T) {
|
||||||
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
|
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
|
||||||
|
|
|
@ -198,7 +198,8 @@ func MarkTaskDelivered(ctx context.Context, task *HookTask) (bool, error) {
|
||||||
func CleanupHookTaskTable(ctx context.Context, cleanupType HookTaskCleanupType, olderThan time.Duration, numberToKeep int) error {
|
func CleanupHookTaskTable(ctx context.Context, cleanupType HookTaskCleanupType, olderThan time.Duration, numberToKeep int) error {
|
||||||
log.Trace("Doing: CleanupHookTaskTable")
|
log.Trace("Doing: CleanupHookTaskTable")
|
||||||
|
|
||||||
if cleanupType == OlderThan {
|
switch cleanupType {
|
||||||
|
case OlderThan:
|
||||||
deleteOlderThan := time.Now().Add(-olderThan).UnixNano()
|
deleteOlderThan := time.Now().Add(-olderThan).UnixNano()
|
||||||
deletes, err := db.GetEngine(ctx).
|
deletes, err := db.GetEngine(ctx).
|
||||||
Where("is_delivered = ? and delivered < ?", true, deleteOlderThan).
|
Where("is_delivered = ? and delivered < ?", true, deleteOlderThan).
|
||||||
|
@ -207,7 +208,7 @@ func CleanupHookTaskTable(ctx context.Context, cleanupType HookTaskCleanupType,
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
log.Trace("Deleted %d rows from hook_task", deletes)
|
log.Trace("Deleted %d rows from hook_task", deletes)
|
||||||
} else if cleanupType == PerWebhook {
|
case PerWebhook:
|
||||||
hookIDs := make([]int64, 0, 10)
|
hookIDs := make([]int64, 0, 10)
|
||||||
err := db.GetEngine(ctx).
|
err := db.GetEngine(ctx).
|
||||||
Table("webhook").
|
Table("webhook").
|
||||||
|
|
|
@ -170,139 +170,139 @@ func (w *Webhook) UpdateEvent() error {
|
||||||
// HasCreateEvent returns true if hook enabled create event.
|
// HasCreateEvent returns true if hook enabled create event.
|
||||||
func (w *Webhook) HasCreateEvent() bool {
|
func (w *Webhook) HasCreateEvent() bool {
|
||||||
return w.SendEverything ||
|
return w.SendEverything ||
|
||||||
(w.ChooseEvents && w.HookEvents.Create)
|
(w.ChooseEvents && w.Create)
|
||||||
}
|
}
|
||||||
|
|
||||||
// HasDeleteEvent returns true if hook enabled delete event.
|
// HasDeleteEvent returns true if hook enabled delete event.
|
||||||
func (w *Webhook) HasDeleteEvent() bool {
|
func (w *Webhook) HasDeleteEvent() bool {
|
||||||
return w.SendEverything ||
|
return w.SendEverything ||
|
||||||
(w.ChooseEvents && w.HookEvents.Delete)
|
(w.ChooseEvents && w.Delete)
|
||||||
}
|
}
|
||||||
|
|
||||||
// HasForkEvent returns true if hook enabled fork event.
|
// HasForkEvent returns true if hook enabled fork event.
|
||||||
func (w *Webhook) HasForkEvent() bool {
|
func (w *Webhook) HasForkEvent() bool {
|
||||||
return w.SendEverything ||
|
return w.SendEverything ||
|
||||||
(w.ChooseEvents && w.HookEvents.Fork)
|
(w.ChooseEvents && w.Fork)
|
||||||
}
|
}
|
||||||
|
|
||||||
// HasIssuesEvent returns true if hook enabled issues event.
|
// HasIssuesEvent returns true if hook enabled issues event.
|
||||||
func (w *Webhook) HasIssuesEvent() bool {
|
func (w *Webhook) HasIssuesEvent() bool {
|
||||||
return w.SendEverything ||
|
return w.SendEverything ||
|
||||||
(w.ChooseEvents && w.HookEvents.Issues)
|
(w.ChooseEvents && w.Issues)
|
||||||
}
|
}
|
||||||
|
|
||||||
// HasIssuesAssignEvent returns true if hook enabled issues assign event.
|
// HasIssuesAssignEvent returns true if hook enabled issues assign event.
|
||||||
func (w *Webhook) HasIssuesAssignEvent() bool {
|
func (w *Webhook) HasIssuesAssignEvent() bool {
|
||||||
return w.SendEverything ||
|
return w.SendEverything ||
|
||||||
(w.ChooseEvents && w.HookEvents.IssueAssign)
|
(w.ChooseEvents && w.IssueAssign)
|
||||||
}
|
}
|
||||||
|
|
||||||
// HasIssuesLabelEvent returns true if hook enabled issues label event.
|
// HasIssuesLabelEvent returns true if hook enabled issues label event.
|
||||||
func (w *Webhook) HasIssuesLabelEvent() bool {
|
func (w *Webhook) HasIssuesLabelEvent() bool {
|
||||||
return w.SendEverything ||
|
return w.SendEverything ||
|
||||||
(w.ChooseEvents && w.HookEvents.IssueLabel)
|
(w.ChooseEvents && w.IssueLabel)
|
||||||
}
|
}
|
||||||
|
|
||||||
// HasIssuesMilestoneEvent returns true if hook enabled issues milestone event.
|
// HasIssuesMilestoneEvent returns true if hook enabled issues milestone event.
|
||||||
func (w *Webhook) HasIssuesMilestoneEvent() bool {
|
func (w *Webhook) HasIssuesMilestoneEvent() bool {
|
||||||
return w.SendEverything ||
|
return w.SendEverything ||
|
||||||
(w.ChooseEvents && w.HookEvents.IssueMilestone)
|
(w.ChooseEvents && w.IssueMilestone)
|
||||||
}
|
}
|
||||||
|
|
||||||
// HasIssueCommentEvent returns true if hook enabled issue_comment event.
|
// HasIssueCommentEvent returns true if hook enabled issue_comment event.
|
||||||
func (w *Webhook) HasIssueCommentEvent() bool {
|
func (w *Webhook) HasIssueCommentEvent() bool {
|
||||||
return w.SendEverything ||
|
return w.SendEverything ||
|
||||||
(w.ChooseEvents && w.HookEvents.IssueComment)
|
(w.ChooseEvents && w.IssueComment)
|
||||||
}
|
}
|
||||||
|
|
||||||
// HasPushEvent returns true if hook enabled push event.
|
// HasPushEvent returns true if hook enabled push event.
|
||||||
func (w *Webhook) HasPushEvent() bool {
|
func (w *Webhook) HasPushEvent() bool {
|
||||||
return w.PushOnly || w.SendEverything ||
|
return w.PushOnly || w.SendEverything ||
|
||||||
(w.ChooseEvents && w.HookEvents.Push)
|
(w.ChooseEvents && w.Push)
|
||||||
}
|
}
|
||||||
|
|
||||||
// HasPullRequestEvent returns true if hook enabled pull request event.
|
// HasPullRequestEvent returns true if hook enabled pull request event.
|
||||||
func (w *Webhook) HasPullRequestEvent() bool {
|
func (w *Webhook) HasPullRequestEvent() bool {
|
||||||
return w.SendEverything ||
|
return w.SendEverything ||
|
||||||
(w.ChooseEvents && w.HookEvents.PullRequest)
|
(w.ChooseEvents && w.PullRequest)
|
||||||
}
|
}
|
||||||
|
|
||||||
// HasPullRequestAssignEvent returns true if hook enabled pull request assign event.
|
// HasPullRequestAssignEvent returns true if hook enabled pull request assign event.
|
||||||
func (w *Webhook) HasPullRequestAssignEvent() bool {
|
func (w *Webhook) HasPullRequestAssignEvent() bool {
|
||||||
return w.SendEverything ||
|
return w.SendEverything ||
|
||||||
(w.ChooseEvents && w.HookEvents.PullRequestAssign)
|
(w.ChooseEvents && w.PullRequestAssign)
|
||||||
}
|
}
|
||||||
|
|
||||||
// HasPullRequestLabelEvent returns true if hook enabled pull request label event.
|
// HasPullRequestLabelEvent returns true if hook enabled pull request label event.
|
||||||
func (w *Webhook) HasPullRequestLabelEvent() bool {
|
func (w *Webhook) HasPullRequestLabelEvent() bool {
|
||||||
return w.SendEverything ||
|
return w.SendEverything ||
|
||||||
(w.ChooseEvents && w.HookEvents.PullRequestLabel)
|
(w.ChooseEvents && w.PullRequestLabel)
|
||||||
}
|
}
|
||||||
|
|
||||||
// HasPullRequestMilestoneEvent returns true if hook enabled pull request milestone event.
|
// HasPullRequestMilestoneEvent returns true if hook enabled pull request milestone event.
|
||||||
func (w *Webhook) HasPullRequestMilestoneEvent() bool {
|
func (w *Webhook) HasPullRequestMilestoneEvent() bool {
|
||||||
return w.SendEverything ||
|
return w.SendEverything ||
|
||||||
(w.ChooseEvents && w.HookEvents.PullRequestMilestone)
|
(w.ChooseEvents && w.PullRequestMilestone)
|
||||||
}
|
}
|
||||||
|
|
||||||
// HasPullRequestCommentEvent returns true if hook enabled pull_request_comment event.
|
// HasPullRequestCommentEvent returns true if hook enabled pull_request_comment event.
|
||||||
func (w *Webhook) HasPullRequestCommentEvent() bool {
|
func (w *Webhook) HasPullRequestCommentEvent() bool {
|
||||||
return w.SendEverything ||
|
return w.SendEverything ||
|
||||||
(w.ChooseEvents && w.HookEvents.PullRequestComment)
|
(w.ChooseEvents && w.PullRequestComment)
|
||||||
}
|
}
|
||||||
|
|
||||||
// HasPullRequestApprovedEvent returns true if hook enabled pull request review event.
|
// HasPullRequestApprovedEvent returns true if hook enabled pull request review event.
|
||||||
func (w *Webhook) HasPullRequestApprovedEvent() bool {
|
func (w *Webhook) HasPullRequestApprovedEvent() bool {
|
||||||
return w.SendEverything ||
|
return w.SendEverything ||
|
||||||
(w.ChooseEvents && w.HookEvents.PullRequestReview)
|
(w.ChooseEvents && w.PullRequestReview)
|
||||||
}
|
}
|
||||||
|
|
||||||
// HasPullRequestRejectedEvent returns true if hook enabled pull request review event.
|
// HasPullRequestRejectedEvent returns true if hook enabled pull request review event.
|
||||||
func (w *Webhook) HasPullRequestRejectedEvent() bool {
|
func (w *Webhook) HasPullRequestRejectedEvent() bool {
|
||||||
return w.SendEverything ||
|
return w.SendEverything ||
|
||||||
(w.ChooseEvents && w.HookEvents.PullRequestReview)
|
(w.ChooseEvents && w.PullRequestReview)
|
||||||
}
|
}
|
||||||
|
|
||||||
// HasPullRequestReviewCommentEvent returns true if hook enabled pull request review event.
|
// HasPullRequestReviewCommentEvent returns true if hook enabled pull request review event.
|
||||||
func (w *Webhook) HasPullRequestReviewCommentEvent() bool {
|
func (w *Webhook) HasPullRequestReviewCommentEvent() bool {
|
||||||
return w.SendEverything ||
|
return w.SendEverything ||
|
||||||
(w.ChooseEvents && w.HookEvents.PullRequestReview)
|
(w.ChooseEvents && w.PullRequestReview)
|
||||||
}
|
}
|
||||||
|
|
||||||
// HasPullRequestSyncEvent returns true if hook enabled pull request sync event.
|
// HasPullRequestSyncEvent returns true if hook enabled pull request sync event.
|
||||||
func (w *Webhook) HasPullRequestSyncEvent() bool {
|
func (w *Webhook) HasPullRequestSyncEvent() bool {
|
||||||
return w.SendEverything ||
|
return w.SendEverything ||
|
||||||
(w.ChooseEvents && w.HookEvents.PullRequestSync)
|
(w.ChooseEvents && w.PullRequestSync)
|
||||||
}
|
}
|
||||||
|
|
||||||
// HasWikiEvent returns true if hook enabled wiki event.
|
// HasWikiEvent returns true if hook enabled wiki event.
|
||||||
func (w *Webhook) HasWikiEvent() bool {
|
func (w *Webhook) HasWikiEvent() bool {
|
||||||
return w.SendEverything ||
|
return w.SendEverything ||
|
||||||
(w.ChooseEvents && w.HookEvent.Wiki)
|
(w.ChooseEvents && w.Wiki)
|
||||||
}
|
}
|
||||||
|
|
||||||
// HasReleaseEvent returns if hook enabled release event.
|
// HasReleaseEvent returns if hook enabled release event.
|
||||||
func (w *Webhook) HasReleaseEvent() bool {
|
func (w *Webhook) HasReleaseEvent() bool {
|
||||||
return w.SendEverything ||
|
return w.SendEverything ||
|
||||||
(w.ChooseEvents && w.HookEvents.Release)
|
(w.ChooseEvents && w.Release)
|
||||||
}
|
}
|
||||||
|
|
||||||
// HasRepositoryEvent returns if hook enabled repository event.
|
// HasRepositoryEvent returns if hook enabled repository event.
|
||||||
func (w *Webhook) HasRepositoryEvent() bool {
|
func (w *Webhook) HasRepositoryEvent() bool {
|
||||||
return w.SendEverything ||
|
return w.SendEverything ||
|
||||||
(w.ChooseEvents && w.HookEvents.Repository)
|
(w.ChooseEvents && w.Repository)
|
||||||
}
|
}
|
||||||
|
|
||||||
// HasPackageEvent returns if hook enabled package event.
|
// HasPackageEvent returns if hook enabled package event.
|
||||||
func (w *Webhook) HasPackageEvent() bool {
|
func (w *Webhook) HasPackageEvent() bool {
|
||||||
return w.SendEverything ||
|
return w.SendEverything ||
|
||||||
(w.ChooseEvents && w.HookEvents.Package)
|
(w.ChooseEvents && w.Package)
|
||||||
}
|
}
|
||||||
|
|
||||||
// HasPullRequestReviewRequestEvent returns true if hook enabled pull request review request event.
|
// HasPullRequestReviewRequestEvent returns true if hook enabled pull request review request event.
|
||||||
func (w *Webhook) HasPullRequestReviewRequestEvent() bool {
|
func (w *Webhook) HasPullRequestReviewRequestEvent() bool {
|
||||||
return w.SendEverything ||
|
return w.SendEverything ||
|
||||||
(w.ChooseEvents && w.HookEvents.PullRequestReviewRequest)
|
(w.ChooseEvents && w.PullRequestReviewRequest)
|
||||||
}
|
}
|
||||||
|
|
||||||
// EventCheckers returns event checkers
|
// EventCheckers returns event checkers
|
||||||
|
|
|
@ -53,7 +53,7 @@ func TestLayered(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
bs, err := io.ReadAll(f)
|
bs, err := io.ReadAll(f)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, "f1", string(bs))
|
assert.Equal(t, "f1", string(bs))
|
||||||
_ = f.Close()
|
_ = f.Close()
|
||||||
|
|
||||||
assertRead := func(expected string, expectedErr error, elems ...string) {
|
assertRead := func(expected string, expectedErr error, elems ...string) {
|
||||||
|
@ -77,27 +77,27 @@ func TestLayered(t *testing.T) {
|
||||||
|
|
||||||
files, err := assets.ListFiles(".", true)
|
files, err := assets.ListFiles(".", true)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, []string{"f1", "f2", "fa"}, files)
|
assert.Equal(t, []string{"f1", "f2", "fa"}, files)
|
||||||
|
|
||||||
files, err = assets.ListFiles(".", false)
|
files, err = assets.ListFiles(".", false)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, []string{"d1", "d2", "da"}, files)
|
assert.Equal(t, []string{"d1", "d2", "da"}, files)
|
||||||
|
|
||||||
files, err = assets.ListFiles(".")
|
files, err = assets.ListFiles(".")
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, []string{"d1", "d2", "da", "f1", "f2", "fa"}, files)
|
assert.Equal(t, []string{"d1", "d2", "da", "f1", "f2", "fa"}, files)
|
||||||
|
|
||||||
files, err = assets.ListAllFiles(".", true)
|
files, err = assets.ListAllFiles(".", true)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, []string{"d1/f", "d2/f", "da/f", "f1", "f2", "fa"}, files)
|
assert.Equal(t, []string{"d1/f", "d2/f", "da/f", "f1", "f2", "fa"}, files)
|
||||||
|
|
||||||
files, err = assets.ListAllFiles(".", false)
|
files, err = assets.ListAllFiles(".", false)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, []string{"d1", "d2", "da", "da/sub1", "da/sub2"}, files)
|
assert.Equal(t, []string{"d1", "d2", "da", "da/sub1", "da/sub2"}, files)
|
||||||
|
|
||||||
files, err = assets.ListAllFiles(".")
|
files, err = assets.ListAllFiles(".")
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, []string{
|
assert.Equal(t, []string{
|
||||||
"d1", "d1/f",
|
"d1", "d1/f",
|
||||||
"d2", "d2/f",
|
"d2", "d2/f",
|
||||||
"da", "da/f", "da/sub1", "da/sub2",
|
"da", "da/f", "da/sub1", "da/sub2",
|
||||||
|
@ -105,6 +105,6 @@ func TestLayered(t *testing.T) {
|
||||||
}, files)
|
}, files)
|
||||||
|
|
||||||
assert.Empty(t, assets.GetFileLayerName("no-such"))
|
assert.Empty(t, assets.GetFileLayerName("no-such"))
|
||||||
assert.EqualValues(t, "l1", assets.GetFileLayerName("f1"))
|
assert.Equal(t, "l1", assets.GetFileLayerName("f1"))
|
||||||
assert.EqualValues(t, "l2", assets.GetFileLayerName("f2"))
|
assert.Equal(t, "l2", assets.GetFileLayerName("f2"))
|
||||||
}
|
}
|
||||||
|
|
|
@ -95,8 +95,8 @@ func Test_ProcessAvatarImage(t *testing.T) {
|
||||||
assert.NotEqual(t, origin, result)
|
assert.NotEqual(t, origin, result)
|
||||||
decoded, err := png.Decode(bytes.NewReader(result))
|
decoded, err := png.Decode(bytes.NewReader(result))
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, scaledSize, decoded.Bounds().Max.X)
|
assert.Equal(t, scaledSize, decoded.Bounds().Max.X)
|
||||||
assert.EqualValues(t, scaledSize, decoded.Bounds().Max.Y)
|
assert.Equal(t, scaledSize, decoded.Bounds().Max.Y)
|
||||||
|
|
||||||
// if origin image is smaller than the default size, use the origin image
|
// if origin image is smaller than the default size, use the origin image
|
||||||
origin = newImgData(1)
|
origin = newImgData(1)
|
||||||
|
|
|
@ -19,8 +19,8 @@ func Test_HashAvatar(t *testing.T) {
|
||||||
var buff bytes.Buffer
|
var buff bytes.Buffer
|
||||||
png.Encode(&buff, myImage)
|
png.Encode(&buff, myImage)
|
||||||
|
|
||||||
assert.EqualValues(t, "9ddb5bac41d57e72aa876321d0c09d71090c05f94bc625303801be2f3240d2cb", avatar.HashAvatar(1, buff.Bytes()))
|
assert.Equal(t, "9ddb5bac41d57e72aa876321d0c09d71090c05f94bc625303801be2f3240d2cb", avatar.HashAvatar(1, buff.Bytes()))
|
||||||
assert.EqualValues(t, "9a5d44e5d637b9582a976676e8f3de1dccd877c2fe3e66ca3fab1629f2f47609", avatar.HashAvatar(8, buff.Bytes()))
|
assert.Equal(t, "9a5d44e5d637b9582a976676e8f3de1dccd877c2fe3e66ca3fab1629f2f47609", avatar.HashAvatar(8, buff.Bytes()))
|
||||||
assert.EqualValues(t, "ed7399158672088770de6f5211ce15528ebd675e92fc4fc060c025f4b2794ccb", avatar.HashAvatar(1024, buff.Bytes()))
|
assert.Equal(t, "ed7399158672088770de6f5211ce15528ebd675e92fc4fc060c025f4b2794ccb", avatar.HashAvatar(1024, buff.Bytes()))
|
||||||
assert.EqualValues(t, "161178642c7d59eb25a61dddced5e6b66eae1c70880d5f148b1b497b767e72d9", avatar.HashAvatar(1024, []byte{}))
|
assert.Equal(t, "161178642c7d59eb25a61dddced5e6b66eae1c70880d5f148b1b497b767e72d9", avatar.HashAvatar(1024, []byte{}))
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,7 +73,7 @@ func TestEllipsisString(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestTruncateString(t *testing.T) {
|
func TestTruncateString(t *testing.T) {
|
||||||
assert.Equal(t, "", TruncateString("foobar", 0))
|
assert.Empty(t, TruncateString("foobar", 0))
|
||||||
assert.Equal(t, "f", TruncateString("foobar", 1))
|
assert.Equal(t, "f", TruncateString("foobar", 1))
|
||||||
assert.Equal(t, "fo", TruncateString("foobar", 2))
|
assert.Equal(t, "fo", TruncateString("foobar", 2))
|
||||||
assert.Equal(t, "foo", TruncateString("foobar", 3))
|
assert.Equal(t, "foo", TruncateString("foobar", 3))
|
||||||
|
@ -125,5 +125,5 @@ func TestFormatNumberSI(t *testing.T) {
|
||||||
assert.Equal(t, "1.3k", FormatNumberSI(int64(1317)))
|
assert.Equal(t, "1.3k", FormatNumberSI(int64(1317)))
|
||||||
assert.Equal(t, "21.3M", FormatNumberSI(21317675))
|
assert.Equal(t, "21.3M", FormatNumberSI(21317675))
|
||||||
assert.Equal(t, "45.7G", FormatNumberSI(45721317675))
|
assert.Equal(t, "45.7G", FormatNumberSI(45721317675))
|
||||||
assert.Equal(t, "", FormatNumberSI("test"))
|
assert.Empty(t, FormatNumberSI("test"))
|
||||||
}
|
}
|
||||||
|
|
6
modules/cache/cache_test.go
vendored
6
modules/cache/cache_test.go
vendored
|
@ -48,19 +48,19 @@ func TestGetString(t *testing.T) {
|
||||||
return "", fmt.Errorf("some error")
|
return "", fmt.Errorf("some error")
|
||||||
})
|
})
|
||||||
require.Error(t, err)
|
require.Error(t, err)
|
||||||
assert.Equal(t, "", data)
|
assert.Empty(t, data)
|
||||||
|
|
||||||
data, err = GetString("key", func() (string, error) {
|
data, err = GetString("key", func() (string, error) {
|
||||||
return "", nil
|
return "", nil
|
||||||
})
|
})
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, "", data)
|
assert.Empty(t, data)
|
||||||
|
|
||||||
data, err = GetString("key", func() (string, error) {
|
data, err = GetString("key", func() (string, error) {
|
||||||
return "some data", nil
|
return "some data", nil
|
||||||
})
|
})
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, "", data)
|
assert.Empty(t, data)
|
||||||
Remove("key")
|
Remove("key")
|
||||||
|
|
||||||
data, err = GetString("key", func() (string, error) {
|
data, err = GetString("key", func() (string, error) {
|
||||||
|
|
4
modules/cache/context_test.go
vendored
4
modules/cache/context_test.go
vendored
|
@ -23,7 +23,7 @@ func TestWithCacheContext(t *testing.T) {
|
||||||
SetContextData(ctx, field, "my_config1", 1)
|
SetContextData(ctx, field, "my_config1", 1)
|
||||||
v = GetContextData(ctx, field, "my_config1")
|
v = GetContextData(ctx, field, "my_config1")
|
||||||
assert.NotNil(t, v)
|
assert.NotNil(t, v)
|
||||||
assert.EqualValues(t, 1, v.(int))
|
assert.Equal(t, 1, v.(int))
|
||||||
|
|
||||||
RemoveContextData(ctx, field, "my_config1")
|
RemoveContextData(ctx, field, "my_config1")
|
||||||
RemoveContextData(ctx, field, "my_config2") // remove a non-exist key
|
RemoveContextData(ctx, field, "my_config2") // remove a non-exist key
|
||||||
|
@ -35,7 +35,7 @@ func TestWithCacheContext(t *testing.T) {
|
||||||
return 1, nil
|
return 1, nil
|
||||||
})
|
})
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, 1, vInt)
|
assert.Equal(t, 1, vInt)
|
||||||
|
|
||||||
v = GetContextData(ctx, field, "my_config1")
|
v = GetContextData(ctx, field, "my_config1")
|
||||||
assert.EqualValues(t, 1, v)
|
assert.EqualValues(t, 1, v)
|
||||||
|
|
|
@ -14,7 +14,7 @@ import (
|
||||||
func TestAmbiguousCharacters(t *testing.T) {
|
func TestAmbiguousCharacters(t *testing.T) {
|
||||||
for locale, ambiguous := range AmbiguousCharacters {
|
for locale, ambiguous := range AmbiguousCharacters {
|
||||||
assert.Equal(t, locale, ambiguous.Locale)
|
assert.Equal(t, locale, ambiguous.Locale)
|
||||||
assert.Equal(t, len(ambiguous.Confusable), len(ambiguous.With))
|
assert.Len(t, ambiguous.With, len(ambiguous.Confusable))
|
||||||
assert.True(t, sort.SliceIsSorted(ambiguous.Confusable, func(i, j int) bool {
|
assert.True(t, sort.SliceIsSorted(ambiguous.Confusable, func(i, j int) bool {
|
||||||
return ambiguous.Confusable[i] < ambiguous.Confusable[j]
|
return ambiguous.Confusable[i] < ambiguous.Confusable[j]
|
||||||
}))
|
}))
|
||||||
|
|
|
@ -253,7 +253,7 @@ func TestToUTF8WithFallbackReader(t *testing.T) {
|
||||||
input += "// Выключаем"
|
input += "// Выключаем"
|
||||||
rd := ToUTF8WithFallbackReader(bytes.NewReader([]byte(input)), ConvertOpts{})
|
rd := ToUTF8WithFallbackReader(bytes.NewReader([]byte(input)), ConvertOpts{})
|
||||||
r, _ := io.ReadAll(rd)
|
r, _ := io.ReadAll(rd)
|
||||||
assert.EqualValuesf(t, input, string(r), "testing string len=%d", testLen)
|
assert.Equalf(t, input, string(r), "testing string len=%d", testLen)
|
||||||
}
|
}
|
||||||
|
|
||||||
truncatedOneByteExtension := failFastBytes
|
truncatedOneByteExtension := failFastBytes
|
||||||
|
|
|
@ -151,7 +151,7 @@ func (e *escapeStreamer) brokenRune(bs []byte) error {
|
||||||
e.escaped.Escaped = true
|
e.escaped.Escaped = true
|
||||||
e.escaped.HasBadRunes = true
|
e.escaped.HasBadRunes = true
|
||||||
|
|
||||||
if err := e.PassthroughHTMLStreamer.StartTag("span", html.Attribute{
|
if err := e.StartTag("span", html.Attribute{
|
||||||
Key: "class",
|
Key: "class",
|
||||||
Val: "broken-code-point",
|
Val: "broken-code-point",
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
|
@ -161,14 +161,14 @@ func (e *escapeStreamer) brokenRune(bs []byte) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
return e.PassthroughHTMLStreamer.EndTag("span")
|
return e.EndTag("span")
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *escapeStreamer) ambiguousRune(r, c rune) error {
|
func (e *escapeStreamer) ambiguousRune(r, c rune) error {
|
||||||
e.escaped.Escaped = true
|
e.escaped.Escaped = true
|
||||||
e.escaped.HasAmbiguous = true
|
e.escaped.HasAmbiguous = true
|
||||||
|
|
||||||
if err := e.PassthroughHTMLStreamer.StartTag("span", html.Attribute{
|
if err := e.StartTag("span", html.Attribute{
|
||||||
Key: "class",
|
Key: "class",
|
||||||
Val: "ambiguous-code-point",
|
Val: "ambiguous-code-point",
|
||||||
}, html.Attribute{
|
}, html.Attribute{
|
||||||
|
@ -177,7 +177,7 @@ func (e *escapeStreamer) ambiguousRune(r, c rune) error {
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if err := e.PassthroughHTMLStreamer.StartTag("span", html.Attribute{
|
if err := e.StartTag("span", html.Attribute{
|
||||||
Key: "class",
|
Key: "class",
|
||||||
Val: "char",
|
Val: "char",
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
|
@ -186,18 +186,18 @@ func (e *escapeStreamer) ambiguousRune(r, c rune) error {
|
||||||
if err := e.PassthroughHTMLStreamer.Text(string(r)); err != nil {
|
if err := e.PassthroughHTMLStreamer.Text(string(r)); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if err := e.PassthroughHTMLStreamer.EndTag("span"); err != nil {
|
if err := e.EndTag("span"); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
return e.PassthroughHTMLStreamer.EndTag("span")
|
return e.EndTag("span")
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *escapeStreamer) invisibleRune(r rune) error {
|
func (e *escapeStreamer) invisibleRune(r rune) error {
|
||||||
e.escaped.Escaped = true
|
e.escaped.Escaped = true
|
||||||
e.escaped.HasInvisible = true
|
e.escaped.HasInvisible = true
|
||||||
|
|
||||||
if err := e.PassthroughHTMLStreamer.StartTag("span", html.Attribute{
|
if err := e.StartTag("span", html.Attribute{
|
||||||
Key: "class",
|
Key: "class",
|
||||||
Val: "escaped-code-point",
|
Val: "escaped-code-point",
|
||||||
}, html.Attribute{
|
}, html.Attribute{
|
||||||
|
@ -206,7 +206,7 @@ func (e *escapeStreamer) invisibleRune(r rune) error {
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if err := e.PassthroughHTMLStreamer.StartTag("span", html.Attribute{
|
if err := e.StartTag("span", html.Attribute{
|
||||||
Key: "class",
|
Key: "class",
|
||||||
Val: "char",
|
Val: "char",
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
|
@ -215,11 +215,11 @@ func (e *escapeStreamer) invisibleRune(r rune) error {
|
||||||
if err := e.PassthroughHTMLStreamer.Text(string(r)); err != nil {
|
if err := e.PassthroughHTMLStreamer.Text(string(r)); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if err := e.PassthroughHTMLStreamer.EndTag("span"); err != nil {
|
if err := e.EndTag("span"); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
return e.PassthroughHTMLStreamer.EndTag("span")
|
return e.EndTag("span")
|
||||||
}
|
}
|
||||||
|
|
||||||
type runeCountType struct {
|
type runeCountType struct {
|
||||||
|
|
|
@ -190,5 +190,5 @@ func TestAmbiguousUnicodeDetectionContext(t *testing.T) {
|
||||||
assert.EqualValues(t, `a<span class="escaped-code-point" data-escaped="[U+00A0]"><span class="char"> </span></span>test`, out)
|
assert.EqualValues(t, `a<span class="escaped-code-point" data-escaped="[U+00A0]"><span class="char"> </span></span>test`, out)
|
||||||
|
|
||||||
_, out = EscapeControlHTML(input, &translation.MockLocale{}, testContext)
|
_, out = EscapeControlHTML(input, &translation.MockLocale{}, testContext)
|
||||||
assert.EqualValues(t, input, out)
|
assert.Equal(t, input, out)
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,7 +36,7 @@ func TestSet(t *testing.T) {
|
||||||
called++
|
called++
|
||||||
assert.True(t, slices.Contains(values, value))
|
assert.True(t, slices.Contains(values, value))
|
||||||
}
|
}
|
||||||
assert.EqualValues(t, len(values), called)
|
assert.Equal(t, len(values), called)
|
||||||
|
|
||||||
s = SetOf("key6", "key7")
|
s = SetOf("key6", "key7")
|
||||||
assert.False(t, s.Contains("key1"))
|
assert.False(t, s.Contains("key1"))
|
||||||
|
|
|
@ -101,10 +101,10 @@ j, ,\x20
|
||||||
for n, c := range cases {
|
for n, c := range cases {
|
||||||
rd, err := CreateReaderAndDetermineDelimiter(nil, strings.NewReader(decodeSlashes(t, c.csv)))
|
rd, err := CreateReaderAndDetermineDelimiter(nil, strings.NewReader(decodeSlashes(t, c.csv)))
|
||||||
require.NoError(t, err, "case %d: should not throw error: %v\n", n, err)
|
require.NoError(t, err, "case %d: should not throw error: %v\n", n, err)
|
||||||
assert.EqualValues(t, c.expectedDelimiter, rd.Comma, "case %d: delimiter should be '%c', got '%c'", n, c.expectedDelimiter, rd.Comma)
|
assert.Equal(t, c.expectedDelimiter, rd.Comma, "case %d: delimiter should be '%c', got '%c'", n, c.expectedDelimiter, rd.Comma)
|
||||||
rows, err := rd.ReadAll()
|
rows, err := rd.ReadAll()
|
||||||
require.NoError(t, err, "case %d: should not throw error: %v\n", n, err)
|
require.NoError(t, err, "case %d: should not throw error: %v\n", n, err)
|
||||||
assert.EqualValues(t, c.expectedRows, rows, "case %d: rows should be equal", n)
|
assert.Equal(t, c.expectedRows, rows, "case %d: rows should be equal", n)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -236,7 +236,7 @@ John Doe john@doe.com This,note,had,a,lot,of,commas,to,test,delimiters`,
|
||||||
Ctx: git.DefaultContext,
|
Ctx: git.DefaultContext,
|
||||||
RelativePath: c.filename,
|
RelativePath: c.filename,
|
||||||
}, []byte(decodeSlashes(t, c.csv)))
|
}, []byte(decodeSlashes(t, c.csv)))
|
||||||
assert.EqualValues(t, c.expectedDelimiter, delimiter, "case %d: delimiter should be equal, expected '%c' got '%c'", n, c.expectedDelimiter, delimiter)
|
assert.Equal(t, c.expectedDelimiter, delimiter, "case %d: delimiter should be equal, expected '%c' got '%c'", n, c.expectedDelimiter, delimiter)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -301,7 +301,7 @@ abc | |123
|
||||||
|
|
||||||
for n, c := range cases {
|
for n, c := range cases {
|
||||||
modifiedText := removeQuotedString(decodeSlashes(t, c.text))
|
modifiedText := removeQuotedString(decodeSlashes(t, c.text))
|
||||||
assert.EqualValues(t, c.expectedText, modifiedText, "case %d: modified text should be equal", n)
|
assert.Equal(t, c.expectedText, modifiedText, "case %d: modified text should be equal", n)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -456,7 +456,7 @@ jkl`,
|
||||||
|
|
||||||
for n, c := range cases {
|
for n, c := range cases {
|
||||||
delimiter := guessDelimiter([]byte(decodeSlashes(t, c.csv)))
|
delimiter := guessDelimiter([]byte(decodeSlashes(t, c.csv)))
|
||||||
assert.EqualValues(t, c.expectedDelimiter, delimiter, "case %d: delimiter should be equal, expected '%c' got '%c'", n, c.expectedDelimiter, delimiter)
|
assert.Equal(t, c.expectedDelimiter, delimiter, "case %d: delimiter should be equal, expected '%c' got '%c'", n, c.expectedDelimiter, delimiter)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -548,7 +548,7 @@ a|"he said, ""here I am"""`,
|
||||||
|
|
||||||
for n, c := range cases {
|
for n, c := range cases {
|
||||||
delimiter := guessFromBeforeAfterQuotes([]byte(decodeSlashes(t, c.csv)))
|
delimiter := guessFromBeforeAfterQuotes([]byte(decodeSlashes(t, c.csv)))
|
||||||
assert.EqualValues(t, c.expectedDelimiter, delimiter, "case %d: delimiter should be equal, expected '%c' got '%c'", n, c.expectedDelimiter, delimiter)
|
assert.Equal(t, c.expectedDelimiter, delimiter, "case %d: delimiter should be equal, expected '%c' got '%c'", n, c.expectedDelimiter, delimiter)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -584,7 +584,7 @@ func TestFormatError(t *testing.T) {
|
||||||
require.Error(t, err, "case %d: expected an error to be returned", n)
|
require.Error(t, err, "case %d: expected an error to be returned", n)
|
||||||
} else {
|
} else {
|
||||||
require.NoError(t, err, "case %d: no error was expected, got error: %v", n, err)
|
require.NoError(t, err, "case %d: no error was expected, got error: %v", n, err)
|
||||||
assert.EqualValues(t, c.expectedMessage, message, "case %d: messages should be equal, expected '%s' got '%s'", n, c.expectedMessage, message)
|
assert.Equal(t, c.expectedMessage, message, "case %d: messages should be equal, expected '%s' got '%s'", n, c.expectedMessage, message)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -55,10 +55,10 @@ func TestGitArgument(t *testing.T) {
|
||||||
|
|
||||||
func TestCommandString(t *testing.T) {
|
func TestCommandString(t *testing.T) {
|
||||||
cmd := NewCommandContextNoGlobals(t.Context(), "a", "-m msg", "it's a test", `say "hello"`)
|
cmd := NewCommandContextNoGlobals(t.Context(), "a", "-m msg", "it's a test", `say "hello"`)
|
||||||
assert.EqualValues(t, cmd.prog+` a "-m msg" "it's a test" "say \"hello\""`, cmd.String())
|
assert.Equal(t, cmd.prog+` a "-m msg" "it's a test" "say \"hello\""`, cmd.String())
|
||||||
|
|
||||||
cmd = NewCommandContextNoGlobals(t.Context(), "url: https://a:b@c/")
|
cmd = NewCommandContextNoGlobals(t.Context(), "url: https://a:b@c/")
|
||||||
assert.EqualValues(t, cmd.prog+` "url: https://sanitized-credential@c/"`, cmd.toString(true))
|
assert.Equal(t, cmd.prog+` "url: https://sanitized-credential@c/"`, cmd.toString(true))
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGrepOnlyFunction(t *testing.T) {
|
func TestGrepOnlyFunction(t *testing.T) {
|
||||||
|
|
|
@ -220,7 +220,7 @@ func (c *Commit) HasPreviousCommit(objectID ObjectID) (bool, error) {
|
||||||
}
|
}
|
||||||
var exitError *exec.ExitError
|
var exitError *exec.ExitError
|
||||||
if errors.As(err, &exitError) {
|
if errors.As(err, &exitError) {
|
||||||
if exitError.ProcessState.ExitCode() == 1 && len(exitError.Stderr) == 0 {
|
if exitError.ExitCode() == 1 && len(exitError.Stderr) == 0 {
|
||||||
return false, nil
|
return false, nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -107,7 +107,7 @@ signed commit`
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
assert.EqualValues(t, sha, commitFromReader.ID)
|
assert.EqualValues(t, sha, commitFromReader.ID)
|
||||||
assert.EqualValues(t, `-----BEGIN PGP SIGNATURE-----
|
assert.Equal(t, `-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
iQIrBAABCgAtFiEES+fB08xlgTrzSdQvhkUIsBsmec8FAmU/wKoPHGFtYWplckBz
|
iQIrBAABCgAtFiEES+fB08xlgTrzSdQvhkUIsBsmec8FAmU/wKoPHGFtYWplckBz
|
||||||
dXNlLmRlAAoJEIZFCLAbJnnP4s4PQIJATa++WPzR6/H4etT7bsOGoMyguEJYyWOd
|
dXNlLmRlAAoJEIZFCLAbJnnP4s4PQIJATa++WPzR6/H4etT7bsOGoMyguEJYyWOd
|
||||||
|
@ -124,19 +124,19 @@ HKRr3NlRM/DygzTyj0gN74uoa0goCIbyAQhiT42nm0cuhM7uN/W0ayrlZjGF1cbR
|
||||||
=xybZ
|
=xybZ
|
||||||
-----END PGP SIGNATURE-----
|
-----END PGP SIGNATURE-----
|
||||||
`, commitFromReader.Signature.Signature)
|
`, commitFromReader.Signature.Signature)
|
||||||
assert.EqualValues(t, `tree e7f9e96dd79c09b078cac8b303a7d3b9d65ff9b734e86060a4d20409fd379f9e
|
assert.Equal(t, `tree e7f9e96dd79c09b078cac8b303a7d3b9d65ff9b734e86060a4d20409fd379f9e
|
||||||
parent 26e9ccc29fad747e9c5d9f4c9ddeb7eff61cc45ef6a8dc258cbeb181afc055e8
|
parent 26e9ccc29fad747e9c5d9f4c9ddeb7eff61cc45ef6a8dc258cbeb181afc055e8
|
||||||
author Adam Majer <amajer@suse.de> 1698676906 +0100
|
author Adam Majer <amajer@suse.de> 1698676906 +0100
|
||||||
committer Adam Majer <amajer@suse.de> 1698676906 +0100
|
committer Adam Majer <amajer@suse.de> 1698676906 +0100
|
||||||
|
|
||||||
signed commit`, commitFromReader.Signature.Payload)
|
signed commit`, commitFromReader.Signature.Payload)
|
||||||
assert.EqualValues(t, "Adam Majer <amajer@suse.de>", commitFromReader.Author.String())
|
assert.Equal(t, "Adam Majer <amajer@suse.de>", commitFromReader.Author.String())
|
||||||
|
|
||||||
commitFromReader2, err := CommitFromReader(gitRepo, sha, strings.NewReader(commitString+"\n\n"))
|
commitFromReader2, err := CommitFromReader(gitRepo, sha, strings.NewReader(commitString+"\n\n"))
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
commitFromReader.CommitMessage += "\n\n"
|
commitFromReader.CommitMessage += "\n\n"
|
||||||
commitFromReader.Signature.Payload += "\n\n"
|
commitFromReader.Signature.Payload += "\n\n"
|
||||||
assert.EqualValues(t, commitFromReader, commitFromReader2)
|
assert.Equal(t, commitFromReader, commitFromReader2)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestHasPreviousCommitSha256(t *testing.T) {
|
func TestHasPreviousCommitSha256(t *testing.T) {
|
||||||
|
|
|
@ -92,7 +92,7 @@ empty commit`
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.NotNil(t, commitFromReader)
|
require.NotNil(t, commitFromReader)
|
||||||
assert.EqualValues(t, sha, commitFromReader.ID)
|
assert.EqualValues(t, sha, commitFromReader.ID)
|
||||||
assert.EqualValues(t, `-----BEGIN PGP SIGNATURE-----
|
assert.Equal(t, `-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
iQIzBAABCAAdFiEEWPb2jX6FS2mqyJRQLmK0HJOGlEMFAl00zmEACgkQLmK0HJOG
|
iQIzBAABCAAdFiEEWPb2jX6FS2mqyJRQLmK0HJOGlEMFAl00zmEACgkQLmK0HJOG
|
||||||
lEMDFBAAhQKKqLD1VICygJMEB8t1gBmNLgvziOLfpX4KPWdPtBk3v/QJ7OrfMrVK
|
lEMDFBAAhQKKqLD1VICygJMEB8t1gBmNLgvziOLfpX4KPWdPtBk3v/QJ7OrfMrVK
|
||||||
|
@ -109,19 +109,19 @@ mfeFhT57UbE4qukTDIQ0Y0WM40UYRTakRaDY7ubhXgLgx09Cnp9XTVMsHgT6j9/i
|
||||||
=FRsO
|
=FRsO
|
||||||
-----END PGP SIGNATURE-----
|
-----END PGP SIGNATURE-----
|
||||||
`, commitFromReader.Signature.Signature)
|
`, commitFromReader.Signature.Signature)
|
||||||
assert.EqualValues(t, `tree f1a6cb52b2d16773290cefe49ad0684b50a4f930
|
assert.Equal(t, `tree f1a6cb52b2d16773290cefe49ad0684b50a4f930
|
||||||
parent 37991dec2c8e592043f47155ce4808d4580f9123
|
parent 37991dec2c8e592043f47155ce4808d4580f9123
|
||||||
author silverwind <me@silverwind.io> 1563741793 +0200
|
author silverwind <me@silverwind.io> 1563741793 +0200
|
||||||
committer silverwind <me@silverwind.io> 1563741793 +0200
|
committer silverwind <me@silverwind.io> 1563741793 +0200
|
||||||
|
|
||||||
empty commit`, commitFromReader.Signature.Payload)
|
empty commit`, commitFromReader.Signature.Payload)
|
||||||
assert.EqualValues(t, "silverwind <me@silverwind.io>", commitFromReader.Author.String())
|
assert.Equal(t, "silverwind <me@silverwind.io>", commitFromReader.Author.String())
|
||||||
|
|
||||||
commitFromReader2, err := CommitFromReader(gitRepo, sha, strings.NewReader(commitString+"\n\n"))
|
commitFromReader2, err := CommitFromReader(gitRepo, sha, strings.NewReader(commitString+"\n\n"))
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
commitFromReader.CommitMessage += "\n\n"
|
commitFromReader.CommitMessage += "\n\n"
|
||||||
commitFromReader.Signature.Payload += "\n\n"
|
commitFromReader.Signature.Payload += "\n\n"
|
||||||
assert.EqualValues(t, commitFromReader, commitFromReader2)
|
assert.Equal(t, commitFromReader, commitFromReader2)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestCommitWithEncodingFromReader(t *testing.T) {
|
func TestCommitWithEncodingFromReader(t *testing.T) {
|
||||||
|
@ -158,7 +158,7 @@ ISO-8859-1`
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.NotNil(t, commitFromReader)
|
require.NotNil(t, commitFromReader)
|
||||||
assert.EqualValues(t, sha, commitFromReader.ID)
|
assert.EqualValues(t, sha, commitFromReader.ID)
|
||||||
assert.EqualValues(t, `-----BEGIN PGP SIGNATURE-----
|
assert.Equal(t, `-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
iQGzBAABCgAdFiEE9HRrbqvYxPT8PXbefPSEkrowAa8FAmYGg7IACgkQfPSEkrow
|
iQGzBAABCgAdFiEE9HRrbqvYxPT8PXbefPSEkrowAa8FAmYGg7IACgkQfPSEkrow
|
||||||
Aa9olwv+P0HhtCM6CRvlUmPaqswRsDPNR4i66xyXGiSxdI9V5oJL7HLiQIM7KrFR
|
Aa9olwv+P0HhtCM6CRvlUmPaqswRsDPNR4i66xyXGiSxdI9V5oJL7HLiQIM7KrFR
|
||||||
|
@ -173,20 +173,20 @@ jw4YcO5u
|
||||||
=r3UU
|
=r3UU
|
||||||
-----END PGP SIGNATURE-----
|
-----END PGP SIGNATURE-----
|
||||||
`, commitFromReader.Signature.Signature)
|
`, commitFromReader.Signature.Signature)
|
||||||
assert.EqualValues(t, `tree ca3fad42080dd1a6d291b75acdfc46e5b9b307e5
|
assert.Equal(t, `tree ca3fad42080dd1a6d291b75acdfc46e5b9b307e5
|
||||||
parent 47b24e7ab977ed31c5a39989d570847d6d0052af
|
parent 47b24e7ab977ed31c5a39989d570847d6d0052af
|
||||||
author KN4CK3R <admin@oldschoolhack.me> 1711702962 +0100
|
author KN4CK3R <admin@oldschoolhack.me> 1711702962 +0100
|
||||||
committer KN4CK3R <admin@oldschoolhack.me> 1711702962 +0100
|
committer KN4CK3R <admin@oldschoolhack.me> 1711702962 +0100
|
||||||
encoding ISO-8859-1
|
encoding ISO-8859-1
|
||||||
|
|
||||||
ISO-8859-1`, commitFromReader.Signature.Payload)
|
ISO-8859-1`, commitFromReader.Signature.Payload)
|
||||||
assert.EqualValues(t, "KN4CK3R <admin@oldschoolhack.me>", commitFromReader.Author.String())
|
assert.Equal(t, "KN4CK3R <admin@oldschoolhack.me>", commitFromReader.Author.String())
|
||||||
|
|
||||||
commitFromReader2, err := CommitFromReader(gitRepo, sha, strings.NewReader(commitString+"\n\n"))
|
commitFromReader2, err := CommitFromReader(gitRepo, sha, strings.NewReader(commitString+"\n\n"))
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
commitFromReader.CommitMessage += "\n\n"
|
commitFromReader.CommitMessage += "\n\n"
|
||||||
commitFromReader.Signature.Payload += "\n\n"
|
commitFromReader.Signature.Payload += "\n\n"
|
||||||
assert.EqualValues(t, commitFromReader, commitFromReader2)
|
assert.Equal(t, commitFromReader, commitFromReader2)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestHasPreviousCommit(t *testing.T) {
|
func TestHasPreviousCommit(t *testing.T) {
|
||||||
|
|
|
@ -162,8 +162,8 @@ func BenchmarkCutDiffAroundLine(b *testing.B) {
|
||||||
|
|
||||||
func TestParseDiffHunkString(t *testing.T) {
|
func TestParseDiffHunkString(t *testing.T) {
|
||||||
leftLine, leftHunk, rightLine, rightHunk := ParseDiffHunkString("@@ -19,3 +19,5 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER")
|
leftLine, leftHunk, rightLine, rightHunk := ParseDiffHunkString("@@ -19,3 +19,5 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER")
|
||||||
assert.EqualValues(t, 19, leftLine)
|
assert.Equal(t, 19, leftLine)
|
||||||
assert.EqualValues(t, 3, leftHunk)
|
assert.Equal(t, 3, leftHunk)
|
||||||
assert.EqualValues(t, 19, rightLine)
|
assert.Equal(t, 19, rightLine)
|
||||||
assert.EqualValues(t, 5, rightHunk)
|
assert.Equal(t, 5, rightHunk)
|
||||||
}
|
}
|
||||||
|
|
|
@ -120,10 +120,7 @@ func (err *ErrPushRejected) GenerateMessage() {
|
||||||
err.Message = ""
|
err.Message = ""
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
for {
|
for len(err.StdErr) > i+8 {
|
||||||
if len(err.StdErr) <= i+8 {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
if err.StdErr[i:i+8] != "remote: " {
|
if err.StdErr[i:i+8] != "remote: " {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
|
@ -118,11 +118,12 @@ func (g *LogNameStatusRepoParser) Next(treepath string, paths2ids map[string]int
|
||||||
g.buffull = false
|
g.buffull = false
|
||||||
g.next, err = g.rd.ReadSlice('\x00')
|
g.next, err = g.rd.ReadSlice('\x00')
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if err == bufio.ErrBufferFull {
|
switch err {
|
||||||
|
case bufio.ErrBufferFull:
|
||||||
g.buffull = true
|
g.buffull = true
|
||||||
} else if err == io.EOF {
|
case io.EOF:
|
||||||
return nil, nil
|
return nil, nil
|
||||||
} else {
|
default:
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -132,11 +133,12 @@ func (g *LogNameStatusRepoParser) Next(treepath string, paths2ids map[string]int
|
||||||
if bytes.Equal(g.next, []byte("commit\000")) {
|
if bytes.Equal(g.next, []byte("commit\000")) {
|
||||||
g.next, err = g.rd.ReadSlice('\x00')
|
g.next, err = g.rd.ReadSlice('\x00')
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if err == bufio.ErrBufferFull {
|
switch err {
|
||||||
|
case bufio.ErrBufferFull:
|
||||||
g.buffull = true
|
g.buffull = true
|
||||||
} else if err == io.EOF {
|
case io.EOF:
|
||||||
return nil, nil
|
return nil, nil
|
||||||
} else {
|
default:
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -169,7 +171,7 @@ func (g *LogNameStatusRepoParser) Next(treepath string, paths2ids map[string]int
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if err == io.EOF || !(g.next[0] == '\n' || g.next[0] == '\000') {
|
if err == io.EOF || (g.next[0] != '\n' && g.next[0] != '\000') {
|
||||||
return &ret, nil
|
return &ret, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -214,11 +216,12 @@ diffloop:
|
||||||
}
|
}
|
||||||
g.next, err = g.rd.ReadSlice('\x00')
|
g.next, err = g.rd.ReadSlice('\x00')
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if err == bufio.ErrBufferFull {
|
switch err {
|
||||||
|
case bufio.ErrBufferFull:
|
||||||
g.buffull = true
|
g.buffull = true
|
||||||
} else if err == io.EOF {
|
case io.EOF:
|
||||||
return &ret, nil
|
return &ret, nil
|
||||||
} else {
|
default:
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -57,7 +57,7 @@ func TestParseTreeEntriesLong(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Len(t, entries, len(testCase.Expected))
|
assert.Len(t, entries, len(testCase.Expected))
|
||||||
for i, entry := range entries {
|
for i, entry := range entries {
|
||||||
assert.EqualValues(t, testCase.Expected[i], entry)
|
assert.Equal(t, testCase.Expected[i], entry)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -90,7 +90,7 @@ func TestParseTreeEntriesShort(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Len(t, entries, len(testCase.Expected))
|
assert.Len(t, entries, len(testCase.Expected))
|
||||||
for i, entry := range entries {
|
for i, entry := range entries {
|
||||||
assert.EqualValues(t, testCase.Expected[i], entry)
|
assert.Equal(t, testCase.Expected[i], entry)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,8 +22,8 @@ func TestToAndFromMap(t *testing.T) {
|
||||||
options.Parse(fmt.Sprintf("%v", RepoPrivate))
|
options.Parse(fmt.Sprintf("%v", RepoPrivate))
|
||||||
actual := options.Map()
|
actual := options.Map()
|
||||||
expected := map[string]string{string(RepoPrivate): "true"}
|
expected := map[string]string{string(RepoPrivate): "true"}
|
||||||
assert.EqualValues(t, expected, actual)
|
assert.Equal(t, expected, actual)
|
||||||
assert.EqualValues(t, expected, NewFromMap(&actual).Map())
|
assert.Equal(t, expected, NewFromMap(&actual).Map())
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestChangeRepositorySettings(t *testing.T) {
|
func TestChangeRepositorySettings(t *testing.T) {
|
||||||
|
@ -46,7 +46,7 @@ func TestParse(t *testing.T) {
|
||||||
|
|
||||||
val, ok := options.GetString(RepoPrivate)
|
val, ok := options.GetString(RepoPrivate)
|
||||||
assert.False(t, ok)
|
assert.False(t, ok)
|
||||||
assert.Equal(t, "", val)
|
assert.Empty(t, val)
|
||||||
|
|
||||||
assert.True(t, options.GetBool(RepoPrivate, true))
|
assert.True(t, options.GetBool(RepoPrivate, true))
|
||||||
assert.False(t, options.GetBool(RepoPrivate, false))
|
assert.False(t, options.GetBool(RepoPrivate, false))
|
||||||
|
|
|
@ -101,7 +101,7 @@ func TestGitAttributeBareNonBare(t *testing.T) {
|
||||||
cloneStats, err := gitRepo.GitAttributes(commitID, "i-am-a-python.p", LinguistAttributes...)
|
cloneStats, err := gitRepo.GitAttributes(commitID, "i-am-a-python.p", LinguistAttributes...)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
assert.EqualValues(t, cloneStats, bareStats)
|
assert.Equal(t, cloneStats, bareStats)
|
||||||
refStats := cloneStats
|
refStats := cloneStats
|
||||||
|
|
||||||
t.Run("GitAttributeChecker/"+commitID+"/SupportBare", func(t *testing.T) {
|
t.Run("GitAttributeChecker/"+commitID+"/SupportBare", func(t *testing.T) {
|
||||||
|
@ -111,7 +111,7 @@ func TestGitAttributeBareNonBare(t *testing.T) {
|
||||||
|
|
||||||
bareStats, err := bareChecker.CheckPath("i-am-a-python.p")
|
bareStats, err := bareChecker.CheckPath("i-am-a-python.p")
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, refStats, bareStats)
|
assert.Equal(t, refStats, bareStats)
|
||||||
})
|
})
|
||||||
t.Run("GitAttributeChecker/"+commitID+"/NoBareSupport", func(t *testing.T) {
|
t.Run("GitAttributeChecker/"+commitID+"/NoBareSupport", func(t *testing.T) {
|
||||||
defer test.MockVariableValue(&SupportCheckAttrOnBare, false)()
|
defer test.MockVariableValue(&SupportCheckAttrOnBare, false)()
|
||||||
|
@ -122,7 +122,7 @@ func TestGitAttributeBareNonBare(t *testing.T) {
|
||||||
cloneStats, err := cloneChecker.CheckPath("i-am-a-python.p")
|
cloneStats, err := cloneChecker.CheckPath("i-am-a-python.p")
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
assert.EqualValues(t, refStats, cloneStats)
|
assert.Equal(t, refStats, cloneStats)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -135,7 +135,7 @@ func TestGitAttributes(t *testing.T) {
|
||||||
|
|
||||||
attr, err := gitRepo.GitAttributes("8fee858da5796dfb37704761701bb8e800ad9ef3", "i-am-a-python.p", LinguistAttributes...)
|
attr, err := gitRepo.GitAttributes("8fee858da5796dfb37704761701bb8e800ad9ef3", "i-am-a-python.p", LinguistAttributes...)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, map[string]GitAttribute{
|
assert.Equal(t, map[string]GitAttribute{
|
||||||
"gitlab-language": "unspecified",
|
"gitlab-language": "unspecified",
|
||||||
"linguist-detectable": "unspecified",
|
"linguist-detectable": "unspecified",
|
||||||
"linguist-documentation": "unspecified",
|
"linguist-documentation": "unspecified",
|
||||||
|
@ -146,7 +146,7 @@ func TestGitAttributes(t *testing.T) {
|
||||||
|
|
||||||
attr, err = gitRepo.GitAttributes("341fca5b5ea3de596dc483e54c2db28633cd2f97", "i-am-a-python.p", LinguistAttributes...)
|
attr, err = gitRepo.GitAttributes("341fca5b5ea3de596dc483e54c2db28633cd2f97", "i-am-a-python.p", LinguistAttributes...)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.EqualValues(t, map[string]GitAttribute{
|
assert.Equal(t, map[string]GitAttribute{
|
||||||
"gitlab-language": "unspecified",
|
"gitlab-language": "unspecified",
|
||||||
"linguist-detectable": "unspecified",
|
"linguist-detectable": "unspecified",
|
||||||
"linguist-documentation": "unspecified",
|
"linguist-documentation": "unspecified",
|
||||||
|
@ -177,13 +177,13 @@ func TestGitAttributeFirst(t *testing.T) {
|
||||||
t.Run("none is specified", func(t *testing.T) {
|
t.Run("none is specified", func(t *testing.T) {
|
||||||
language, err := gitRepo.GitAttributeFirst("8fee858da5796dfb37704761701bb8e800ad9ef3", "i-am-a-python.p", "linguist-detectable", "gitlab-language", "non-existing")
|
language, err := gitRepo.GitAttributeFirst("8fee858da5796dfb37704761701bb8e800ad9ef3", "i-am-a-python.p", "linguist-detectable", "gitlab-language", "non-existing")
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, "", language.String())
|
assert.Empty(t, language.String())
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGitAttributeStruct(t *testing.T) {
|
func TestGitAttributeStruct(t *testing.T) {
|
||||||
assert.Equal(t, "", GitAttribute("").String())
|
assert.Empty(t, GitAttribute("").String())
|
||||||
assert.Equal(t, "", GitAttribute("unspecified").String())
|
assert.Empty(t, GitAttribute("unspecified").String())
|
||||||
|
|
||||||
assert.Equal(t, "python", GitAttribute("python").String())
|
assert.Equal(t, "python", GitAttribute("python").String())
|
||||||
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue