Skip to content

Commit 05152ff

Browse files
committed
tests: queue tests fail
Queue tests firstly failed on using _queue_taken which was deprecated in tarantool/queue. Switch to _queue_taken_2 fixed it. Additionally there were troubles with grants for test user. Additional grants fixed this problem. The test TestUtube_Put was affected by replacing timeout in the call of TakeTimeout() with timeout of connection structure. For clarification of this effect see annotation for function TakeTimeout(timeout time.Duration). That was fixed by making connection timeout longer than the timeout in the function call. The step in testing.yml was uncommented for enabling queue tests in CI. Fixes #115
1 parent f297cfe commit 05152ff

File tree

3 files changed

+40
-30
lines changed

3 files changed

+40
-30
lines changed

.github/workflows/testing.yml

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -46,15 +46,14 @@ jobs:
4646
go clean -testcache && go test -v
4747
kill $TNT_PID
4848
49-
# TODO(ylobankov): Uncomment this when tarantool/go-tarantool#115 is resolved.
50-
# - name: Run queue tests
51-
# working-directory: ./queue
52-
# run: |
53-
# mkdir snap xlog
54-
# tarantoolctl rocks install queue 1.1.0
55-
# TNT_PID=$(tarantool ./config.lua > tarantool.log 2>&1 & echo $!)
56-
# go clean -testcache && go test -v
57-
# kill $TNT_PID
49+
- name: Run queue tests
50+
working-directory: ./queue
51+
run: |
52+
mkdir snap xlog
53+
tarantoolctl rocks install queue 1.1.0
54+
TNT_PID=$(tarantool ./config.lua > tarantool.log 2>&1 & echo $!)
55+
go clean -testcache && go test -v
56+
kill $TNT_PID
5857
5958
- name: Run uuid tests
6059
working-directory: ./uuid

queue/config.lua

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
queue = require 'queue'
1+
queue = require('queue')
22

33
box.cfg{
4-
listen = 3013,
4+
listen = 3015,
55
wal_dir='xlog',
66
snap_dir='snap',
77
}
@@ -18,12 +18,22 @@ box.schema.func.create('queue.tube.test_queue:delete')
1818
box.schema.func.create('queue.tube.test_queue:release')
1919
box.schema.func.create('queue.tube.test_queue:bury')
2020
box.schema.func.create('queue.statistics')
21+
box.schema.user.grant('test','create','space')
22+
box.schema.user.grant('test','write', 'space', '_schema')
23+
box.schema.user.grant('test','write', 'space', '_space')
24+
box.schema.user.grant('test','read,write','space','_space_sequence')
25+
box.schema.user.grant('test','write','space', '_index')
26+
box.schema.user.grant('test','read','space','_trigger')
27+
box.schema.user.grant('test','read','space','_fk_constraint')
28+
box.schema.user.grant('test','read','space','_ck_constraint')
29+
box.schema.user.grant('test','read','space','_func_index')
30+
box.schema.user.grant('test','read, write','space','_queue_session_ids')
2131
box.schema.user.grant('test', 'execute', 'universe')
2232
box.schema.user.grant('test', 'read,write', 'space', '_queue')
2333
box.schema.user.grant('test', 'read,write', 'space', '_schema')
2434
box.schema.user.grant('test', 'read,write', 'space', '_space')
2535
box.schema.user.grant('test', 'read,write', 'space', '_index')
2636
box.schema.user.grant('test', 'read,write', 'space', '_queue_consumers')
2737
box.schema.user.grant('test', 'read,write', 'space', '_priv')
28-
box.schema.user.grant('test', 'read,write', 'space', '_queue_taken')
38+
box.schema.user.grant('test', 'read,write', 'space', '_queue_taken_2')
2939
end)

queue/queue_test.go

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ import (
1111
"gopkg.in/vmihailenco/msgpack.v2"
1212
)
1313

