133728e barerepo 1mo
1
package config
133728e barerepo 1mo
3
import "testing"
133728e barerepo 1mo
5
func TestIdentityFollowsTheHostTheServerAnswersOn(t *testing.T) {
133728e barerepo 1mo
6
cases := []struct{ user, sshHost, external, want string }{
133728e barerepo 1mo
7
{"", "", "https://barerepo.com", "git@barerepo.com"},
133728e barerepo 1mo
8
{"barerepo", "", "https://barerepo.com", "barerepo@barerepo.com"},
133728e barerepo 1mo
9
{"", "barerepo.com", "https://other.example", "git@barerepo.com"},
133728e barerepo 1mo
10
{"", "", "", "git@localhost"},
133728e barerepo 1mo
12
for _, c := range cases {
133728e barerepo 1mo
13
cfg := Default()
133728e barerepo 1mo
14
cfg.Server.SSHUser, cfg.Server.SSHHost, cfg.Server.ExternalURL = c.user, c.sshHost, c.external
133728e barerepo 1mo
15
if got := cfg.Identity(); got != c.want {
133728e barerepo 1mo
16
t.Errorf("Identity(user=%q host=%q ext=%q) = %q, want %q", c.user, c.sshHost, c.external, got, c.want)
133728e barerepo 1mo
19
cfg := Default()
133728e barerepo 1mo
20
cfg.Server.GitIdentity = "someone@else"
133728e barerepo 1mo
21
if got := cfg.Identity(); got != "someone@else" {
133728e barerepo 1mo
22
t.Errorf("a configured identity was ignored, got %q", got)