Browse Source

rafthttp: add back tests that commentted out

Yicheng Qin 10 years ago
parent
commit
dee3001086
4 changed files with 21 additions and 14 deletions
  1. 8 3
      rafthttp/http_test.go
  2. 2 2
      rafthttp/msgapp.go
  3. 9 7
      rafthttp/transport_test.go
  4. 2 2
      rafthttp/util.go

+ 8 - 3
rafthttp/http_test.go

@@ -15,15 +15,21 @@
 package rafthttp
 
 import (
+	"bytes"
 	"errors"
+	"io"
 	"net/http"
+	"net/http/httptest"
+	"strings"
+	"testing"
 
 	"github.com/coreos/etcd/Godeps/_workspace/src/golang.org/x/net/context"
+	"github.com/coreos/etcd/pkg/pbutil"
+	"github.com/coreos/etcd/pkg/types"
 	"github.com/coreos/etcd/raft/raftpb"
 )
 
-/*
-func TestServeRaft(t *testing.T) {
+func TestServeRaftPrefix(t *testing.T) {
 	testCases := []struct {
 		method    string
 		body      io.Reader
@@ -147,7 +153,6 @@ func TestServeRaft(t *testing.T) {
 		}
 	}
 }
-*/
 
 // errReader implements io.Reader to facilitate a broken request.
 type errReader struct{}

+ 2 - 2
rafthttp/msgapp.go

@@ -52,7 +52,7 @@ func (enc *msgAppEncoder) encode(m raftpb.Message) error {
 	}
 	for i := 0; i < l; i++ {
 		ent := &ents[i]
-		if err := writeEntry(enc.w, ent); err != nil {
+		if err := writeEntryTo(enc.w, ent); err != nil {
 			return err
 		}
 	}
@@ -80,7 +80,7 @@ func (dec *msgAppDecoder) decode() (raftpb.Message, error) {
 	ents := make([]raftpb.Entry, int(l))
 	for i := 0; i < int(l); i++ {
 		ent := &ents[i]
-		if err := readEntry(dec.r, ent); err != nil {
+		if err := readEntryFrom(dec.r, ent); err != nil {
 			return m, err
 		}
 	}

+ 9 - 7
rafthttp/transport_test.go

@@ -26,13 +26,14 @@ import (
 )
 
 func TestTransportAdd(t *testing.T) {
-	t.Skip("")
 	ls := stats.NewLeaderStats("")
 	tr := &transport{
-		leaderStats: ls,
-		peers:       make(map[types.ID]*peer),
+		roundTripper: &roundTripperRecorder{},
+		leaderStats:  ls,
+		peers:        make(map[types.ID]*peer),
 	}
 	tr.AddPeer(1, []string{"http://a"})
+	defer tr.Stop()
 
 	if _, ok := ls.Followers["1"]; !ok {
 		t.Errorf("FollowerStats[1] is nil, want exists")
@@ -51,13 +52,14 @@ func TestTransportAdd(t *testing.T) {
 }
 
 func TestTransportRemove(t *testing.T) {
-	t.Skip("")
 	tr := &transport{
-		leaderStats: stats.NewLeaderStats(""),
-		peers:       make(map[types.ID]*peer),
+		roundTripper: &roundTripperRecorder{},
+		leaderStats:  stats.NewLeaderStats(""),
+		peers:        make(map[types.ID]*peer),
 	}
 	tr.AddPeer(1, []string{"http://a"})
 	tr.RemovePeer(types.ID(1))
+	defer tr.Stop()
 
 	if _, ok := tr.peers[types.ID(1)]; ok {
 		t.Fatalf("senders[1] exists, want removed")
@@ -65,7 +67,6 @@ func TestTransportRemove(t *testing.T) {
 }
 
 func TestTransportErrorc(t *testing.T) {
-	t.Skip("")
 	errorc := make(chan error, 1)
 	tr := &transport{
 		roundTripper: newRespRoundTripper(http.StatusForbidden, nil),
@@ -74,6 +75,7 @@ func TestTransportErrorc(t *testing.T) {
 		errorc:       errorc,
 	}
 	tr.AddPeer(1, []string{"http://a"})
+	defer tr.Stop()
 
 	select {
 	case <-errorc:

+ 2 - 2
rafthttp/util.go

@@ -21,7 +21,7 @@ import (
 	"github.com/coreos/etcd/raft/raftpb"
 )
 
-func writeEntry(w io.Writer, ent *raftpb.Entry) error {
+func writeEntryTo(w io.Writer, ent *raftpb.Entry) error {
 	size := ent.Size()
 	if err := binary.Write(w, binary.BigEndian, uint64(size)); err != nil {
 		return err
@@ -34,7 +34,7 @@ func writeEntry(w io.Writer, ent *raftpb.Entry) error {
 	return err
 }
 
-func readEntry(r io.Reader, ent *raftpb.Entry) error {
+func readEntryFrom(r io.Reader, ent *raftpb.Entry) error {
 	var l uint64
 	if err := binary.Read(r, binary.BigEndian, &l); err != nil {
 		return err