mirror of
https://github.com/ipfs/kubo.git
synced 2025-06-30 18:13:54 +08:00
fix tests
License: MIT Signed-off-by: Jeromy <jeromyj@gmail.com>
This commit is contained in:
@ -20,36 +20,38 @@ func TestSliceFiles(t *testing.T) {
|
|||||||
sf := NewSliceFile(name, name, files)
|
sf := NewSliceFile(name, name, files)
|
||||||
|
|
||||||
if !sf.IsDirectory() {
|
if !sf.IsDirectory() {
|
||||||
t.Error("SliceFile should always be a directory")
|
t.Fatal("SliceFile should always be a directory")
|
||||||
}
|
}
|
||||||
if n, err := sf.Read(buf); n > 0 || err != ErrNotReader {
|
|
||||||
t.Error("Shouldn't be able to call `Read` on a SliceFile")
|
if n, err := sf.Read(buf); n > 0 || err != io.EOF {
|
||||||
|
t.Fatal("Shouldn't be able to read data from a SliceFile")
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := sf.Close(); err != ErrNotReader {
|
if err := sf.Close(); err != ErrNotReader {
|
||||||
t.Error("Shouldn't be able to call `Close` on a SliceFile")
|
t.Fatal("Shouldn't be able to call `Close` on a SliceFile")
|
||||||
}
|
}
|
||||||
|
|
||||||
file, err := sf.NextFile()
|
file, err := sf.NextFile()
|
||||||
if file == nil || err != nil {
|
if file == nil || err != nil {
|
||||||
t.Error("Expected a file and nil error")
|
t.Fatal("Expected a file and nil error")
|
||||||
}
|
}
|
||||||
read, err := file.Read(buf)
|
read, err := file.Read(buf)
|
||||||
if read != 11 || err != nil {
|
if read != 11 || err != nil {
|
||||||
t.Error("NextFile got a file in the wrong order")
|
t.Fatal("NextFile got a file in the wrong order")
|
||||||
}
|
}
|
||||||
|
|
||||||
file, err = sf.NextFile()
|
file, err = sf.NextFile()
|
||||||
if file == nil || err != nil {
|
if file == nil || err != nil {
|
||||||
t.Error("Expected a file and nil error")
|
t.Fatal("Expected a file and nil error")
|
||||||
}
|
}
|
||||||
file, err = sf.NextFile()
|
file, err = sf.NextFile()
|
||||||
if file == nil || err != nil {
|
if file == nil || err != nil {
|
||||||
t.Error("Expected a file and nil error")
|
t.Fatal("Expected a file and nil error")
|
||||||
}
|
}
|
||||||
|
|
||||||
file, err = sf.NextFile()
|
file, err = sf.NextFile()
|
||||||
if file != nil || err != io.EOF {
|
if file != nil || err != io.EOF {
|
||||||
t.Error("Expected a nil file and io.EOF")
|
t.Fatal("Expected a nil file and io.EOF")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -59,21 +61,21 @@ func TestReaderFiles(t *testing.T) {
|
|||||||
buf := make([]byte, len(message))
|
buf := make([]byte, len(message))
|
||||||
|
|
||||||
if rf.IsDirectory() {
|
if rf.IsDirectory() {
|
||||||
t.Error("ReaderFile should never be a directory")
|
t.Fatal("ReaderFile should never be a directory")
|
||||||
}
|
}
|
||||||
file, err := rf.NextFile()
|
file, err := rf.NextFile()
|
||||||
if file != nil || err != ErrNotDirectory {
|
if file != nil || err != ErrNotDirectory {
|
||||||
t.Error("Expected a nil file and ErrNotDirectory")
|
t.Fatal("Expected a nil file and ErrNotDirectory")
|
||||||
}
|
}
|
||||||
|
|
||||||
if n, err := rf.Read(buf); n == 0 || err != nil {
|
if n, err := rf.Read(buf); n == 0 || err != nil {
|
||||||
t.Error("Expected to be able to read")
|
t.Fatal("Expected to be able to read")
|
||||||
}
|
}
|
||||||
if err := rf.Close(); err != nil {
|
if err := rf.Close(); err != nil {
|
||||||
t.Error("Should be able to close")
|
t.Fatal("Should be able to close")
|
||||||
}
|
}
|
||||||
if n, err := rf.Read(buf); n != 0 || err != io.EOF {
|
if n, err := rf.Read(buf); n != 0 || err != io.EOF {
|
||||||
t.Error("Expected EOF when reading after close")
|
t.Fatal("Expected EOF when reading after close")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -86,23 +88,9 @@ Some-Header: beep
|
|||||||
|
|
||||||
beep
|
beep
|
||||||
--Boundary!
|
--Boundary!
|
||||||
Content-Type: multipart/mixed; boundary=OtherBoundary
|
Content-Type: application/x-directory
|
||||||
Content-Disposition: file; filename="dir"
|
Content-Disposition: file; filename="dir"
|
||||||
|
|
||||||
--OtherBoundary
|
|
||||||
Content-Type: text/plain
|
|
||||||
Content-Disposition: file; filename="some/file/path"
|
|
||||||
|
|
||||||
test
|
|
||||||
--OtherBoundary
|
|
||||||
Content-Type: text/plain
|
|
||||||
|
|
||||||
boop
|
|
||||||
--OtherBoundary
|
|
||||||
Content-Type: text/plain
|
|
||||||
|
|
||||||
bloop
|
|
||||||
--OtherBoundary--
|
|
||||||
--Boundary!--
|
--Boundary!--
|
||||||
|
|
||||||
`
|
`
|
||||||
@ -114,81 +102,48 @@ bloop
|
|||||||
// test properties of a file created from the first part
|
// test properties of a file created from the first part
|
||||||
part, err := mpReader.NextPart()
|
part, err := mpReader.NextPart()
|
||||||
if part == nil || err != nil {
|
if part == nil || err != nil {
|
||||||
t.Error("Expected non-nil part, nil error")
|
t.Fatal("Expected non-nil part, nil error")
|
||||||
}
|
}
|
||||||
mpf, err := NewFileFromPart(part)
|
mpf, err := NewFileFromPart(part)
|
||||||
if mpf == nil || err != nil {
|
if mpf == nil || err != nil {
|
||||||
t.Error("Expected non-nil MultipartFile, nil error")
|
t.Fatal("Expected non-nil MultipartFile, nil error")
|
||||||
}
|
}
|
||||||
if mpf.IsDirectory() {
|
if mpf.IsDirectory() {
|
||||||
t.Error("Expected file to not be a directory")
|
t.Fatal("Expected file to not be a directory")
|
||||||
}
|
}
|
||||||
if mpf.FileName() != "name" {
|
if mpf.FileName() != "name" {
|
||||||
t.Error("Expected filename to be \"name\"")
|
t.Fatal("Expected filename to be \"name\"")
|
||||||
}
|
}
|
||||||
if file, err := mpf.NextFile(); file != nil || err != ErrNotDirectory {
|
if file, err := mpf.NextFile(); file != nil || err != ErrNotDirectory {
|
||||||
t.Error("Expected a nil file and ErrNotDirectory")
|
t.Fatal("Expected a nil file and ErrNotDirectory")
|
||||||
}
|
}
|
||||||
if n, err := mpf.Read(buf); n != 4 || err != nil {
|
if n, err := mpf.Read(buf); n != 4 || err != nil {
|
||||||
t.Error("Expected to be able to read 4 bytes")
|
t.Fatal("Expected to be able to read 4 bytes")
|
||||||
}
|
}
|
||||||
if err := mpf.Close(); err != nil {
|
if err := mpf.Close(); err != nil {
|
||||||
t.Error("Expected to be able to close file")
|
t.Fatal("Expected to be able to close file")
|
||||||
}
|
}
|
||||||
|
|
||||||
// test properties of file created from second part (directory)
|
// test properties of file created from second part (directory)
|
||||||
part, err = mpReader.NextPart()
|
part, err = mpReader.NextPart()
|
||||||
if part == nil || err != nil {
|
if part == nil || err != nil {
|
||||||
t.Error("Expected non-nil part, nil error")
|
t.Fatal("Expected non-nil part, nil error")
|
||||||
}
|
}
|
||||||
mpf, err = NewFileFromPart(part)
|
mpf, err = NewFileFromPart(part)
|
||||||
if mpf == nil || err != nil {
|
if mpf == nil || err != nil {
|
||||||
t.Error("Expected non-nil MultipartFile, nil error")
|
t.Fatal("Expected non-nil MultipartFile, nil error")
|
||||||
}
|
}
|
||||||
if !mpf.IsDirectory() {
|
if !mpf.IsDirectory() {
|
||||||
t.Error("Expected file to be a directory")
|
t.Fatal("Expected file to be a directory")
|
||||||
}
|
}
|
||||||
if mpf.FileName() != "dir" {
|
if mpf.FileName() != "dir" {
|
||||||
t.Error("Expected filename to be \"dir\"")
|
t.Fatal("Expected filename to be \"dir\"")
|
||||||
}
|
}
|
||||||
if n, err := mpf.Read(buf); n > 0 || err != ErrNotReader {
|
if n, err := mpf.Read(buf); n > 0 || err != ErrNotReader {
|
||||||
t.Error("Shouldn't be able to call `Read` on a directory")
|
t.Fatal("Shouldn't be able to call `Read` on a directory")
|
||||||
}
|
}
|
||||||
if err := mpf.Close(); err != ErrNotReader {
|
if err := mpf.Close(); err != ErrNotReader {
|
||||||
t.Error("Shouldn't be able to call `Close` on a directory")
|
t.Fatal("Shouldn't be able to call `Close` on a directory")
|
||||||
}
|
}
|
||||||
|
|
||||||
// test properties of first child file
|
|
||||||
child, err := mpf.NextFile()
|
|
||||||
if child == nil || err != nil {
|
|
||||||
t.Error("Expected to be able to read a child file")
|
|
||||||
}
|
|
||||||
if child.IsDirectory() {
|
|
||||||
t.Error("Expected file to not be a directory")
|
|
||||||
}
|
|
||||||
if child.FileName() != "some/file/path" {
|
|
||||||
t.Error("Expected filename to be \"some/file/path\"")
|
|
||||||
}
|
|
||||||
|
|
||||||
// test processing files out of order
|
|
||||||
child, err = mpf.NextFile()
|
|
||||||
if child == nil || err != nil {
|
|
||||||
t.Error("Expected to be able to read a child file")
|
|
||||||
}
|
|
||||||
child2, err := mpf.NextFile()
|
|
||||||
if child == nil || err != nil {
|
|
||||||
t.Error("Expected to be able to read a child file")
|
|
||||||
}
|
|
||||||
if n, err := child2.Read(buf); n != 5 || err != nil {
|
|
||||||
t.Error("Expected to be able to read")
|
|
||||||
}
|
|
||||||
if n, err := child.Read(buf); n != 0 || err == nil {
|
|
||||||
t.Error("Expected to not be able to read after advancing NextFile() past this file")
|
|
||||||
}
|
|
||||||
|
|
||||||
// make sure the end is handled properly
|
|
||||||
child, err = mpf.NextFile()
|
|
||||||
if child != nil || err == nil {
|
|
||||||
t.Error("Expected NextFile to return (nil, EOF)")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -29,78 +29,86 @@ func TestOutput(t *testing.T) {
|
|||||||
|
|
||||||
part, err := mpReader.NextPart()
|
part, err := mpReader.NextPart()
|
||||||
if part == nil || err != nil {
|
if part == nil || err != nil {
|
||||||
t.Error("Expected non-nil part, nil error")
|
t.Fatal("Expected non-nil part, nil error")
|
||||||
}
|
}
|
||||||
mpf, err := files.NewFileFromPart(part)
|
mpf, err := files.NewFileFromPart(part)
|
||||||
if mpf == nil || err != nil {
|
if mpf == nil || err != nil {
|
||||||
t.Error("Expected non-nil MultipartFile, nil error")
|
t.Fatal("Expected non-nil MultipartFile, nil error")
|
||||||
}
|
}
|
||||||
if mpf.IsDirectory() {
|
if mpf.IsDirectory() {
|
||||||
t.Error("Expected file to not be a directory")
|
t.Fatal("Expected file to not be a directory")
|
||||||
}
|
}
|
||||||
if mpf.FileName() != "file.txt" {
|
if mpf.FileName() != "file.txt" {
|
||||||
t.Error("Expected filename to be \"file.txt\"")
|
t.Fatal("Expected filename to be \"file.txt\"")
|
||||||
}
|
}
|
||||||
if n, err := mpf.Read(buf); n != len(text) || err != nil {
|
if n, err := mpf.Read(buf); n != len(text) || err != nil {
|
||||||
t.Error("Expected to read from file", n, err)
|
t.Fatal("Expected to read from file", n, err)
|
||||||
}
|
}
|
||||||
if string(buf[:len(text)]) != text {
|
if string(buf[:len(text)]) != text {
|
||||||
t.Error("Data read was different than expected")
|
t.Fatal("Data read was different than expected")
|
||||||
}
|
}
|
||||||
|
|
||||||
part, err = mpReader.NextPart()
|
part, err = mpReader.NextPart()
|
||||||
if part == nil || err != nil {
|
if part == nil || err != nil {
|
||||||
t.Error("Expected non-nil part, nil error")
|
t.Fatal("Expected non-nil part, nil error")
|
||||||
}
|
}
|
||||||
mpf, err = files.NewFileFromPart(part)
|
mpf, err = files.NewFileFromPart(part)
|
||||||
if mpf == nil || err != nil {
|
if mpf == nil || err != nil {
|
||||||
t.Error("Expected non-nil MultipartFile, nil error")
|
t.Fatal("Expected non-nil MultipartFile, nil error")
|
||||||
}
|
}
|
||||||
if !mpf.IsDirectory() {
|
if !mpf.IsDirectory() {
|
||||||
t.Error("Expected file to be a directory")
|
t.Fatal("Expected file to be a directory")
|
||||||
}
|
}
|
||||||
if mpf.FileName() != "boop" {
|
if mpf.FileName() != "boop" {
|
||||||
t.Error("Expected filename to be \"boop\"")
|
t.Fatal("Expected filename to be \"boop\"")
|
||||||
}
|
}
|
||||||
|
|
||||||
child, err := mpf.NextFile()
|
part, err = mpReader.NextPart()
|
||||||
|
if part == nil || err != nil {
|
||||||
|
t.Fatal("Expected non-nil part, nil error")
|
||||||
|
}
|
||||||
|
child, err := files.NewFileFromPart(part)
|
||||||
if child == nil || err != nil {
|
if child == nil || err != nil {
|
||||||
t.Error("Expected to be able to read a child file")
|
t.Fatal("Expected to be able to read a child file")
|
||||||
}
|
}
|
||||||
if child.IsDirectory() {
|
if child.IsDirectory() {
|
||||||
t.Error("Expected file to not be a directory")
|
t.Fatal("Expected file to not be a directory")
|
||||||
}
|
}
|
||||||
if child.FileName() != "boop/a.txt" {
|
if child.FileName() != "boop/a.txt" {
|
||||||
t.Error("Expected filename to be \"some/file/path\"")
|
t.Fatal("Expected filename to be \"some/file/path\"")
|
||||||
}
|
}
|
||||||
|
|
||||||
child, err = mpf.NextFile()
|
part, err = mpReader.NextPart()
|
||||||
|
if part == nil || err != nil {
|
||||||
|
t.Fatal("Expected non-nil part, nil error")
|
||||||
|
}
|
||||||
|
child, err = files.NewFileFromPart(part)
|
||||||
if child == nil || err != nil {
|
if child == nil || err != nil {
|
||||||
t.Error("Expected to be able to read a child file")
|
t.Fatal("Expected to be able to read a child file")
|
||||||
}
|
}
|
||||||
if child.IsDirectory() {
|
if child.IsDirectory() {
|
||||||
t.Error("Expected file to not be a directory")
|
t.Fatal("Expected file to not be a directory")
|
||||||
}
|
}
|
||||||
if child.FileName() != "boop/b.txt" {
|
if child.FileName() != "boop/b.txt" {
|
||||||
t.Error("Expected filename to be \"some/file/path\"")
|
t.Fatal("Expected filename to be \"some/file/path\"")
|
||||||
}
|
}
|
||||||
|
|
||||||
child, err = mpf.NextFile()
|
child, err = mpf.NextFile()
|
||||||
if child != nil || err != io.EOF {
|
if child != nil || err != io.EOF {
|
||||||
t.Error("Expected to get (nil, io.EOF)")
|
t.Fatal("Expected to get (nil, io.EOF)")
|
||||||
}
|
}
|
||||||
|
|
||||||
part, err = mpReader.NextPart()
|
part, err = mpReader.NextPart()
|
||||||
if part == nil || err != nil {
|
if part == nil || err != nil {
|
||||||
t.Error("Expected non-nil part, nil error")
|
t.Fatal("Expected non-nil part, nil error")
|
||||||
}
|
}
|
||||||
mpf, err = files.NewFileFromPart(part)
|
mpf, err = files.NewFileFromPart(part)
|
||||||
if mpf == nil || err != nil {
|
if mpf == nil || err != nil {
|
||||||
t.Error("Expected non-nil MultipartFile, nil error")
|
t.Fatal("Expected non-nil MultipartFile, nil error")
|
||||||
}
|
}
|
||||||
|
|
||||||
part, err = mpReader.NextPart()
|
part, err = mpReader.NextPart()
|
||||||
if part != nil || err != io.EOF {
|
if part != nil || err != io.EOF {
|
||||||
t.Error("Expected to get (nil, io.EOF)")
|
t.Fatal("Expected to get (nil, io.EOF)")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user