github.com/stellar/stellar-etl@v1.0.1-0.20240312145900-4874b6bf2b89/cmd/get_ledger_range_from_times_test.go (about) 1 package cmd 2 3 import ( 4 "fmt" 5 "testing" 6 ) 7 8 func TestConvertTimes(t *testing.T) { 9 tests := []cliTest{ 10 { 11 name: "wrong date format", 12 args: []string{"get_ledger_range_from_times", "-s", "2016 01 01 4:33", "-e", "2020 03 04 12:32"}, 13 golden: "", 14 wantErr: fmt.Errorf("could not parse start time: parsing time \\"), 15 }, 16 { 17 name: "normal range", 18 args: []string{"get_ledger_range_from_times", "-s", "2016-11-10T18:00:00-05:00", "-e", "2019-09-13T23:00:00+00:00", "-o", gotTestDir(t, "normal_range.txt")}, 19 golden: "normal_range.golden", 20 wantErr: nil, 21 }, 22 { 23 name: "start too early", 24 args: []string{"get_ledger_range_from_times", "-s", "2006-11-10T18:00:00-05:00", "-e", "2019-09-13T23:00:00+00:00", "-o", gotTestDir(t, "early_start.txt")}, 25 golden: "early_start.golden", 26 wantErr: nil, 27 }, 28 // { 29 // name: "start too late", 30 // // @TODO 31 // // assertion should actually be that the start and end times equal 32 // // since it always grabs the end ledger you cannot hardcode the expected result 33 // // maybe grab the latest ledger through code?? 34 // args: []string{"get_ledger_range_from_times", "-s", "2021-09-13T23:00:00+00:00", "-e", "2021-09-13T23:30:00+00:00"}, 35 // golden: "late_start.golden", 36 // wantErr: nil, 37 // }, 38 // { 39 // name: "end too late", 40 // // @TODO 41 // // Change the expected output to the max ledger time 42 // // cannot be hardcoded in a golden ledger 43 // args: []string{"get_ledger_range_from_times", "-s", "2017-11-10T12:14:32+04:00", "-e", "2021-09-13T23:00:00+00:00"}, 44 // golden: "late_end.golden", 45 // wantErr: nil, 46 // }, 47 { 48 name: "end too early", 49 args: []string{"get_ledger_range_from_times", "-s", "2006-11-10T12:14:32+04:00", "-e", "2006-11-10T12:14:32+04:00", "-o", gotTestDir(t, "early_end.txt")}, 50 golden: "early_end.golden", 51 wantErr: nil, 52 }, 53 { 54 name: "same date", 55 args: []string{"get_ledger_range_from_times", "-s", "2016-11-10T18:03:37-05:00", "-e", "2016-11-10T18:03:37-05:00", "-o", gotTestDir(t, "same_date.txt")}, 56 golden: "same_date.golden", 57 wantErr: nil, 58 }, 59 { 60 name: "checkpoint range (22343680-22343743)", 61 args: []string{"get_ledger_range_from_times", "-s", "2019-02-06T09:14:43+00:00", "-e", "2019-02-06T09:20:23+00:00", "-o", gotTestDir(t, "checkpoint_range.txt")}, 62 golden: "checkpoint_range.golden", 63 wantErr: nil, 64 }, 65 { 66 name: "checkpoint range (9341-9401)", 67 args: []string{"get_ledger_range_from_times", "-s", "2015-10-01T06:20:00+00:00", "-e", "2015-10-01T06:25:00+00:00", "-o", gotTestDir(t, "checkpoint_range2.txt")}, 68 golden: "checkpoint_range2.golden", 69 wantErr: nil, 70 }, 71 { 72 name: "infinite loop; checkpoint range (14558-14606)", 73 args: []string{"get_ledger_range_from_times", "-s", "2015-10-01T13:35:00+00:00", "-e", "2015-10-01T13:40:00+00:00", "-o", gotTestDir(t, "checkpoint_range3.txt")}, 74 golden: "checkpoint_range3.golden", 75 wantErr: nil, 76 }, 77 { 78 name: "early checkpoint range (3-3)", 79 args: []string{"get_ledger_range_from_times", "-s", "2015-09-30T16:50:00+00:00", "-e", "2015-09-30T16:55:00+00:00", "-o", gotTestDir(t, "early_checkpoint_range.txt")}, 80 golden: "early_checkpoint_range.golden", 81 wantErr: nil, 82 }, 83 } 84 85 for _, test := range tests { 86 runCLITest(t, test, "testdata/ranges/") 87 } 88 }