300 lines
7.3 KiB
Go
300 lines
7.3 KiB
Go
|
package qbittorrent
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
"encoding/json"
|
||
|
"os"
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
func TestClient_GetTorrents(t *testing.T) {
|
||
|
ctx := context.Background()
|
||
|
torrents, err := c.Torrent().GetTorrents(ctx, &TorrentOption{
|
||
|
Filter: "",
|
||
|
Category: "movies",
|
||
|
Tag: "hdtime",
|
||
|
Sort: "",
|
||
|
Reverse: false,
|
||
|
Limit: 0,
|
||
|
Offset: 0,
|
||
|
Hashes: nil,
|
||
|
})
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
bytes, err := json.Marshal(torrents)
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
t.Log(string(bytes))
|
||
|
}
|
||
|
|
||
|
func TestClient_GetProperties(t *testing.T) {
|
||
|
ctx := context.Background()
|
||
|
properties, err := c.Torrent().GetProperties(ctx, "f23daefbe8d24d3dd882b44cb0b4f762bc23b4fc")
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
bytes, err := json.Marshal(properties)
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
t.Log(string(bytes))
|
||
|
}
|
||
|
|
||
|
func TestClient_GetTrackers(t *testing.T) {
|
||
|
ctx := context.Background()
|
||
|
trackers, err := c.Torrent().GetTrackers(ctx, "f23daefbe8d24d3dd882b44cb0b4f762bc23b4fc")
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
bytes, err := json.Marshal(trackers)
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
t.Log(string(bytes))
|
||
|
}
|
||
|
|
||
|
func TestClient_GetWebSeeds(t *testing.T) {
|
||
|
ctx := context.Background()
|
||
|
webSeeds, err := c.Torrent().GetWebSeeds(ctx, "f23daefbe8d24d3dd882b44cb0b4f762bc23b4fc")
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
bytes, err := json.Marshal(webSeeds)
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
t.Log(string(bytes))
|
||
|
}
|
||
|
|
||
|
func TestClient_GetContents(t *testing.T) {
|
||
|
ctx := context.Background()
|
||
|
contents, err := c.Torrent().GetContents(ctx, "f23daefbe8d24d3dd882b44cb0b4f762bc23b4fc")
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
bytes, err := json.Marshal(contents)
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
t.Log(string(bytes))
|
||
|
}
|
||
|
|
||
|
func TestClient_GetPiecesStates(t *testing.T) {
|
||
|
ctx := context.Background()
|
||
|
states, err := c.Torrent().GetPiecesStates(ctx, "f23daefbe8d24d3dd882b44cb0b4f762bc23b4fc")
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
t.Log(states)
|
||
|
}
|
||
|
|
||
|
func TestClient_GetPiecesHashes(t *testing.T) {
|
||
|
ctx := context.Background()
|
||
|
hashes, err := c.Torrent().GetPiecesHashes(ctx, "f23daefbe8d24d3dd882b44cb0b4f762bc23b4fc")
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
t.Log(hashes)
|
||
|
}
|
||
|
|
||
|
func TestClient_PauseTorrents(t *testing.T) {
|
||
|
ctx := context.Background()
|
||
|
err := c.Torrent().PauseTorrents(ctx, []string{"202382999be6a4fab395cd9c2c9d294177587904"})
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
t.Log("torrent paused")
|
||
|
}
|
||
|
|
||
|
func TestClient_ResumeTorrents(t *testing.T) {
|
||
|
ctx := context.Background()
|
||
|
err := c.Torrent().ResumeTorrents(ctx, []string{"fd3b4bf1937c59a8fd1a240cddc07172e0b979a2"})
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
t.Log("torrent resumed")
|
||
|
}
|
||
|
|
||
|
func TestClient_DeleteTorrents(t *testing.T) {
|
||
|
ctx := context.Background()
|
||
|
err := c.Torrent().DeleteTorrents(ctx, []string{"202382999be6a4fab395cd9c2c9d294177587904"}, true)
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
t.Log("torrent deleted")
|
||
|
}
|
||
|
|
||
|
func TestClient_RecheckTorrents(t *testing.T) {
|
||
|
ctx := context.Background()
|
||
|
err := c.Torrent().RecheckTorrents(ctx, []string{"fd3b4bf1937c59a8fd1a240cddc07172e0b979a2"})
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
t.Log("torrent rechecked")
|
||
|
}
|
||
|
|
||
|
func TestClient_ReAnnounceTorrents(t *testing.T) {
|
||
|
ctx := context.Background()
|
||
|
err := c.Torrent().ReAnnounceTorrents(ctx, []string{"fd3b4bf1937c59a8fd1a240cddc07172e0b979a2"})
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
t.Log("torrent reannounceed")
|
||
|
}
|
||
|
|
||
|
func TestClient_AddNewTorrent(t *testing.T) {
|
||
|
ctx := context.Background()
|
||
|
fileContent, err := os.ReadFile("C:\\Users\\xuthu\\Downloads\\bbbbb.torrent")
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
err = c.Torrent().AddNewTorrent(ctx, &TorrentAddOption{
|
||
|
Torrents: []*TorrentAddFileMetadata{
|
||
|
{
|
||
|
//Filename: "ttttt.torrent",
|
||
|
Data: fileContent,
|
||
|
},
|
||
|
},
|
||
|
Category: "movies",
|
||
|
Tags: []string{"d", "e", "f"},
|
||
|
SkipChecking: false,
|
||
|
Paused: false,
|
||
|
RootFolder: false,
|
||
|
Rename: "",
|
||
|
UpLimit: 0,
|
||
|
DlLimit: 0,
|
||
|
RatioLimit: 0,
|
||
|
SeedingTimeLimit: 0,
|
||
|
AutoTMM: false,
|
||
|
SequentialDownload: "",
|
||
|
FirstLastPiecePrio: "",
|
||
|
})
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
t.Log("torrent added")
|
||
|
}
|
||
|
|
||
|
func TestClient_AddTrackers(t *testing.T) {
|
||
|
ctx := context.Background()
|
||
|
err := c.Torrent().AddTrackers(ctx, "ca4523a3db9c6c3a13d7d7f3a545f97b75083032", []string{"https://hddtime.org/announce"})
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
t.Log("torrent trackers added")
|
||
|
}
|
||
|
|
||
|
func TestClient_EditTrackers(t *testing.T) {
|
||
|
ctx := context.Background()
|
||
|
err := c.Torrent().EditTrackers(ctx, "ca4523a3db9c6c3a13d7d7f3a545f97b75083032", "https://hddtime.org/announce", "https://hdctime.org/announce")
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
t.Log("torrent trackers edited")
|
||
|
}
|
||
|
|
||
|
func TestClient_RemoveTrackers(t *testing.T) {
|
||
|
ctx := context.Background()
|
||
|
err := c.Torrent().RemoveTrackers(ctx, "ca4523a3db9c6c3a13d7d7f3a545f97b75083032", []string{"https://hdctime.org/announce"})
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
t.Log("torrent trackers removed")
|
||
|
}
|
||
|
|
||
|
func TestClient_AddPeers(t *testing.T) {
|
||
|
// todo no test
|
||
|
//c.Torrent().AddPeers([]string{"ca4523a3db9c6c3a13d7d7f3a545f97b75083032"}, []string{"10.0.0.1:38080"})
|
||
|
}
|
||
|
|
||
|
func TestClient_IncreasePriority(t *testing.T) {
|
||
|
ctx := context.Background()
|
||
|
err := c.Torrent().IncreasePriority(ctx, []string{"916a250d32822adca39eb2b53efadfda1a15f902"})
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
t.Log("torrent priority increased")
|
||
|
}
|
||
|
|
||
|
func TestClient_DecreasePriority(t *testing.T) {
|
||
|
ctx := context.Background()
|
||
|
err := c.Torrent().DecreasePriority(ctx, []string{"916a250d32822adca39eb2b53efadfda1a15f902"})
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
t.Log("torrent priority decreased")
|
||
|
}
|
||
|
|
||
|
func TestClient_MaxPriority(t *testing.T) {
|
||
|
ctx := context.Background()
|
||
|
err := c.Torrent().MaxPriority(ctx, []string{"916a250d32822adca39eb2b53efadfda1a15f902"})
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
t.Log("torrent priority maxed")
|
||
|
}
|
||
|
|
||
|
func TestClient_MinPriority(t *testing.T) {
|
||
|
ctx := context.Background()
|
||
|
err := c.Torrent().MinPriority(ctx, []string{"916a250d32822adca39eb2b53efadfda1a15f902"})
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
t.Log("torrent priority mined")
|
||
|
}
|
||
|
|
||
|
func TestClient_SetFilePriority(t *testing.T) {
|
||
|
// todo no test
|
||
|
}
|
||
|
|
||
|
func TestClient_GetDownloadLimit(t *testing.T) {
|
||
|
ctx := context.Background()
|
||
|
downloadLimit, err := c.Torrent().GetDownloadLimit(ctx, []string{"916a250d32822adca39eb2b53efadfda1a15f902"})
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
t.Log("torrent download limit", downloadLimit)
|
||
|
}
|
||
|
|
||
|
func TestClient_SetDownloadLimit(t *testing.T) {
|
||
|
ctx := context.Background()
|
||
|
err := c.Torrent().SetDownloadLimit(ctx, []string{"916a250d32822adca39eb2b53efadfda1a15f902"}, 0)
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
t.Log("torrent download limit setted")
|
||
|
}
|
||
|
|
||
|
func TestClient_SetShareLimit(t *testing.T) {
|
||
|
ctx := context.Background()
|
||
|
err := c.Torrent().SetShareLimit(ctx, []string{"916a250d32822adca39eb2b53efadfda1a15f902"}, -2, -2, -2)
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
t.Log("torrent share limit setted")
|
||
|
}
|
||
|
|
||
|
func TestClient_GetUploadLimit(t *testing.T) {
|
||
|
ctx := context.Background()
|
||
|
limit, err := c.Torrent().GetUploadLimit(ctx, []string{"916a250d32822adca39eb2b53efadfda1a15f902"})
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
t.Log("torrent upload limit", limit)
|
||
|
}
|
||
|
|
||
|
func TestClient_SetUploadLimit(t *testing.T) {
|
||
|
ctx := context.Background()
|
||
|
err := c.Torrent().SetUploadLimit(ctx, []string{"916a250d32822adca39eb2b53efadfda1a15f902"}, 0)
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
t.Log("torrent upload limit setted")
|
||
|
}
|
||
|
|
||
|
func TestClient_SetLocation(t *testing.T) {
|
||
|
// todo test
|
||
|
}
|