github.com/TrueBlocks/trueblocks-core/src/apps/chifra@v0.0.0-20241022031540-b362680128f7/pkg/validate/block_integration_test.go (about) 1 //go:build integration 2 // +build integration 3 4 package validate 5 6 import ( 7 "fmt" 8 "strings" 9 "testing" 10 11 "github.com/TrueBlocks/trueblocks-core/src/apps/chifra/pkg/colors" 12 "github.com/TrueBlocks/trueblocks-core/src/apps/chifra/pkg/config" 13 "github.com/TrueBlocks/trueblocks-core/src/apps/chifra/pkg/identifiers" 14 "github.com/TrueBlocks/trueblocks-core/src/apps/chifra/pkg/utils" 15 ) 16 17 func Test_BlockRanges(t *testing.T) { 18 config.GetRootConfig() 19 for _, item := range testBlocks { 20 if !item.enabled { 21 continue 22 } 23 // fmt.Println("----------->", item.input) 24 inputs := strings.Split(item.input, " ") 25 var results []identifiers.Identifier 26 var err error 27 err = ValidateIdentifiers( 28 "mainnet", 29 inputs, 30 ValidBlockIdWithRangeAndDate, 31 100, 32 &results, 33 ) 34 if err != nil { 35 // we're not testing validation here, so there won't be any errors here, but if 36 // there is we want to know about them so we can fix the test 37 fmt.Println(item.input, err) 38 continue 39 } 40 for _, br := range results { 41 blockNums, err := br.ResolveBlocks(utils.GetTestChain()) 42 if err != nil { 43 t.Error(br) 44 t.Error(err) 45 } 46 if len(blockNums) > 0 { 47 max := len(blockNums) 48 min := 0 49 if len(blockNums) > 10 { 50 max = 10 51 } 52 if len(blockNums) > 3 { 53 min = len(blockNums) - 3 54 } 55 str := fmt.Sprintf("%s|%d|%v...%v", br.Orig, len(blockNums), blockNums[:max], blockNums[min:]) 56 check := colors.Green 57 if str != item.expected { 58 check = colors.Red 59 // fmt.Printf("got: %s\nwanted: %s%s%s\n", str, check, item.expected, colors.Off) 60 t.Errorf("got: %s\nwanted: %s%s%s\n", str, check, item.expected, colors.Off) 61 } 62 // } else { 63 // fmt.Println("No blocks:", colors.Yellow, br, colors.Off) 64 } 65 } 66 } 67 } 68 69 type testCase struct { 70 input string 71 expected string 72 enabled bool 73 } 74 75 var testBlocks = []testCase{ 76 { 77 input: "1001001.0", 78 expected: "1001001.0", 79 // enabled: true, 80 }, 81 { 82 input: "195633", 83 expected: "195633|1|[195633]...[195633]", 84 enabled: true, 85 }, 86 { 87 input: "195633-200000", 88 expected: "195633-200000|4367|[195633 195634 195635 195636 195637 195638 195639 195640 195641 195642]...[199997 199998 199999]", 89 }, 90 { 91 input: "195633-1441661589", 92 expected: "195633-1441661589|4367|[195633 195634 195635 195636 195637 195638 195639 195640 195641 195642]...[199997 199998 199999]", 93 }, 94 { 95 input: "195633-0x13ced9eaa49a522d4e7dcf80a739a57dbf08f4ce5efc4edbac86a66d8010f693", 96 expected: "195633-0x13ced9eaa49a522d4e7dcf80a739a57dbf08f4ce5efc4edbac86a66d8010f693|4367|[195633 195634 195635 195636 195637 195638 195639 195640 195641 195642]...[199997 199998 199999]", 97 enabled: true, 98 }, 99 { 100 input: "195633-2015-09-07", 101 expected: "195633-2015-09-07|1|[195633]...[195633]", 102 enabled: true, 103 }, 104 { 105 input: "195633-2015-09-07T21", 106 expected: "195633-2015-09-07T21|4256|[195633 195634 195635 195636 195637 195638 195639 195640 195641 195642]...[199886 199887 199888]", 107 enabled: true, 108 }, 109 { 110 input: "195633-2015-09-07T21:33", 111 expected: "195633-2015-09-07T21:33|4365|[195633 195634 195635 195636 195637 195638 195639 195640 195641 195642]...[199995 199996 199997]", 112 enabled: true, 113 }, 114 { 115 input: "195633-2015-09-07T21:33:09", 116 expected: "195633-2015-09-07T21:33:09|4367|[195633 195634 195635 195636 195637 195638 195639 195640 195641 195642]...[199997 199998 199999]", 117 enabled: true, 118 }, 119 { 120 input: "195633-iceage", 121 expected: "195633-iceage|4367|[195633 195634 195635 195636 195637 195638 195639 195640 195641 195642]...[199997 199998 199999]", 122 enabled: true, 123 }, 124 { 125 input: "195633-iceage:51", 126 expected: "195633-iceage:51|86|[195633 195684 195735 195786 195837 195888 195939 195990 196041 196092]...[199866 199917 199968]", 127 enabled: true, 128 }, 129 { 130 input: "195433-iceage:hourly", 131 expected: "195433-iceage:hourly|23|[195433 195634 195845 196049 196249 196438 196646 196843 197031 197234]...[199494 199694 199889]", 132 enabled: true, 133 }, 134 { 135 input: "1441583975", 136 expected: "1441583975|1|[195633]...[195633]", 137 enabled: true, 138 }, 139 { 140 input: "1441583975-200000", 141 expected: "1441583975-200000|4367|[195633 195634 195635 195636 195637 195638 195639 195640 195641 195642]...[199997 199998 199999]", 142 }, 143 { 144 input: "1441583975-1441661589", 145 expected: "1441583975-1441661589|4367|[195633 195634 195635 195636 195637 195638 195639 195640 195641 195642]...[199997 199998 199999]", 146 }, 147 { 148 input: "1441583975-0x13ced9eaa49a522d4e7dcf80a739a57dbf08f4ce5efc4edbac86a66d8010f693", 149 expected: "1441583975-0x13ced9eaa49a522d4e7dcf80a739a57dbf08f4ce5efc4edbac86a66d8010f693|4367|[195633 195634 195635 195636 195637 195638 195639 195640 195641 195642]...[199997 199998 199999]", 150 }, 151 { 152 input: "1441583975-2015-09-07", 153 expected: "1441583975-2015-09-07|1|[195633]...[195633]", 154 }, 155 { 156 input: "1441583975-2015-09-07T21", 157 expected: "1441583975-2015-09-07T21|4256|[195633 195634 195635 195636 195637 195638 195639 195640 195641 195642]...[199886 199887 199888]", 158 }, 159 { 160 input: "1441583975-2015-09-07T21:33", 161 expected: "1441583975-2015-09-07T21:33|4365|[195633 195634 195635 195636 195637 195638 195639 195640 195641 195642]...[199995 199996 199997]", 162 }, 163 { 164 input: "1441583975-2015-09-07T21:33:09", 165 expected: "1441583975-2015-09-07T21:33:09|4367|[195633 195634 195635 195636 195637 195638 195639 195640 195641 195642]...[199997 199998 199999]", 166 }, 167 { 168 input: "1441583975-iceage", 169 expected: "1441583975-iceage|4367|[195633 195634 195635 195636 195637 195638 195639 195640 195641 195642]...[199997 199998 199999]", 170 }, 171 { 172 input: "1441583975-iceage:51", 173 expected: "1441583975-iceage:51|86|[195633 195684 195735 195786 195837 195888 195939 195990 196041 196092]...[199866 199917 199968]", 174 }, 175 { 176 input: "1440709168-iceage:daily", 177 expected: "1440709168-iceage:daily|12|[148428 153135 157788 162118 166272 170394 174332 177909 181292 185735]...[185735 190656 195634]", 178 enabled: true, 179 }, 180 { 181 input: "0xf6bfe0a959330e01858c63512b9deb4c4308944584eb0080e2b85e90fcedd9f2", 182 expected: "0xf6bfe0a959330e01858c63512b9deb4c4308944584eb0080e2b85e90fcedd9f2|1|[195633]...[195633]", 183 }, 184 { 185 input: "0xf6bfe0a959330e01858c63512b9deb4c4308944584eb0080e2b85e90fcedd9f2-200000", 186 expected: "0xf6bfe0a959330e01858c63512b9deb4c4308944584eb0080e2b85e90fcedd9f2-200000|4367|[195633 195634 195635 195636 195637 195638 195639 195640 195641 195642]...[199997 199998 199999]", 187 }, 188 { 189 input: "0xf6bfe0a959330e01858c63512b9deb4c4308944584eb0080e2b85e90fcedd9f2-1441661589", 190 expected: "0xf6bfe0a959330e01858c63512b9deb4c4308944584eb0080e2b85e90fcedd9f2-1441661589|4367|[195633 195634 195635 195636 195637 195638 195639 195640 195641 195642]...[199997 199998 199999]", 191 }, 192 { 193 input: "0xf6bfe0a959330e01858c63512b9deb4c4308944584eb0080e2b85e90fcedd9f2-0x13ced9eaa49a522d4e7dcf80a739a57dbf08f4ce5efc4edbac86a66d8010f693", 194 expected: "0xf6bfe0a959330e01858c63512b9deb4c4308944584eb0080e2b85e90fcedd9f2-0x13ced9eaa49a522d4e7dcf80a739a57dbf08f4ce5efc4edbac86a66d8010f693|4367|[195633 195634 195635 195636 195637 195638 195639 195640 195641 195642]...[199997 199998 199999]", 195 enabled: true, 196 }, 197 { 198 input: "0xf6bfe0a959330e01858c63512b9deb4c4308944584eb0080e2b85e90fcedd9f2-2015-09-07", 199 expected: "0xf6bfe0a959330e01858c63512b9deb4c4308944584eb0080e2b85e90fcedd9f2-2015-09-07|1|[195633]...[195633]", 200 }, 201 { 202 input: "0xf6bfe0a959330e01858c63512b9deb4c4308944584eb0080e2b85e90fcedd9f2-2015-09-07T21", 203 expected: "0xf6bfe0a959330e01858c63512b9deb4c4308944584eb0080e2b85e90fcedd9f2-2015-09-07T21|4256|[195633 195634 195635 195636 195637 195638 195639 195640 195641 195642]...[199886 199887 199888]", 204 }, 205 { 206 input: "0xf6bfe0a959330e01858c63512b9deb4c4308944584eb0080e2b85e90fcedd9f2-2015-09-07T21:33", 207 expected: "0xf6bfe0a959330e01858c63512b9deb4c4308944584eb0080e2b85e90fcedd9f2-2015-09-07T21:33|4365|[195633 195634 195635 195636 195637 195638 195639 195640 195641 195642]...[199995 199996 199997]", 208 }, 209 { 210 input: "0xf6bfe0a959330e01858c63512b9deb4c4308944584eb0080e2b85e90fcedd9f2-2015-09-07T21:33:09", 211 expected: "0xf6bfe0a959330e01858c63512b9deb4c4308944584eb0080e2b85e90fcedd9f2-2015-09-07T21:33:09|4367|[195633 195634 195635 195636 195637 195638 195639 195640 195641 195642]...[199997 199998 199999]", 212 }, 213 { 214 input: "0xf6bfe0a959330e01858c63512b9deb4c4308944584eb0080e2b85e90fcedd9f2-iceage", 215 expected: "0xf6bfe0a959330e01858c63512b9deb4c4308944584eb0080e2b85e90fcedd9f2-iceage|4367|[195633 195634 195635 195636 195637 195638 195639 195640 195641 195642]...[199997 199998 199999]", 216 }, 217 { 218 input: "0xf6bfe0a959330e01858c63512b9deb4c4308944584eb0080e2b85e90fcedd9f2-iceage:51", 219 expected: "0xf6bfe0a959330e01858c63512b9deb4c4308944584eb0080e2b85e90fcedd9f2-iceage:51|86|[195633 195684 195735 195786 195837 195888 195939 195990 196041 196092]...[199866 199917 199968]", 220 }, 221 { 222 input: "0x15576d5deb72a552fcde26caf8587c40bf39f0c8f9fde5bbb21f3164e0cf2bc5-devcon1:weekly", 223 expected: "0x15576d5deb72a552fcde26caf8587c40bf39f0c8f9fde5bbb21f3164e0cf2bc5-devcon1:weekly|14|[93129 128130 162118 190656 225596 259991 295664 330002 364660 399788]...[470667 506226 541677]", 224 }, 225 { 226 input: "2015-09-06", 227 expected: "2015-09-06|1|[190656]...[190656]", 228 }, 229 { 230 input: "2015-09-06T23-200000", 231 expected: "2015-09-06T23-200000|4567|[195433 195434 195435 195436 195437 195438 195439 195440 195441 195442]...[199997 199998 199999]", 232 }, 233 { 234 input: "2015-09-06T23:59-1441661589", 235 expected: "2015-09-06T23:59-1441661589|4369|[195631 195632 195633 195634 195635 195636 195637 195638 195639 195640]...[199997 199998 199999]", 236 }, 237 { 238 input: "2015-09-06T23:59:35-0x13ced9eaa49a522d4e7dcf80a739a57dbf08f4ce5efc4edbac86a66d8010f693", 239 expected: "2015-09-06T23:59:35-0x13ced9eaa49a522d4e7dcf80a739a57dbf08f4ce5efc4edbac86a66d8010f693|4367|[195633 195634 195635 195636 195637 195638 195639 195640 195641 195642]...[199997 199998 199999]", 240 enabled: true, 241 }, 242 { 243 input: "2015-09-06-2015-09-07", 244 expected: "2015-09-06-2015-09-07|4978|[190656 190657 190658 190659 190660 190661 190662 190663 190664 190665]...[195631 195632 195633]", 245 }, 246 { 247 input: "2015-09-06T23-2015-09-07T21", 248 expected: "2015-09-06T23-2015-09-07T21|4456|[195433 195434 195435 195436 195437 195438 195439 195440 195441 195442]...[199886 199887 199888]", 249 }, 250 { 251 input: "2015-09-06T23:59-2015-09-07T21:33", 252 expected: "2015-09-06T23:59-2015-09-07T21:33|4367|[195631 195632 195633 195634 195635 195636 195637 195638 195639 195640]...[199995 199996 199997]", 253 enabled: true, 254 }, 255 { 256 input: "2015-09-06T23:59:35-2015-09-07T21:33:09", 257 expected: "2015-09-06T23:59:35-2015-09-07T21:33:09|4367|[195633 195634 195635 195636 195637 195638 195639 195640 195641 195642]...[199997 199998 199999]", 258 }, 259 { 260 input: "2015-09-06-iceage", 261 expected: "2015-09-06-iceage|9344|[190656 190657 190658 190659 190660 190661 190662 190663 190664 190665]...[199997 199998 199999]", 262 }, 263 { 264 input: "2015-09-06T23-iceage:51", 265 expected: "2015-09-06T23-iceage:51|90|[195433 195484 195535 195586 195637 195688 195739 195790 195841 195892]...[199870 199921 199972]", 266 }, 267 { 268 input: "2018-03-18T23:23:11-istanbul:monthly", 269 expected: "2018-03-18T23:23:11-istanbul:monthly|22|[5174124 5357794 5534862 5710964 5883489 6065979 6249398 6430272 6620475 6803256]...[8653171 8849471 9029509]", 270 }, 271 { 272 input: "istanbul", 273 expected: "istanbul|1|[9069000]...[9069000]", 274 enabled: true, 275 }, 276 { 277 input: "muirglacier-9200001", 278 expected: "muirglacier-9200001|1|[9200000]...[9200000]", 279 }, 280 { 281 input: "istanbul-9069050:10", 282 expected: "istanbul-9069050:10|5|[9069000 9069010 9069020 9069030 9069040]...[9069020 9069030 9069040]", 283 }, 284 { 285 input: "istanbul-1575765384", 286 expected: "istanbul-1575765384|50|[9069000 9069001 9069002 9069003 9069004 9069005 9069006 9069007 9069008 9069009]...[9069047 9069048 9069049]", 287 }, 288 { 289 input: "istanbul-0xc6c6091af102c8294959e2a2b15a7fc68270ae17bfef3dec04d81398104daf40", 290 expected: "istanbul-0xc6c6091af102c8294959e2a2b15a7fc68270ae17bfef3dec04d81398104daf40|50|[9069000 9069001 9069002 9069003 9069004 9069005 9069006 9069007 9069008 9069009]...[9069047 9069048 9069049]", 291 }, 292 { 293 input: "istanbul-2019-12-09", 294 expected: "istanbul-2019-12-09|5508|[9069000 9069001 9069002 9069003 9069004 9069005 9069006 9069007 9069008 9069009]...[9074505 9074506 9074507]", 295 }, 296 { 297 input: "istanbul-2019-12-09T00", 298 expected: "istanbul-2019-12-09T00|5508|[9069000 9069001 9069002 9069003 9069004 9069005 9069006 9069007 9069008 9069009]...[9074505 9074506 9074507]", 299 }, 300 { 301 input: "istanbul-2019-12-08T00:36", 302 expected: "istanbul-2019-12-08T00:36|48|[9069000 9069001 9069002 9069003 9069004 9069005 9069006 9069007 9069008 9069009]...[9069045 9069046 9069047]", 303 }, 304 { 305 input: "istanbul-2019-12-08T00:36:24", 306 expected: "istanbul-2019-12-08T00:36:24|50|[9069000 9069001 9069002 9069003 9069004 9069005 9069006 9069007 9069008 9069009]...[9069047 9069048 9069049]", 307 }, 308 { 309 input: "istanbul-muirglacier:13001", 310 expected: "istanbul-muirglacier:13001|11|[9069000 9082001 9095002 9108003 9121004 9134005 9147006 9160007 9173008 9186009]...[9173008 9186009 9199010]", 311 enabled: true, 312 }, 313 { 314 input: "daohack-muirglacier:6000", 315 expected: "daohack-muirglacier:6000|1247|[1718497 1724497 1730497 1736497 1742497 1748497 1754497 1760497 1766497 1772497]...[9182497 9188497 9194497]", 316 }, 317 { 318 input: "iceage-13922671:annually", 319 expected: "iceage-13922671:annually|8|[0 778482 2912406 4832685 6988614 9193265 11565019 13916165]...[9193265 11565019 13916165]", 320 }, 321 { 322 input: "0", 323 expected: "0|1|[0]...[0]", 324 enabled: true, 325 }, 326 }