mirror of https://github.com/minio/minio.git
Adding test at byte level
This commit is contained in:
parent
0b08312ddd
commit
6f300c9ef0
|
@ -82,10 +82,9 @@ func WriteData(target io.Writer, header DataHeader, data io.Reader) error {
|
||||||
// encode header
|
// encode header
|
||||||
encoder := gob.NewEncoder(&headerBuffer)
|
encoder := gob.NewEncoder(&headerBuffer)
|
||||||
encoder.Encode(header)
|
encoder.Encode(header)
|
||||||
// write length of header
|
|
||||||
if err := binary.Write(target, binary.LittleEndian, int64(headerBuffer.Len())); err != nil {
|
// write version
|
||||||
return err
|
binary.Write(target, binary.LittleEndian, uint32(1))
|
||||||
}
|
|
||||||
|
|
||||||
// write encoded header
|
// write encoded header
|
||||||
if _, err := io.Copy(target, &headerBuffer); err != nil {
|
if _, err := io.Copy(target, &headerBuffer); err != nil {
|
||||||
|
|
|
@ -18,6 +18,9 @@ package data_v1
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
|
"encoding/binary"
|
||||||
|
"encoding/gob"
|
||||||
|
"io"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
. "gopkg.in/check.v1"
|
. "gopkg.in/check.v1"
|
||||||
|
@ -46,4 +49,23 @@ func (s *MySuite) TestSingleWrite(c *C) {
|
||||||
|
|
||||||
err := WriteData(&testBuffer, header, bytes.NewBufferString(testData))
|
err := WriteData(&testBuffer, header, bytes.NewBufferString(testData))
|
||||||
c.Assert(err, IsNil)
|
c.Assert(err, IsNil)
|
||||||
|
|
||||||
|
actualVersion := make([]byte, 4)
|
||||||
|
_, err = testBuffer.Read(actualVersion)
|
||||||
|
c.Assert(err, IsNil)
|
||||||
|
c.Assert(binary.LittleEndian.Uint32(actualVersion), DeepEquals, uint32(1))
|
||||||
|
|
||||||
|
actualHeader := DataHeader{}
|
||||||
|
|
||||||
|
decoder := gob.NewDecoder(&testBuffer)
|
||||||
|
decoder.Decode(&actualHeader)
|
||||||
|
|
||||||
|
c.Assert(actualHeader, DeepEquals, header)
|
||||||
|
|
||||||
|
var actualData bytes.Buffer
|
||||||
|
|
||||||
|
dataLength, err := io.Copy(&actualData, &testBuffer)
|
||||||
|
c.Assert(dataLength, Equals, int64(len(testData)))
|
||||||
|
c.Assert(actualData.Bytes(), DeepEquals, []byte(testData))
|
||||||
|
c.Assert(err, IsNil)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue