8
8
"time"
9
9
10
10
. "github.com/tarantool/go-tarantool"
11
+ . "github.com/tarantool/go-tarantool/datetime"
11
12
"github.com/tarantool/go-tarantool/test_helpers"
12
13
"gopkg.in/vmihailenco/msgpack.v2"
13
14
)
@@ -55,25 +56,27 @@ func assertDatetimeIsEqual(t *testing.T, tuples []interface{}, tm time.Time) {
55
56
if len (tpl ) != 1 {
56
57
t .Fatalf ("Unexpected return value body (tuple len = %d)" , len (tpl ))
57
58
}
58
- if val , ok := tpl [dtIndex ].(time. Time ); ! ok || ! val .Equal (tm ) {
59
- fmt .Println ("Tuple: " , val )
59
+ if val , ok := tpl [dtIndex ].(DateTime ); ! ok || ! val . ToTime () .Equal (tm ) {
60
+ fmt .Println ("Tuple: " , val . ToTime () )
60
61
fmt .Println ("Expected:" , tm )
61
- t .Fatalf ("Unexpected return value body (tuple %d field)" , dtIndex )
62
+ t .Fatalf ("Unexpected return value body (tuple %d field) %+v " , dtIndex , val )
62
63
}
63
64
}
64
65
}
65
66
66
67
func tupleInsertSelectDelete (t * testing.T , conn * Connection , tm time.Time ) {
68
+ dt := NewDateTime (tm )
69
+
67
70
// Insert tuple with datetime.
68
- _ , err := conn .Insert (space , []interface {}{tm })
71
+ _ , err := conn .Insert (space , []interface {}{& dt })
69
72
if err != nil {
70
73
t .Fatalf ("Datetime insert failed: %s" , err .Error ())
71
74
}
72
75
73
76
// Select tuple with datetime.
74
77
var offset uint32 = 0
75
78
var limit uint32 = 1
76
- resp , err := conn .Select (space , index , offset , limit , IterEq , []interface {}{tm })
79
+ resp , err := conn .Select (space , index , offset , limit , IterEq , []interface {}{& dt })
77
80
if err != nil {
78
81
t .Fatalf ("Datetime select failed: %s" , err .Error ())
79
82
}
@@ -83,7 +86,7 @@ func tupleInsertSelectDelete(t *testing.T, conn *Connection, tm time.Time) {
83
86
assertDatetimeIsEqual (t , resp .Data , tm )
84
87
85
88
// Delete tuple with datetime.
86
- resp , err = conn .Delete (space , index , []interface {}{tm })
89
+ resp , err = conn .Delete (space , index , []interface {}{& dt })
87
90
if err != nil {
88
91
t .Fatalf ("Datetime delete failed: %s" , err .Error ())
89
92
}
@@ -205,7 +208,8 @@ func TestDatetimeReplace(t *testing.T) {
205
208
t .Fatalf ("Time parse failed: %s" , err )
206
209
}
207
210
208
- resp , err := conn .Replace (space , []interface {}{tm })
211
+ dt := NewDateTime (tm )
212
+ resp , err := conn .Replace (space , []interface {}{& dt })
209
213
if err != nil {
210
214
t .Fatalf ("Datetime replace failed: %s" , err )
211
215
}
@@ -214,7 +218,7 @@ func TestDatetimeReplace(t *testing.T) {
214
218
}
215
219
assertDatetimeIsEqual (t , resp .Data , tm )
216
220
217
- resp , err = conn .Select (space , index , 0 , 1 , IterEq , []interface {}{tm })
221
+ resp , err = conn .Select (space , index , 0 , 1 , IterEq , []interface {}{& dt })
218
222
if err != nil {
219
223
t .Fatalf ("Datetime select failed: %s" , err )
220
224
}
@@ -224,7 +228,7 @@ func TestDatetimeReplace(t *testing.T) {
224
228
assertDatetimeIsEqual (t , resp .Data , tm )
225
229
226
230
// Delete tuple with datetime.
227
- _ , err = conn .Delete (space , index , []interface {}{tm })
231
+ _ , err = conn .Delete (space , index , []interface {}{& dt })
228
232
if err != nil {
229
233
t .Fatalf ("Datetime delete failed: %s" , err .Error ())
230
234
}
@@ -398,19 +402,20 @@ func TestCustomEncodeDecodeTuple2(t *testing.T) {
398
402
399
403
// Setup: insert a value.
400
404
tm := time .Unix (0 , 0 )
401
- _ , err := conn .Insert (space , []interface {}{tm })
405
+ dt := NewDateTime (tm )
406
+ _ , err := conn .Insert (space , []interface {}{& dt })
402
407
if err != nil {
403
408
t .Fatalf ("Datetime insert failed: %s" , err .Error ())
404
409
}
405
410
406
411
var tuples []Tuple
407
- err = conn .SelectTyped ("testDatetime_2" , index , 0 , 1 , IterEq , []interface {}{1 , tm }, & tuples )
412
+ err = conn .SelectTyped ("testDatetime_2" , index , 0 , 1 , IterEq , []interface {}{1 , & dt }, & tuples )
408
413
if err != nil {
409
414
t .Fatalf ("Failed to SelectTyped(): %s" , err .Error ())
410
415
}
411
416
412
417
// Teardown: delete a value.
413
- _ , err = conn .Delete (space , index , []interface {}{tm })
418
+ _ , err = conn .Delete (space , index , []interface {}{& dt })
414
419
if err != nil {
415
420
t .Fatalf ("Datetime delete failed: %s" , err .Error ())
416
421
}
@@ -426,20 +431,21 @@ func TestCustomEncodeDecodeTuple3(t *testing.T) {
426
431
427
432
// Setup: insert a value.
428
433
tm := time .Unix (0 , 0 )
429
- _ , err := conn .Insert (space , []interface {}{tm })
434
+ dt := NewDateTime (tm )
435
+ _ , err := conn .Insert (space , []interface {}{& dt })
430
436
if err != nil {
431
437
t .Fatalf ("Datetime insert failed: %s" , err .Error ())
432
438
}
433
439
434
440
var tuples2 []Tuple2
435
- err = conn .SelectTyped ("testDatetime_2" , index , 0 , 1 , IterEq , []interface {}{1 , tm }, & tuples2 )
441
+ err = conn .SelectTyped ("testDatetime_2" , index , 0 , 1 , IterEq , []interface {}{1 , & dt }, & tuples2 )
436
442
if err != nil {
437
443
t .Fatalf ("Failed to SelectTyped: %s" , err .Error ())
438
444
return
439
445
}
440
446
441
447
// Teardown: delete a value.
442
- _ , err = conn .Delete (space , index , []interface {}{tm })
448
+ _ , err = conn .Delete (space , index , []interface {}{& dt })
443
449
if err != nil {
444
450
t .Fatalf ("Datetime delete failed: %s" , err .Error ())
445
451
}
@@ -476,26 +482,27 @@ func TestCustomEncodeDecodeTuple5(t *testing.T) {
476
482
conn := connectWithValidation (t )
477
483
defer conn .Close ()
478
484
479
- dt := time .Unix (500 , 1000 )
480
- _ , err := conn .Insert (space , []interface {}{dt })
485
+ tm := time .Unix (500 , 1000 )
486
+ dt := NewDateTime (tm )
487
+ _ , err := conn .Insert (space , []interface {}{& dt })
481
488
if err != nil {
482
489
t .Fatalf ("Datetime insert failed: %s" , err .Error ())
483
490
}
484
491
485
- resp , errSel := conn .Select (space , index , 0 , 1 , IterEq , []interface {}{dt })
492
+ resp , errSel := conn .Select (space , index , 0 , 1 , IterEq , []interface {}{& dt })
486
493
if errSel != nil {
487
494
t .Errorf ("Failed to Select: %s" , errSel .Error ())
488
495
}
489
496
if tpl , ok := resp .Data [0 ].([]interface {}); ! ok {
490
497
t .Errorf ("Unexpected body of Select" )
491
498
} else {
492
- if val , ok := tpl [0 ].(time. Time ); ! ok || ! val .Equal (dt ) {
499
+ if val , ok := tpl [0 ].(DateTime ); ! ok || ! val .ToTime (). Equal (tm ) {
493
500
t .Fatalf ("Unexpected body of Select" )
494
501
}
495
502
}
496
503
497
504
// Teardown: delete a value.
498
- _ , err = conn .Delete (space , index , []interface {}{dt })
505
+ _ , err = conn .Delete (space , index , []interface {}{& dt })
499
506
if err != nil {
500
507
t .Fatalf ("Datetime delete failed: %s" , err .Error ())
501
508
}
0 commit comments