File: account_test.go

package info (click to toggle)
golang-github-putdotio-go-putio 0.0~git20190822.19b9c63-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 168 kB
  • sloc: makefile: 2
file content (125 lines) | stat: -rw-r--r-- 2,588 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
package putio

import (
	"context"
	"fmt"
	"net/http"
	"testing"
)

func TestAccount_Info(t *testing.T) {
	setup()
	defer teardown()

	fixture := `
{
	"info": {
		"account_active": true,
		"avatar_url": "https://some-valid-gravatar-url.com/avatar.jpg?s=50",
		"days_until_files_deletion": 0,
		"default_subtitle_language": "tur",
		"disk": {
			"avail": 715975016136,
			"size": 2147483648000,
			"used": 1431508631864
		},
		"has_voucher": false,
		"mail": "naber@iyidir.com",
		"plan_expiration_date": "2020-01-01T00:00:00",
		"settings": {
			"callback_url": "",
			"default_download_folder": 0,
			"default_subtitle_language": "tur",
			"download_folder_unset": false,
			"is_invisible": false,
			"nextepisode": true,
			"private_download_host_ip": null,
			"pushover_token": "",
			"routing": "Istanbul",
			"sorting": "NAME_ASC",
			"ssl_enabled": true,
			"start_from": true,
			"subtitle_languages": [
				"tur",
				"eng"
				],
			"trSorting": "NAME_ASC",
			"use_soon": true
		},
		"simultaneous_download_limit": 100,
		"subtitle_languages": [
			"tur",
			"eng"
		],
		"user_id": 1,
		"username": "naber"
	},
	"status": "OK"
}
`
	mux.HandleFunc("/v2/account/info", func(w http.ResponseWriter, r *http.Request) {
		testMethod(t, r, "GET")
		fmt.Fprintln(w, fixture)
	})

	info, err := client.Account.Info(context.Background())
	if err != nil {
		t.Error(err)
	}

	if info.Username != "naber" {
		t.Errorf("got: %v, want: naber", info.Username)
	}

	if info.Mail != "naber@iyidir.com" {
		t.Errorf("got: %v, want: naber@iyidir.com", info.Mail)
	}
}

func TestAccount_Settings(t *testing.T) {
	setup()
	defer teardown()

	fixture := `
{
	"settings": {
		"callback_url": "",
		"default_download_folder": 666,
		"default_subtitle_language": "tur",
		"download_folder_unset": false,
		"is_invisible": false,
		"nextepisode": true,
		"private_download_host_ip": null,
		"pushover_token": "",
		"routing": "Istanbul",
		"sorting": "NAME_ASC",
		"ssl_enabled": true,
		"start_from": true,
		"subtitle_languages": [
			"tur",
			"eng"
		],
		"trSorting": "NAME_ASC",
		"use_soon": true
	},
	"status": "OK"
}
`
	mux.HandleFunc("/v2/account/settings", func(w http.ResponseWriter, r *http.Request) {
		testMethod(t, r, "GET")
		fmt.Fprintln(w, fixture)
	})

	settings, err := client.Account.Settings(context.Background())
	if err != nil {
		t.Error(err)
	}

	if settings.DefaultDownloadFolder != 666 {
		t.Errorf("got: %v, want: 0", settings.DefaultDownloadFolder)
	}

	if settings.DefaultSubtitleLanguage != "tur" {
		t.Errorf("got: %v, want: tr", settings.DefaultSubtitleLanguage)
	}
}