Update version string

This commit is contained in:
rubyist 2015-01-30 11:56:12 -05:00
parent 1cdb897dfb
commit c118fd4ecc
4 changed files with 43 additions and 16 deletions

@ -19,7 +19,7 @@ func TestClean(t *testing.T) {
cmd := repo.Command("clean", "somefile")
cmd.Input = bytes.NewBufferString(content)
cmd.Output = `version http://git-media.io/v/2
cmd.Output = `version http://hawser.github.com/spec/v1
oid sha256:` + oid + `
size 3`
@ -32,7 +32,7 @@ size 3`
cmd = repo.Command("clean")
cmd.Input = bytes.NewBufferString(content)
cmd.Output = `version http://git-media.io/v/2
cmd.Output = `version http://hawser.github.com/spec/v1
oid sha256:` + oid + `
size 3`
customHook := []byte("echo 'yo'")

@ -18,7 +18,7 @@ func TestSmudge(t *testing.T) {
// simple smudge example
cmd := repo.Command("smudge", "somefile")
cmd.Input = bytes.NewBufferString("version http://git-media.io/v/2\noid sha256:SOMEOID\nsize 9\n")
cmd.Input = bytes.NewBufferString("version http://hawser.github.com/spec/v1\noid sha256:SOMEOID\nsize 9\n")
cmd.Output = "whatever"
cmd.Env = append(cmd.Env, "GIT_MEDIA_PROGRESS="+progressFile)
@ -102,6 +102,21 @@ func TestSmudgeInfo(t *testing.T) {
assert.Equal(t, nil, os.MkdirAll(mediaPath, 0755))
assert.Equal(t, nil, ioutil.WriteFile(mediaFile, []byte("whatever\n"), 0755))
})
// smudge --info with hawser pointer format, without local file
cmd = repo.Command("smudge", "--info")
cmd.Input = bytes.NewBufferString("version http://hawser.github.com/spec/v1\noid sha256:4d7a214614ab2935c943f9e0ff69d22eadbb8f32b1258daaa5e2ca24d17e2393\nsize 123\n")
cmd.Output = "123 --"
// smudge --info with hawser pointer format, with local file
cmd = repo.Command("smudge", "--info")
cmd.Input = bytes.NewBufferString("version http://hawser.github.com/spec/v1\noid sha256:4d7a214614ab2935c943f9e0ff69d22eadbb8f32b1258daaa5e2ca24d17e2393\nsize 123\n")
cmd.Output = "9 " + mediaFile
cmd.Before(func() {
assert.Equal(t, nil, os.MkdirAll(mediaPath, 0755))
assert.Equal(t, nil, ioutil.WriteFile(mediaFile, []byte("whatever\n"), 0755))
})
}
func TestSmudgePassesInvalidData(t *testing.T) {

@ -15,7 +15,8 @@ import (
var (
MediaWarning = []byte("# git-media\n")
alpha = "http://git-media.io/v/1"
latest = "http://git-media.io/v/2"
beta = "http://git-media.io/v/2"
latest = "http://hawser.github.com/spec/v1"
oidType = "sha256"
alphaHeaderRE = regexp.MustCompile(`\A# (.*git-media|external)`)
oidRE = regexp.MustCompile(`\A[0-9a-fA-F]{64}`)
@ -23,7 +24,7 @@ var (
oid sha256:%s
size %d
`
matcher = []byte("git-media")
matcherRE = regexp.MustCompile("git-media|hawser")
pointerKeys = []string{"version", "oid", "size"}
)
@ -77,11 +78,10 @@ func decodeKV(data []byte) (*Pointer, error) {
}
v, ok := parsed["version"]
if !ok || v != latest {
if !ok || (v != latest && v != beta) {
if len(v) == 0 {
v = "--"
}
return nil, errors.New("Invalid version: " + v)
}
@ -116,7 +116,7 @@ func decodeKV(data []byte) (*Pointer, error) {
func decodeKVData(data []byte) (map[string]string, error) {
m := make(map[string]string)
if !bytes.Contains(data, matcher) {
if !matcherRE.Match(data) {
return m, fmt.Errorf("Not a valid Git Media pointer file.")
}

@ -15,7 +15,7 @@ func TestEncode(t *testing.T) {
assert.Equal(t, nil, err)
bufReader := bufio.NewReader(&buf)
assertLine(t, bufReader, "version http://git-media.io/v/2\n")
assertLine(t, bufReader, "version http://hawser.github.com/spec/v1\n")
assertLine(t, bufReader, "oid sha256:booya\n")
assertLine(t, bufReader, "size 12345\n")
@ -32,6 +32,18 @@ func assertLine(t *testing.T, r *bufio.Reader, expected string) {
assert.Equal(t, expected, actual)
}
func TestHawserIniDecode(t *testing.T) {
ex := `version http://hawser.github.com/spec/v1
oid sha256:4d7a214614ab2935c943f9e0ff69d22eadbb8f32b1258daaa5e2ca24d17e2393
size 12345`
p, err := Decode(bytes.NewBufferString(ex))
assertEqualWithExample(t, ex, nil, err)
assertEqualWithExample(t, ex, latest, p.Version)
assertEqualWithExample(t, ex, "4d7a214614ab2935c943f9e0ff69d22eadbb8f32b1258daaa5e2ca24d17e2393", p.Oid)
assertEqualWithExample(t, ex, int64(12345), p.Size)
}
func TestIniV2Decode(t *testing.T) {
ex := `version http://git-media.io/v/2
oid sha256:4d7a214614ab2935c943f9e0ff69d22eadbb8f32b1258daaa5e2ca24d17e2393
@ -68,12 +80,12 @@ func TestDecodeInvalid(t *testing.T) {
"# git-media",
// bad oid type
`version http://git-media.io/v/2
`version http://hawser.github.com/spec/v1
oid shazam:4d7a214614ab2935c943f9e0ff69d22eadbb8f32b1258daaa5e2ca24d17e2393
size 12345`,
// no oid
`version http://git-media.io/v/2
`version http://hawser.github.com/spec/v1
size 12345`,
// bad version
@ -86,16 +98,16 @@ size 12345`,
size 12345`,
// bad size
`version http://git-media.io/v/2
`version http://hawser.github.com/spec/v1
oid sha256:4d7a214614ab2935c943f9e0ff69d22eadbb8f32b1258daaa5e2ca24d17e2393
size fif`,
// no size
`version http://git-media.io/v/2
`version http://hawser.github.com/spec/v1
oid sha256:4d7a214614ab2935c943f9e0ff69d22eadbb8f32b1258daaa5e2ca24d17e2393`,
// bad `key value` format
`version=http://git-media.io/v/2
`version=http://hawser.github.com/spec/v1
oid=sha256:4d7a214614ab2935c943f9e0ff69d22eadbb8f32b1258daaa5e2ca24d17e2393
size=fif`,
@ -105,13 +117,13 @@ oid=sha256:4d7a214614ab2935c943f9e0ff69d22eadbb8f32b1258daaa5e2ca24d17e2393
size=fif`,
// extra key
`version http://git-media.io/v/2
`version http://hawser.github.com/spec/v1
oid sha256:4d7a214614ab2935c943f9e0ff69d22eadbb8f32b1258daaa5e2ca24d17e2393
size 12345
wat wat`,
// keys out of order
`version http://git-media.io/v/2
`version http://hawser.github.com/spec/v1
size 12345
oid sha256:4d7a214614ab2935c943f9e0ff69d22eadbb8f32b1258daaa5e2ca24d17e2393`,
}