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