@@ -1785,7 +1785,7 @@ func TestTagBytesN_Memory(t *testing.T) {
1785
1785
}
1786
1786
1787
1787
ctx := context .Background ()
1788
- // test TagBytes with no reference
1788
+ // test TagBytesN with no reference
1789
1789
gotDesc , err := oras .TagBytesN (ctx , s , mediaType , content , nil , oras .DefaultTagBytesNOptions )
1790
1790
if err != nil {
1791
1791
t .Fatal ("oras.TagBytes() error =" , err )
@@ -1809,7 +1809,7 @@ func TestTagBytesN_Memory(t *testing.T) {
1809
1809
t .Errorf ("Memory.Fetch() = %v, want %v" , got , content )
1810
1810
}
1811
1811
1812
- // test TagBytes with multiple references
1812
+ // test TagBytesN with multiple references
1813
1813
refs := []string {"foo" , "bar" , "baz" }
1814
1814
gotDesc , err = oras .TagBytesN (ctx , s , mediaType , content , refs , oras .DefaultTagBytesNOptions )
1815
1815
if err != nil {
@@ -1843,7 +1843,7 @@ func TestTagBytesN_Memory(t *testing.T) {
1843
1843
t .Errorf ("Memory.Fetch() = %v, want %v" , got , content )
1844
1844
}
1845
1845
1846
- // test TagBytes with empty media type and multiple references
1846
+ // test TagBytesN with empty media type and multiple references
1847
1847
gotDesc , err = oras .TagBytesN (ctx , s , "" , content , refs , oras .DefaultTagBytesNOptions )
1848
1848
if err != nil {
1849
1849
t .Fatal ("oras.TagBytes() error =" , err )
@@ -1876,7 +1876,7 @@ func TestTagBytesN_Memory(t *testing.T) {
1876
1876
t .Errorf ("Memory.Fetch() = %v, want %v" , got , content )
1877
1877
}
1878
1878
1879
- // test TagBytes with empty content and multiple references
1879
+ // test TagBytesN with empty content and multiple references
1880
1880
gotDesc , err = oras .TagBytesN (ctx , s , mediaType , nil , refs , oras .DefaultTagBytesNOptions )
1881
1881
if err != nil {
1882
1882
t .Fatal ("oras.TagBytes() error =" , err )
@@ -1918,7 +1918,6 @@ func TestTagBytesN_Repository(t *testing.T) {
1918
1918
Digest : digest .FromBytes (index ),
1919
1919
Size : int64 (len (index )),
1920
1920
}
1921
- var gotIndex []byte
1922
1921
refFoo := "foo"
1923
1922
refBar := "bar"
1924
1923
refs := []string {refFoo , refBar }
@@ -1936,11 +1935,10 @@ func TestTagBytesN_Repository(t *testing.T) {
1936
1935
if _ , err := buf .ReadFrom (r .Body ); err != nil {
1937
1936
t .Errorf ("fail to read: %v" , err )
1938
1937
}
1939
- gotIndex = buf .Bytes ()
1940
1938
w .Header ().Set ("Docker-Content-Digest" , indexDesc .Digest .String ())
1941
1939
w .WriteHeader (http .StatusCreated )
1942
1940
return
1943
- case r .Method == http .MethodHead &&
1941
+ case ( r .Method == http .MethodHead || r . Method == http . MethodGet ) &&
1944
1942
(r .URL .Path == "/v2/test/manifests/" + indexDesc .Digest .String () ||
1945
1943
r .URL .Path == "/v2/test/manifests/" + refFoo ||
1946
1944
r .URL .Path == "/v2/test/manifests/" + refBar ):
@@ -1952,6 +1950,11 @@ func TestTagBytesN_Repository(t *testing.T) {
1952
1950
w .Header ().Set ("Content-Type" , indexDesc .MediaType )
1953
1951
w .Header ().Set ("Docker-Content-Digest" , indexDesc .Digest .String ())
1954
1952
w .Header ().Set ("Content-Length" , strconv .Itoa (int (indexDesc .Size )))
1953
+ if r .Method == http .MethodGet {
1954
+ if _ , err := w .Write (index ); err != nil {
1955
+ t .Errorf ("failed to write %q: %v" , r .URL , err )
1956
+ }
1957
+ }
1955
1958
default :
1956
1959
t .Errorf ("unexpected access: %s %s" , r .Method , r .URL )
1957
1960
w .WriteHeader (http .StatusForbidden )
@@ -1970,20 +1973,31 @@ func TestTagBytesN_Repository(t *testing.T) {
1970
1973
repo .PlainHTTP = true
1971
1974
ctx := context .Background ()
1972
1975
1973
- // test TagBytes with no reference
1976
+ // test TagBytesN with no reference
1974
1977
gotDesc , err := oras .TagBytesN (ctx , repo , indexMediaType , index , nil , oras .DefaultTagBytesNOptions )
1975
1978
if err != nil {
1976
1979
t .Fatal ("oras.TagBytes() error =" , err )
1977
1980
}
1978
1981
if ! reflect .DeepEqual (gotDesc , indexDesc ) {
1979
1982
t .Errorf ("oras.TagBytes() = %v, want %v" , gotDesc , indexDesc )
1980
1983
}
1981
- if ! bytes .Equal (gotIndex , index ) {
1982
- t .Errorf ("oras.TagBytes() = %v, want %v" , gotIndex , index )
1984
+ rc , err := repo .Fetch (ctx , gotDesc )
1985
+ if err != nil {
1986
+ t .Fatal ("Repository.Fetch() error =" , err )
1987
+ }
1988
+ got , err := io .ReadAll (rc )
1989
+ if err != nil {
1990
+ t .Fatal ("Repository.Fetch().Read() error =" , err )
1991
+ }
1992
+ err = rc .Close ()
1993
+ if err != nil {
1994
+ t .Error ("Repository.Fetch().Close() error =" , err )
1995
+ }
1996
+ if ! bytes .Equal (got , index ) {
1997
+ t .Errorf ("Repository.Fetch() = %v, want %v" , got , index )
1983
1998
}
1984
1999
1985
- // test TagBytes with multiple references
1986
- gotIndex = nil
2000
+ // test TagBytesN with multiple references
1987
2001
gotDesc , err = oras .TagBytesN (ctx , repo , indexMediaType , index , refs , oras .DefaultTagBytesNOptions )
1988
2002
if err != nil {
1989
2003
t .Fatal ("oras.TagBytes() error =" , err )
@@ -2000,8 +2014,20 @@ func TestTagBytesN_Repository(t *testing.T) {
2000
2014
t .Fatalf ("oras.TagBytes() = %v, want %v" , gotDesc , indexDesc )
2001
2015
}
2002
2016
}
2003
- if ! bytes .Equal (gotIndex , index ) {
2004
- t .Errorf ("oras.TagBytes() = %v, want %v" , gotIndex , index )
2017
+ rc , err = repo .Fetch (ctx , gotDesc )
2018
+ if err != nil {
2019
+ t .Fatal ("Repository.Fetch() error =" , err )
2020
+ }
2021
+ got , err = io .ReadAll (rc )
2022
+ if err != nil {
2023
+ t .Fatal ("Repository.Fetch().Read() error =" , err )
2024
+ }
2025
+ err = rc .Close ()
2026
+ if err != nil {
2027
+ t .Error ("Repository.Fetch().Close() error =" , err )
2028
+ }
2029
+ if ! bytes .Equal (got , index ) {
2030
+ t .Errorf ("Repository.Fetch() = %v, want %v" , got , index )
2005
2031
}
2006
2032
}
2007
2033
0 commit comments