Add e2e tests
This commit is contained in:
parent
99a355f25d
commit
601fb7dacf
1163 changed files with 289217 additions and 14195 deletions
36
vendor/github.com/onsi/ginkgo/internal/writer/fake_writer.go
generated
vendored
Normal file
36
vendor/github.com/onsi/ginkgo/internal/writer/fake_writer.go
generated
vendored
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
package writer
|
||||
|
||||
type FakeGinkgoWriter struct {
|
||||
EventStream []string
|
||||
}
|
||||
|
||||
func NewFake() *FakeGinkgoWriter {
|
||||
return &FakeGinkgoWriter{
|
||||
EventStream: []string{},
|
||||
}
|
||||
}
|
||||
|
||||
func (writer *FakeGinkgoWriter) AddEvent(event string) {
|
||||
writer.EventStream = append(writer.EventStream, event)
|
||||
}
|
||||
|
||||
func (writer *FakeGinkgoWriter) Truncate() {
|
||||
writer.EventStream = append(writer.EventStream, "TRUNCATE")
|
||||
}
|
||||
|
||||
func (writer *FakeGinkgoWriter) DumpOut() {
|
||||
writer.EventStream = append(writer.EventStream, "DUMP")
|
||||
}
|
||||
|
||||
func (writer *FakeGinkgoWriter) DumpOutWithHeader(header string) {
|
||||
writer.EventStream = append(writer.EventStream, "DUMP_WITH_HEADER: "+header)
|
||||
}
|
||||
|
||||
func (writer *FakeGinkgoWriter) Bytes() []byte {
|
||||
writer.EventStream = append(writer.EventStream, "BYTES")
|
||||
return nil
|
||||
}
|
||||
|
||||
func (writer *FakeGinkgoWriter) Write(data []byte) (n int, err error) {
|
||||
return 0, nil
|
||||
}
|
||||
81
vendor/github.com/onsi/ginkgo/internal/writer/writer.go
generated
vendored
Normal file
81
vendor/github.com/onsi/ginkgo/internal/writer/writer.go
generated
vendored
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
package writer
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"io"
|
||||
"sync"
|
||||
)
|
||||
|
||||
type WriterInterface interface {
|
||||
io.Writer
|
||||
|
||||
Truncate()
|
||||
DumpOut()
|
||||
DumpOutWithHeader(header string)
|
||||
Bytes() []byte
|
||||
}
|
||||
|
||||
type Writer struct {
|
||||
buffer *bytes.Buffer
|
||||
outWriter io.Writer
|
||||
lock *sync.Mutex
|
||||
stream bool
|
||||
}
|
||||
|
||||
func New(outWriter io.Writer) *Writer {
|
||||
return &Writer{
|
||||
buffer: &bytes.Buffer{},
|
||||
lock: &sync.Mutex{},
|
||||
outWriter: outWriter,
|
||||
stream: true,
|
||||
}
|
||||
}
|
||||
|
||||
func (w *Writer) SetStream(stream bool) {
|
||||
w.lock.Lock()
|
||||
defer w.lock.Unlock()
|
||||
w.stream = stream
|
||||
}
|
||||
|
||||
func (w *Writer) Write(b []byte) (n int, err error) {
|
||||
w.lock.Lock()
|
||||
defer w.lock.Unlock()
|
||||
|
||||
n, err = w.buffer.Write(b)
|
||||
if w.stream {
|
||||
return w.outWriter.Write(b)
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
|
||||
func (w *Writer) Truncate() {
|
||||
w.lock.Lock()
|
||||
defer w.lock.Unlock()
|
||||
w.buffer.Reset()
|
||||
}
|
||||
|
||||
func (w *Writer) DumpOut() {
|
||||
w.lock.Lock()
|
||||
defer w.lock.Unlock()
|
||||
if !w.stream {
|
||||
w.buffer.WriteTo(w.outWriter)
|
||||
}
|
||||
}
|
||||
|
||||
func (w *Writer) Bytes() []byte {
|
||||
w.lock.Lock()
|
||||
defer w.lock.Unlock()
|
||||
b := w.buffer.Bytes()
|
||||
copied := make([]byte, len(b))
|
||||
copy(copied, b)
|
||||
return copied
|
||||
}
|
||||
|
||||
func (w *Writer) DumpOutWithHeader(header string) {
|
||||
w.lock.Lock()
|
||||
defer w.lock.Unlock()
|
||||
if !w.stream && w.buffer.Len() > 0 {
|
||||
w.outWriter.Write([]byte(header))
|
||||
w.buffer.WriteTo(w.outWriter)
|
||||
}
|
||||
}
|
||||
13
vendor/github.com/onsi/ginkgo/internal/writer/writer_suite_test.go
generated
vendored
Normal file
13
vendor/github.com/onsi/ginkgo/internal/writer/writer_suite_test.go
generated
vendored
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
package writer_test
|
||||
|
||||
import (
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestWriter(t *testing.T) {
|
||||
RegisterFailHandler(Fail)
|
||||
RunSpecs(t, "Writer Suite")
|
||||
}
|
||||
75
vendor/github.com/onsi/ginkgo/internal/writer/writer_test.go
generated
vendored
Normal file
75
vendor/github.com/onsi/ginkgo/internal/writer/writer_test.go
generated
vendored
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
package writer_test
|
||||
|
||||
import (
|
||||
"github.com/onsi/gomega/gbytes"
|
||||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/ginkgo/internal/writer"
|
||||
. "github.com/onsi/gomega"
|
||||
)
|
||||
|
||||
var _ = Describe("Writer", func() {
|
||||
var writer *Writer
|
||||
var out *gbytes.Buffer
|
||||
|
||||
BeforeEach(func() {
|
||||
out = gbytes.NewBuffer()
|
||||
writer = New(out)
|
||||
})
|
||||
|
||||
It("should stream directly to the outbuffer by default", func() {
|
||||
writer.Write([]byte("foo"))
|
||||
Ω(out).Should(gbytes.Say("foo"))
|
||||
})
|
||||
|
||||
It("should not emit the header when asked to DumpOutWitHeader", func() {
|
||||
writer.Write([]byte("foo"))
|
||||
writer.DumpOutWithHeader("my header")
|
||||
Ω(out).ShouldNot(gbytes.Say("my header"))
|
||||
Ω(out).Should(gbytes.Say("foo"))
|
||||
})
|
||||
|
||||
Context("when told not to stream", func() {
|
||||
BeforeEach(func() {
|
||||
writer.SetStream(false)
|
||||
})
|
||||
|
||||
It("should only write to the buffer when told to DumpOut", func() {
|
||||
writer.Write([]byte("foo"))
|
||||
Ω(out).ShouldNot(gbytes.Say("foo"))
|
||||
writer.DumpOut()
|
||||
Ω(out).Should(gbytes.Say("foo"))
|
||||
})
|
||||
|
||||
It("should truncate the internal buffer when told to truncate", func() {
|
||||
writer.Write([]byte("foo"))
|
||||
writer.Truncate()
|
||||
writer.DumpOut()
|
||||
Ω(out).ShouldNot(gbytes.Say("foo"))
|
||||
|
||||
writer.Write([]byte("bar"))
|
||||
writer.DumpOut()
|
||||
Ω(out).Should(gbytes.Say("bar"))
|
||||
})
|
||||
|
||||
Describe("emitting a header", func() {
|
||||
Context("when the buffer has content", func() {
|
||||
It("should emit the header followed by the content", func() {
|
||||
writer.Write([]byte("foo"))
|
||||
writer.DumpOutWithHeader("my header")
|
||||
|
||||
Ω(out).Should(gbytes.Say("my header"))
|
||||
Ω(out).Should(gbytes.Say("foo"))
|
||||
})
|
||||
})
|
||||
|
||||
Context("when the buffer has no content", func() {
|
||||
It("should not emit the header", func() {
|
||||
writer.DumpOutWithHeader("my header")
|
||||
|
||||
Ω(out).ShouldNot(gbytes.Say("my header"))
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
Loading…
Add table
Add a link
Reference in a new issue