1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-03-25 21:29:14 +02:00
goreleaser/internal/pipe/reddit/reddit_test.go
dependabot[bot] 7ed4197f51
feat(deps): bump github.com/caarlos0/env/v6 from 6.9.3 to 6.10.0 (#3338)
Bumps [github.com/caarlos0/env/v6](https://github.com/caarlos0/env) from 6.9.3 to 6.10.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/caarlos0/env/releases">github.com/caarlos0/env/v6's releases</a>.</em></p>
<blockquote>
<h2>v6.10.0</h2>
<h2>Changelog</h2>
<h3>New Features</h3>
<ul>
<li>69c7b5a1dc8b2c4e78a7211aef3fd102333e4e4f: feat: aggregate validation errors (<a href="https://github-redirect.dependabot.com/caarlos0/env/issues/233">#233</a>) (<a href="https://github.com/akutuev"><code>@​akutuev</code></a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>439dbad60f367bc1995f066cf9127743d468a572: fix: RequiredIfNoDef with nested structs (<a href="https://github-redirect.dependabot.com/caarlos0/env/issues/229">#229</a>) (<a href="https://github.com/HarmlessEvil"><code>@​HarmlessEvil</code></a>)</li>
</ul>
<h3>Documentation updates</h3>
<ul>
<li>60b5226da3e5e4ca3dcb795b8416f30c5cb2c5a9: docs: broken link (<a href="https://github.com/caarlos0"><code>@​caarlos0</code></a>)</li>
<li>4c93d81012635da80954a1b3ec2e30566aa1b9d9: docs: remove duplicate <code>string</code> (<a href="https://github-redirect.dependabot.com/caarlos0/env/issues/232">#232</a>) (<a href="https://github.com/dacapoday"><code>@​dacapoday</code></a>)</li>
</ul>
<hr />
<p><em>Released with <a href="https://goreleaser.com/pro">GoReleaser Pro</a>!</em></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="69c7b5a1dc"><code>69c7b5a</code></a> feat: aggregate validation errors (<a href="https://github-redirect.dependabot.com/caarlos0/env/issues/233">#233</a>)</li>
<li><a href="4c93d81012"><code>4c93d81</code></a> docs: remove duplicate <code>string</code> (<a href="https://github-redirect.dependabot.com/caarlos0/env/issues/232">#232</a>)</li>
<li><a href="60b5226da3"><code>60b5226</code></a> docs: broken link</li>
<li><a href="1917ee3bb3"><code>1917ee3</code></a> chore(build): makefile</li>
<li><a href="439dbad60f"><code>439dbad</code></a> fix: RequiredIfNoDef with nested structs (<a href="https://github-redirect.dependabot.com/caarlos0/env/issues/229">#229</a>)</li>
<li>See full diff in <a href="https://github.com/caarlos0/env/compare/v6.9.3...v6.10.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/caarlos0/env/v6&package-manager=go_modules&previous-version=6.9.3&new-version=6.10.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-08-25 01:08:00 -03:00

69 lines
1.8 KiB
Go

package reddit
import (
"testing"
"github.com/goreleaser/goreleaser/pkg/config"
"github.com/goreleaser/goreleaser/pkg/context"
"github.com/stretchr/testify/require"
)
func TestStringer(t *testing.T) {
require.Equal(t, Pipe{}.String(), "reddit")
}
func TestDefault(t *testing.T) {
ctx := context.New(config.Project{})
require.NoError(t, Pipe{}.Default(ctx))
require.Equal(t, ctx.Config.Announce.Reddit.TitleTemplate, defaultTitleTemplate)
}
func TestAnnounceInvalidURLTemplate(t *testing.T) {
ctx := context.New(config.Project{
Announce: config.Announce{
Reddit: config.Reddit{
URLTemplate: "{{ .Foo }",
},
},
})
require.EqualError(t, Pipe{}.Announce(ctx), `announce: failed to announce to reddit: template: tmpl:1: unexpected "}" in operand`)
}
func TestAnnounceInvalidTitleTemplate(t *testing.T) {
ctx := context.New(config.Project{
Announce: config.Announce{
Reddit: config.Reddit{
TitleTemplate: "{{ .Foo }",
},
},
})
require.EqualError(t, Pipe{}.Announce(ctx), `announce: failed to announce to reddit: template: tmpl:1: unexpected "}" in operand`)
}
func TestAnnounceMissingEnv(t *testing.T) {
ctx := context.New(config.Project{
Announce: config.Announce{
Reddit: config.Reddit{},
},
})
require.NoError(t, Pipe{}.Default(ctx))
require.EqualError(t, Pipe{}.Announce(ctx), `announce: failed to announce to reddit: env: environment variable "REDDIT_SECRET" should not be empty; environment variable "REDDIT_PASSWORD" should not be empty`)
}
func TestSkip(t *testing.T) {
t.Run("skip", func(t *testing.T) {
require.True(t, Pipe{}.Skip(context.New(config.Project{})))
})
t.Run("dont skip", func(t *testing.T) {
ctx := context.New(config.Project{
Announce: config.Announce{
Reddit: config.Reddit{
Enabled: true,
},
},
})
require.False(t, Pipe{}.Skip(ctx))
})
}