1
0
Fork 0
mirror of https://github.com/kyverno/kyverno.git synced 2025-03-09 09:26:54 +00:00
kyverno/vendor/github.com/googleapis/gnostic/compiler/reader_test.go
2019-08-02 11:20:56 -07:00

82 lines
No EOL
2 KiB
Go

package compiler
import (
. "gopkg.in/check.v1"
"io"
"net/http"
"testing"
)
// Hook up gocheck into the "go test" runner.
func Test(t *testing.T) {
TestingT(t)
}
var mockSever *http.Server
type ReaderTestingSuite struct{}
var _ = Suite(&ReaderTestingSuite{})
func (s *ReaderTestingSuite) SetUpSuite(c *C) {
mockSever = &http.Server{Addr: "127.0.0.1:8080", Handler:
http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
yamlBytes, err := ReadBytesForFile("testdata/petstore.yaml")
c.Assert(err, IsNil)
io.WriteString(w, string(yamlBytes))
})}
go func() {
mockSever.ListenAndServe()
}()
}
func (s *ReaderTestingSuite) TearDownSuite(c *C) {
mockSever.Close()
}
func (s *ReaderTestingSuite) TestRemoveFromInfoCache(c *C) {
fileName := "testdata/petstore.yaml"
yamlBytes, err := ReadBytesForFile(fileName)
c.Assert(err, IsNil)
c.Assert(len(yamlBytes) > 0, Equals, true)
petstore, err := ReadInfoFromBytes(fileName, yamlBytes)
c.Assert(err, IsNil)
c.Assert(petstore, NotNil)
c.Assert(len(infoCache), Equals, 1)
RemoveFromInfoCache(fileName)
c.Assert(len(infoCache), Equals, 0)
}
func (s *ReaderTestingSuite) TestDisableInfoCache(c *C) {
fileName := "testdata/petstore.yaml"
yamlBytes, err := ReadBytesForFile(fileName)
c.Assert(err, IsNil)
c.Assert(len(yamlBytes) > 0, Equals, true)
DisableInfoCache()
petstore, err := ReadInfoFromBytes(fileName, yamlBytes)
c.Assert(err, IsNil)
c.Assert(petstore, NotNil)
c.Assert(len(infoCache), Equals, 0)
}
func (s *ReaderTestingSuite) TestRemoveFromFileCache(c *C) {
fileUrl := "http://127.0.0.1:8080/petstore"
yamlBytes, err := FetchFile(fileUrl)
c.Assert(err, IsNil)
c.Assert(len(yamlBytes) > 0, Equals, true)
c.Assert(len(fileCache), Equals, 1)
RemoveFromFileCache(fileUrl)
c.Assert(len(fileCache), Equals, 0)
}
func (s *ReaderTestingSuite) TestDisableFileCache(c *C) {
DisableFileCache()
fileUrl := "http://127.0.0.1:8080/petstore"
yamlBytes, err := FetchFile(fileUrl)
c.Assert(err, IsNil)
c.Assert(len(yamlBytes) > 0, Equals, true)
c.Assert(len(fileCache), Equals, 0)
}