14-
var server = "127.0.0.1:3013"
14+
var server = "127.0.0.1:3015"
1515
var opts = Opts{
16-
Timeout: 500 * time.Millisecond,
16+
Timeout: 2500 * time.Millisecond,
1717
User: "test",
1818
Pass: "test",
1919
//Concurrency: 32,
@@ -36,7 +36,7 @@ func TestFifoQueue(t *testing.T) {
3636

3737
name := "test_queue"
3838
q := queue.New(conn, name)
39-
if err = q.Create(queue.Cfg{Temporary: true, Kind: queue.FIFO}); err != nil {
39+
if err = q.Create(queue.Cfg{Temporary: true, Kind: queue.FIFO, IfNotExists: true}); err != nil {
4040
t.Errorf("Failed to create queue: %s", err.Error())
4141
return
4242
}
@@ -61,7 +61,7 @@ func TestFifoQueue_GetExist_Statistic(t *testing.T) {
6161

6262
name := "test_queue"
6363
q := queue.New(conn, name)
64-
if err = q.Create(queue.Cfg{Temporary: true, Kind: queue.FIFO}); err != nil {
64+
if err = q.Create(queue.Cfg{Temporary: true, Kind: queue.FIFO, IfNotExists: true}); err != nil {
6565
t.Errorf("Failed to create queue: %s", err.Error())
6666
return
6767
}
@@ -112,7 +112,7 @@ func TestFifoQueue_Put(t *testing.T) {
112112

113113
name := "test_queue"
114114
q := queue.New(conn, name)
115-
if err := q.Create(queue.Cfg{Temporary: true, Kind: queue.FIFO}); err != nil {
115+
if err := q.Create(queue.Cfg{Temporary: true, Kind: queue.FIFO, IfNotExists: true}); err != nil {
116116
t.Errorf("Failed to create queue: %s", err.Error())
117117
return
118118
}
@@ -155,7 +155,7 @@ func TestFifoQueue_Take(t *testing.T) {
155155

156156
name := "test_queue"
157157
q := queue.New(conn, name)
158-
if err = q.Create(queue.Cfg{Temporary: true, Kind: queue.FIFO}); err != nil {
158+
if err = q.Create(queue.Cfg{Temporary: true, Kind: queue.FIFO, IfNotExists: true}); err != nil {
159159
t.Errorf("Failed to create queue: %s", err.Error())
160160
return
161161
}
@@ -251,7 +251,7 @@ func TestFifoQueue_TakeTyped(t *testing.T) {
251251

252252
name := "test_queue"
253253
q := queue.New(conn, name)
254-
if err = q.Create(queue.Cfg{Temporary: true, Kind: queue.FIFO}); err != nil {
254+
if err = q.Create(queue.Cfg{Temporary: true, Kind: queue.FIFO, IfNotExists: true}); err != nil {
255255
t.Errorf("Failed to create queue: %s", err.Error())
256256
return
257257
}
@@ -328,7 +328,7 @@ func TestFifoQueue_Peek(t *testing.T) {
328328

329329
name := "test_queue"
330330
q := queue.New(conn, name)
331-
if err = q.Create(queue.Cfg{Temporary: true, Kind: queue.FIFO}); err != nil {
331+
if err = q.Create(queue.Cfg{Temporary: true, Kind: queue.FIFO, IfNotExists: true}); err != nil {
332332
t.Errorf("Failed to create queue: %s", err.Error())
333333
return
334334
}
@@ -387,7 +387,7 @@ func TestFifoQueue_Bury_Kick(t *testing.T) {
387387

388388
name := "test_queue"
389389
q := queue.New(conn, name)
390-
if err = q.Create(queue.Cfg{Temporary: true, Kind: queue.FIFO}); err != nil {
390+
if err = q.Create(queue.Cfg{Temporary: true, Kind: queue.FIFO, IfNotExists: true}); err != nil {
391391
t.Errorf("Failed to create queue: %s", err.Error())
392392
return
393393
}
@@ -474,7 +474,7 @@ func TestFifoQueue_Delete(t *testing.T) {
474474

475475
name := "test_queue"
476476
q := queue.New(conn, name)
477-
if err = q.Create(queue.Cfg{Temporary: true, Kind: queue.FIFO}); err != nil {
477+
if err = q.Create(queue.Cfg{Temporary: true, Kind: queue.FIFO, IfNotExists: true}); err != nil {
478478
t.Errorf("Failed to create queue: %s", err.Error())
479479
return
480480
}
@@ -549,7 +549,7 @@ func TestFifoQueue_Release(t *testing.T) {
549549

550550
name := "test_queue"
551551
q := queue.New(conn, name)
552-
if err = q.Create(queue.Cfg{Temporary: true, Kind: queue.FIFO}); err != nil {
552+
if err = q.Create(queue.Cfg{Temporary: true, Kind: queue.FIFO, IfNotExists: true}); err != nil {
553553
t.Errorf("Failed to create queue: %s", err.Error())
554554
return
555555
}
@@ -634,9 +634,10 @@ func TestTtlQueue(t *testing.T) {
634634

635635
name := "test_queue"
636636
cfg := queue.Cfg{
637-
Temporary: true,
638-
Kind: queue.FIFO_TTL,
639-
Opts: queue.Opts{Ttl: 5 * time.Second},
637+
Temporary: true,
638+
Kind: queue.FIFO_TTL,
639+
Opts: queue.Opts{Ttl: 5 * time.Second},
640+
IfNotExists: true,
640641
}
641642
q := queue.New(conn, name)
642643
if err = q.Create(cfg); err != nil {
@@ -691,9 +692,10 @@ func TestTtlQueue_Put(t *testing.T) {
691692

692693
name := "test_queue"
693694
cfg := queue.Cfg{
694-
Temporary: true,
695-
Kind: queue.FIFO_TTL,
696-
Opts: queue.Opts{Ttl: 5 * time.Second},
695+
Temporary: true,
696+
Kind: queue.FIFO_TTL,
697+
Opts: queue.Opts{Ttl: 5 * time.Second},
698+
IfNotExists: true,
697699
}
698700
q := queue.New(conn, name)
699701
if err = q.Create(cfg); err != nil {
@@ -796,7 +798,6 @@ func TestUtube_Put(t *testing.T) {
796798
if err != nil {
797799
t.Fatalf("Failed to take task from utube: %s", err.Error())
798800
}
799-
800801
time.Sleep(2 * time.Second)
801802
if err := t1.Ack(); err != nil {
802803
t.Fatalf("Failed to ack task: %s", err.Error())

0 commit comments

Comments
 (0)