File: editqueue_move_test.py

package info (click to toggle)
nzbget 21.0%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 6,128 kB
  • sloc: cpp: 62,884; sh: 5,311; python: 1,381; makefile: 491
file content (92 lines) | stat: -rw-r--r-- 2,462 bytes parent folder | download | duplicates (4)
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
nzbget_options = ['SaveQueue=no']

import os

nzbget = None

def prepare_queue(nzbget_instance):
	global nzbget

	if nzbget != None:
		nzbget.api.editqueue('GroupSort', 'Name', [])
		check_list([1,2,3,4,5,6,7,8,9])
		return

	print('prepare_queue')
	nzbget = nzbget_instance

	nzbget.api.pausedownload()

	nzbget_srcdir = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(__file__))))
	fullfilename = nzbget_srcdir + '/tests/testdata/nzbfile/plain.nzb'
	in_file = open(fullfilename, 'r')
	nzb_content = in_file.read()
	in_file.close()

	nzbget.append_nzb('1', nzb_content)
	nzbget.append_nzb('2', nzb_content)
	nzbget.append_nzb('3', nzb_content)
	nzbget.append_nzb('4', nzb_content)
	nzbget.append_nzb('5', nzb_content)
	nzbget.append_nzb('6', nzb_content)
	nzbget.append_nzb('7', nzb_content)
	nzbget.append_nzb('8', nzb_content)
	nzbget.append_nzb('9', nzb_content)

def check_list(req):
	queue = nzbget.api.listgroups()
	assert len(req) == len(queue)
	for i in range(len(req)):
		assert req[i] == queue[i]['NZBID']

def test_editqueue_move_offset(nzbget):
	prepare_queue(nzbget)

	check_list([1,2,3,4,5,6,7,8,9])

	nzbget.api.editqueue('GroupMoveOffset', '1', [2])
	check_list([1,3,2,4,5,6,7,8,9])

	nzbget.api.editqueue('GroupMoveOffset', '-1', [2])
	check_list([1,2,3,4,5,6,7,8,9])

	nzbget.api.editqueue('GroupMoveOffset', '2', [4,5,6])
	check_list([1,2,3,7,8,4,5,6,9])

	nzbget.api.editqueue('GroupMoveOffset', '-2', [4,5,6])
	check_list([1,2,3,4,5,6,7,8,9])

	nzbget.api.editqueue('GroupMoveOffset', '5', [4,6])
	check_list([1,2,3,5,7,8,9,4,6])

	nzbget.api.editqueue('GroupMoveOffset', '-5', [2,5,7])
	check_list([2,5,7,1,3,8,9,4,6])

def test_editqueue_move_before_after(nzbget):
	prepare_queue(nzbget)

	check_list([1,2,3,4,5,6,7,8,9])

	nzbget.api.editqueue('GroupMoveBefore', '2', [8,9])
	check_list([1,8,9,2,3,4,5,6,7])

	nzbget.api.editqueue('GroupMoveBefore', '2', [8,9])
	check_list([1,8,9,2,3,4,5,6,7])

	nzbget.api.editqueue('GroupMoveAfter', '2', [8,9])
	check_list([1,2,8,9,3,4,5,6,7])

	nzbget.api.editqueue('GroupMoveAfter', '7', [1,8,9])
	check_list([2,3,4,5,6,7,1,8,9])

	nzbget.api.editqueue('GroupMoveBefore', '2', [5,1,9])
	check_list([5,1,9,2,3,4,6,7,8])

	nzbget.api.editqueue('GroupMoveBefore', '2', [5,1,9])
	check_list([5,1,9,2,3,4,6,7,8])

	nzbget.api.editqueue('GroupMoveAfter', '2', [5,1,9])
	check_list([2,5,1,9,3,4,6,7,8])

	nzbget.api.editqueue('GroupMoveAfter', '8', [5,2])
	check_list([1,9,3,4,6,7,8,2,5])