Update tests and fix a couple failures

This commit is contained in:
Justin Li
2014-07-17 00:41:59 -04:00
parent da19ed3e21
commit ed126dda29
5 changed files with 52 additions and 57 deletions
+7 -6
View File
@@ -10,13 +10,14 @@ import (
"github.com/chihaya/bencode"
"github.com/chihaya/chihaya/config"
"github.com/chihaya/chihaya/tracker"
"github.com/chihaya/chihaya/tracker/models"
)
func TestPrivateAnnounce(t *testing.T) {
cfg := config.DefaultConfig
cfg.Private = true
tkr, err := NewTracker(&cfg)
tkr, err := tracker.New(&cfg)
if err != nil {
t.Fatal(err)
}
@@ -63,7 +64,7 @@ func TestPrivateAnnounce(t *testing.T) {
checkAnnounce(peer, expected, srv, t)
}
func loadTestData(tkr *Tracker) error {
func loadTestData(tkr *tracker.Tracker) error {
conn, err := tkr.Pool.Get()
if err != nil {
return err
@@ -76,7 +77,7 @@ func loadTestData(tkr *Tracker) error {
}
for i, passkey := range users {
err = conn.PutUser(&tracker.User{
err = conn.PutUser(&models.User{
ID: uint64(i + 1),
Passkey: passkey,
})
@@ -91,11 +92,11 @@ func loadTestData(tkr *Tracker) error {
return err
}
torrent := &tracker.Torrent{
torrent := &models.Torrent{
ID: 1,
Infohash: infoHash,
Seeders: make(map[string]tracker.Peer),
Leechers: make(map[string]tracker.Peer),
Seeders: make(map[string]models.Peer),
Leechers: make(map[string]models.Peer),
}
return conn.PutTorrent(torrent)
+7 -2
View File
@@ -13,6 +13,7 @@ import (
"github.com/chihaya/bencode"
"github.com/chihaya/chihaya/config"
"github.com/chihaya/chihaya/tracker"
_ "github.com/chihaya/chihaya/drivers/backend/noop"
_ "github.com/chihaya/chihaya/tracker/memory"
@@ -30,8 +31,12 @@ func setupTracker(cfg *config.Config) (*httptest.Server, error) {
return createServer(tkr, cfg)
}
func createServer(tkr *Tracker, cfg *config.Config) (*httptest.Server, error) {
return httptest.NewServer(NewRouter(tkr, cfg)), nil
func createServer(tkr *tracker.Tracker, cfg *config.Config) (*httptest.Server, error) {
srv := &Server{
config: cfg,
tracker: tkr,
}
return httptest.NewServer(NewRouter(srv)), nil
}
func announce(p params, srv *httptest.Server) ([]byte, error) {
+9 -7
View File
@@ -32,11 +32,13 @@ func (w *Writer) WriteAnnounce(res *tracker.AnnounceResponse) error {
dict["interval"] = res.Interval
dict["min interval"] = res.MinInterval
if res.Compact {
dict["peers"] = compactPeers(false, res.IPv4Peers)
dict["peers6"] = compactPeers(true, res.IPv6Peers)
} else {
dict["peers"] = peersList(res.IPv6Peers, res.IPv4Peers)
if res.IPv4Peers != nil || res.IPv4Peers != nil {
if res.Compact {
dict["peers"] = compactPeers(false, res.IPv4Peers)
dict["peers6"] = compactPeers(true, res.IPv6Peers)
} else {
dict["peers"] = peersList(res.IPv6Peers, res.IPv4Peers)
}
}
bencoder := bencode.NewEncoder(w)
@@ -75,10 +77,10 @@ func compactPeers(ipv6 bool, peers tracker.PeerList) []byte {
func peersList(ipv4s, ipv6s tracker.PeerList) (peers []bencode.Dict) {
for _, peer := range ipv4s {
peers = append(peers, peerDict(peer))
peers = append(peers, peerDict(&peer))
}
for _, peer := range ipv6s {
peers = append(peers, peerDict(peer))
peers = append(peers, peerDict(&peer))
}
return peers
}