mirror of
https://github.com/sot-tech/mochi.git
synced 2026-07-05 00:03:38 -07:00
Update tests and fix a couple failures
This commit is contained in:
@@ -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
@@ -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
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user