Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
ale
disque
Commits
b69ffecf
Commit
b69ffecf
authored
May 01, 2015
by
Vojtech Vitek (V-Teq)
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
More robust tests for priority queue
parent
98714c8d
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
47 additions
and
20 deletions
+47
-20
disque_test.go
disque_test.go
+47
-20
No files found.
disque_test.go
View file @
b69ffecf
...
...
@@ -17,39 +17,66 @@ func TestPriorityQueue(t *testing.T) {
t
.
Fatal
(
err
)
}
// Enqueue t
wo
jobs.
_
,
err
=
jobs
.
Enqueue
(
`{"request":
"data"
}`
,
"test:low"
)
// Enqueue t
hree
jobs.
_
,
err
=
jobs
.
Enqueue
(
"data
1
"
,
"test:low"
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
t
.
Error
(
err
)
}
_
,
err
=
jobs
.
Enqueue
(
`{"request":
"data"
}`
,
"test:
high
"
)
_
,
err
=
jobs
.
Enqueue
(
"data
2
"
,
"test:
urgent
"
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
t
.
Error
(
err
)
}
// Dequeue first job. Must be from high priority queue.
job1
,
err
:=
jobs
.
Dequeue
(
"test:high"
,
"test:low"
)
_
,
err
=
jobs
.
Enqueue
(
"data3"
,
"test:high"
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
t
.
Error
(
err
)
}
if
job1
.
Queue
!=
"test:high"
{
t
.
Fatal
(
"unexpected priority"
)
// Dequeue first job.
job
,
err
:=
jobs
.
Dequeue
(
"test:urgent"
,
"test:high"
,
"test:low"
)
if
err
!=
nil
{
t
.
Error
(
err
)
}
err
=
jobs
.
Ack
(
job
1
)
err
=
jobs
.
Ack
(
job
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
t
.
Error
(
err
)
}
if
e
:=
"test:urgent"
;
job
.
Queue
!=
e
{
t
.
Fatalf
(
"expected %s, got %s"
,
e
,
job
.
Queue
)
}
if
e
:=
"data2"
;
job
.
Data
!=
e
{
t
.
Fatalf
(
"expected %s, got %s"
,
e
,
job
.
Data
)
}
// Dequeue second job.
Must be from low priority queue.
job
2
,
err
:
=
jobs
.
Dequeue
(
"test:high"
,
"test:low"
)
// Dequeue second job.
job
,
err
=
jobs
.
Dequeue
(
"test:urgent"
,
"test:high"
,
"test:low"
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
t
.
Error
(
err
)
}
if
job2
.
Queue
!=
"test:low"
{
t
.
Fatal
(
"unexpected priority"
)
err
=
jobs
.
Ack
(
job
)
if
err
!=
nil
{
t
.
Error
(
err
)
}
if
e
:=
"test:high"
;
job
.
Queue
!=
e
{
t
.
Fatalf
(
"expected %s, got %s"
,
e
,
job
.
Queue
)
}
if
e
:=
"data3"
;
job
.
Data
!=
e
{
t
.
Fatalf
(
"expected %s, got %s"
,
e
,
job
.
Data
)
}
err
=
jobs
.
Ack
(
job2
)
// Dequeue third job.
job
,
err
=
jobs
.
Dequeue
(
"test:urgent"
,
"test:high"
,
"test:low"
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
t
.
Error
(
err
)
}
err
=
jobs
.
Ack
(
job
)
if
err
!=
nil
{
t
.
Error
(
err
)
}
if
e
:=
"test:low"
;
job
.
Queue
!=
e
{
t
.
Fatalf
(
"expected %s, got %s"
,
e
,
job
.
Queue
)
}
if
e
:=
"data1"
;
job
.
Data
!=
e
{
t
.
Fatalf
(
"expected %s, got %s"
,
e
,
job
.
Data
)
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment