Unit test version in HTTP response
parent
d5fda01c2a
commit
85bb693119
|
@ -35,27 +35,14 @@ func NewServer(c *run.Config) *Server {
|
||||||
Server: srv,
|
Server: srv,
|
||||||
Config: c,
|
Config: c,
|
||||||
}
|
}
|
||||||
// Set the logger to discard unless verbose is on
|
configureLogging(&s)
|
||||||
if !testing.Verbose() {
|
|
||||||
type logSetter interface {
|
|
||||||
SetLogger(*log.Logger)
|
|
||||||
}
|
|
||||||
nullLogger := log.New(ioutil.Discard, "", 0)
|
|
||||||
s.MetaStore.Logger = nullLogger
|
|
||||||
s.TSDBStore.Logger = nullLogger
|
|
||||||
for _, service := range s.Services {
|
|
||||||
if service, ok := service.(logSetter); ok {
|
|
||||||
service.SetLogger(nullLogger)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return &s
|
return &s
|
||||||
}
|
}
|
||||||
|
|
||||||
// OpenServer opens a test server.
|
// OpenServer opens a test server.
|
||||||
func OpenServer(c *run.Config, joinURLs string) *Server {
|
func OpenServer(c *run.Config, joinURLs string) *Server {
|
||||||
s := NewServer(c)
|
s := NewServer(c)
|
||||||
|
configureLogging(s)
|
||||||
if err := s.Open(); err != nil {
|
if err := s.Open(); err != nil {
|
||||||
panic(err.Error())
|
panic(err.Error())
|
||||||
}
|
}
|
||||||
|
@ -63,6 +50,21 @@ func OpenServer(c *run.Config, joinURLs string) *Server {
|
||||||
return s
|
return s
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OpenServerWithVersion opens a test server with a specific version.
|
||||||
|
func OpenServerWithVersion(c *run.Config, version string) *Server {
|
||||||
|
srv, _ := run.NewServer(c, version)
|
||||||
|
s := Server{
|
||||||
|
Server: srv,
|
||||||
|
Config: c,
|
||||||
|
}
|
||||||
|
configureLogging(&s)
|
||||||
|
if err := s.Open(); err != nil {
|
||||||
|
panic(err.Error())
|
||||||
|
}
|
||||||
|
|
||||||
|
return &s
|
||||||
|
}
|
||||||
|
|
||||||
// Close shuts down the server and removes all temporary paths.
|
// Close shuts down the server and removes all temporary paths.
|
||||||
func (s *Server) Close() {
|
func (s *Server) Close() {
|
||||||
os.RemoveAll(s.Config.Meta.Dir)
|
os.RemoveAll(s.Config.Meta.Dir)
|
||||||
|
@ -287,3 +289,20 @@ func (t *Test) init(s *Server) error {
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func configureLogging(s *Server) {
|
||||||
|
// Set the logger to discard unless verbose is on
|
||||||
|
if !testing.Verbose() {
|
||||||
|
type logSetter interface {
|
||||||
|
SetLogger(*log.Logger)
|
||||||
|
}
|
||||||
|
nullLogger := log.New(ioutil.Discard, "", 0)
|
||||||
|
s.MetaStore.Logger = nullLogger
|
||||||
|
s.TSDBStore.Logger = nullLogger
|
||||||
|
for _, service := range s.Services {
|
||||||
|
if service, ok := service.(logSetter); ok {
|
||||||
|
service.SetLogger(nullLogger)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@ package run_test
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
|
"net/http"
|
||||||
"net/url"
|
"net/url"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
@ -10,6 +11,19 @@ import (
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Ensure that HTTP responses include the InfluxDB version.
|
||||||
|
func TestServer_HTTPResponseVersion(t *testing.T) {
|
||||||
|
version := "v1234"
|
||||||
|
s := OpenServerWithVersion(NewConfig(), version)
|
||||||
|
defer s.Close()
|
||||||
|
|
||||||
|
resp, _ := http.Get(s.URL() + "/query")
|
||||||
|
got := resp.Header.Get("X-Influxdb-Version")
|
||||||
|
if version != version {
|
||||||
|
t.Errorf("Server responded with incorrect version, exp %s, got %s", version, got)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Ensure the database commands work.
|
// Ensure the database commands work.
|
||||||
func TestServer_DatabaseCommands(t *testing.T) {
|
func TestServer_DatabaseCommands(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
Loading…
Reference in New Issue