git-lfs/lfs/config_test.go

129 lines
3.3 KiB
Go
Raw Normal View History

2015-03-19 19:30:55 +00:00
package lfs
2014-02-01 21:09:52 +00:00
import (
"github.com/bmizerany/assert"
"testing"
)
func TestEndpointDefaultsToOrigin(t *testing.T) {
config := &Configuration{
2015-03-19 19:30:55 +00:00
gitConfig: map[string]string{"remote.origin.lfs": "abc"},
2015-01-12 00:53:10 +00:00
remotes: []string{},
2014-02-01 21:09:52 +00:00
}
assert.Equal(t, "abc", config.Endpoint())
}
func TestEndpointOverridesOrigin(t *testing.T) {
config := &Configuration{
2015-01-12 00:53:10 +00:00
gitConfig: map[string]string{
2015-03-19 19:30:55 +00:00
"lfs.url": "abc",
"remote.origin.lfs": "def",
2014-02-01 21:09:52 +00:00
},
2015-01-12 00:53:10 +00:00
remotes: []string{},
2014-02-01 21:09:52 +00:00
}
assert.Equal(t, "abc", config.Endpoint())
}
2014-05-22 23:02:56 +00:00
func TestEndpointNoOverrideDefaultRemote(t *testing.T) {
config := &Configuration{
gitConfig: map[string]string{
2015-03-19 19:30:55 +00:00
"remote.origin.lfs": "abc",
"remote.other.lfs": "def",
},
remotes: []string{},
}
assert.Equal(t, "abc", config.Endpoint())
}
func TestEndpointUseAlternateRemote(t *testing.T) {
config := &Configuration{
gitConfig: map[string]string{
2015-03-19 19:30:55 +00:00
"remote.origin.lfs": "abc",
"remote.other.lfs": "def",
},
remotes: []string{},
}
config.CurrentRemote = "other"
assert.Equal(t, "def", config.Endpoint())
}
2014-05-22 23:02:56 +00:00
func TestEndpointAddsMediaSuffix(t *testing.T) {
config := &Configuration{
2015-01-12 00:53:10 +00:00
gitConfig: map[string]string{"remote.origin.url": "https://example.com/foo/bar"},
remotes: []string{},
2014-05-22 23:02:56 +00:00
}
2015-03-19 20:18:31 +00:00
assert.Equal(t, "https://example.com/foo/bar.git/info/lfs", config.Endpoint())
2014-05-22 23:02:56 +00:00
}
func TestBareEndpointAddsMediaSuffix(t *testing.T) {
config := &Configuration{
2015-01-12 00:53:10 +00:00
gitConfig: map[string]string{"remote.origin.url": "https://example.com/foo/bar.git"},
remotes: []string{},
2014-05-22 23:02:56 +00:00
}
2015-03-19 20:18:31 +00:00
assert.Equal(t, "https://example.com/foo/bar.git/info/lfs", config.Endpoint())
2014-05-22 23:02:56 +00:00
}
func TestSSHEndpointAddsMediaSuffix(t *testing.T) {
config := &Configuration{
2015-01-12 00:53:10 +00:00
gitConfig: map[string]string{"remote.origin.url": "git@example.com:foo/bar"},
remotes: []string{},
2014-05-22 23:02:56 +00:00
}
2015-03-19 20:18:31 +00:00
assert.Equal(t, "https://example.com/foo/bar.git/info/lfs", config.Endpoint())
2014-05-22 23:02:56 +00:00
}
func TestBareSSHEndpointAddsMediaSuffix(t *testing.T) {
config := &Configuration{
2015-01-12 00:53:10 +00:00
gitConfig: map[string]string{"remote.origin.url": "git@example.com:foo/bar.git"},
remotes: []string{},
2014-05-22 23:02:56 +00:00
}
2015-03-19 20:18:31 +00:00
assert.Equal(t, "https://example.com/foo/bar.git/info/lfs", config.Endpoint())
2014-05-22 23:02:56 +00:00
}
func TestHTTPEndpointAddsMediaSuffix(t *testing.T) {
config := &Configuration{
2015-01-12 00:53:10 +00:00
gitConfig: map[string]string{"remote.origin.url": "http://example.com/foo/bar"},
remotes: []string{},
2014-05-22 23:02:56 +00:00
}
2015-03-19 20:18:31 +00:00
assert.Equal(t, "http://example.com/foo/bar.git/info/lfs", config.Endpoint())
2014-05-22 23:02:56 +00:00
}
func TestBareHTTPEndpointAddsMediaSuffix(t *testing.T) {
config := &Configuration{
2015-01-12 00:53:10 +00:00
gitConfig: map[string]string{"remote.origin.url": "http://example.com/foo/bar.git"},
remotes: []string{},
2014-05-22 23:02:56 +00:00
}
2015-03-19 20:18:31 +00:00
assert.Equal(t, "http://example.com/foo/bar.git/info/lfs", config.Endpoint())
2014-05-22 23:02:56 +00:00
}
2015-02-13 23:25:05 +00:00
func TestObjectUrl(t *testing.T) {
tests := map[string]string{
"http://example.com": "http://example.com/objects/oid",
"http://example.com/": "http://example.com/objects/oid",
"http://example.com/foo": "http://example.com/foo/objects/oid",
"http://example.com/foo/": "http://example.com/foo/objects/oid",
}
for endpoint, expected := range tests {
2015-03-19 19:30:55 +00:00
Config.SetConfig("lfs.url", endpoint)
2015-03-19 20:39:44 +00:00
u, err := Config.ObjectUrl("oid")
if err != nil {
t.Errorf("Error building URL for %s: %s", endpoint, err)
} else {
if actual := u.String(); expected != actual {
t.Errorf("Expected %s, got %s", expected, u.String())
}
}
2015-02-13 23:25:05 +00:00
}
}