59 lines
1.5 KiB
Go
59 lines
1.5 KiB
Go
package integration
|
|
|
|
import (
|
|
"os"
|
|
|
|
. "github.com/influxdb/influxdb/integration/helpers"
|
|
. "launchpad.net/gocheck"
|
|
)
|
|
|
|
type ReplicationFactorSuite struct {
|
|
serverProcesses []*Server
|
|
}
|
|
|
|
var _ = Suite(&ReplicationFactorSuite{})
|
|
|
|
func (self *ReplicationFactorSuite) SetUpSuite(c *C) {
|
|
err := os.RemoveAll("/tmp/influxdb/test")
|
|
c.Assert(err, IsNil)
|
|
self.serverProcesses = []*Server{
|
|
NewServer("integration/test_rf_1.toml", c),
|
|
NewServer("integration/test_rf_2.toml", c),
|
|
}
|
|
client := self.serverProcesses[0].GetClient("", c)
|
|
c.Assert(client.CreateDatabase("test"), IsNil)
|
|
for _, s := range self.serverProcesses {
|
|
s.WaitForServerToSync()
|
|
}
|
|
}
|
|
|
|
func (self *ReplicationFactorSuite) TearDownSuite(c *C) {
|
|
for _, s := range self.serverProcesses {
|
|
s.Stop()
|
|
}
|
|
}
|
|
|
|
func (self *ReplicationFactorSuite) TestReplayingWAL(c *C) {
|
|
rootClient := self.serverProcesses[0].GetClient("test_replaying_wal", c)
|
|
c.Assert(rootClient.CreateDatabase("test_replaying_wal"), IsNil)
|
|
series := CreatePoints("test_replication_factor_1", 1, 1)
|
|
c.Assert(rootClient.WriteSeries(series), IsNil)
|
|
|
|
self.serverProcesses[0].Stop()
|
|
self.serverProcesses[1].Stop()
|
|
|
|
self.serverProcesses[1].Start()
|
|
self.serverProcesses[1].WaitForServerToStart()
|
|
self.serverProcesses[0].Start()
|
|
self.serverProcesses[0].WaitForServerToStart()
|
|
|
|
for _, s := range self.serverProcesses {
|
|
s.WaitForServerToSync()
|
|
}
|
|
|
|
for _, s := range self.serverProcesses {
|
|
client := s.GetClient("", c)
|
|
c.Assert(client.Ping(), IsNil)
|
|
}
|
|
}
|