github.com/decred/dcrlnd@v0.7.6/lntest/itest/lnd_test_list_on_test.go (about) 1 //go:build rpctest 2 // +build rpctest 3 4 package itest 5 6 var allTestCases = []*testCase{ 7 // This test needs to happen before SVH, so that we don't have to run a 8 // second voter on the second chain to observe the reorg. 9 { 10 name: "open channel reorg test", 11 test: testOpenChannelAfterReorg, 12 }, 13 // TODO(decred) review this test again. 14 // { 15 // name: "onchain fund recovery", 16 // test: testOnchainFundRecovery, 17 // }, 18 { 19 name: "test concurrent node connection", 20 test: testConcurrentNodeConnection, 21 }, 22 { 23 name: "test multi-hop htlc", 24 test: testMultiHopHtlcClaims, 25 }, 26 { 27 name: "sweep coins", 28 test: testSweepAllCoins, 29 }, 30 { 31 name: "recovery info", 32 test: testGetRecoveryInfo, 33 }, 34 { 35 name: "basic funding flow", 36 test: testBasicChannelFunding, 37 }, 38 { 39 name: "unconfirmed channel funding", 40 test: testUnconfirmedChannelFunding, 41 }, 42 { 43 name: "update channel policy", 44 test: testUpdateChannelPolicy, 45 }, 46 { 47 name: "send update disable channel", 48 test: testSendUpdateDisableChannel, 49 }, 50 { 51 name: "invoice routing hints", 52 test: testInvoiceRoutingHints, 53 }, 54 { 55 name: "update channel policy fee rate accuracy", 56 test: testUpdateChannelPolicyFeeRateAccuracy, 57 }, 58 { 59 name: "disconnecting target peer", 60 test: testDisconnectingTargetPeer, 61 }, 62 { 63 name: "reconnect after ip change", 64 test: testReconnectAfterIPChange, 65 }, 66 { 67 name: "graph topology notifications", 68 test: testGraphTopologyNotifications, 69 }, 70 { 71 name: "funding flow persistence", 72 test: testChannelFundingPersistence, 73 }, 74 { 75 name: "channel force closure", 76 test: testChannelForceClosure, 77 }, 78 { 79 name: "channel balance", 80 test: testChannelBalance, 81 }, 82 { 83 name: "channel unsettled balance", 84 test: testChannelUnsettledBalance, 85 }, 86 { 87 name: "single hop invoice", 88 test: testSingleHopInvoice, 89 }, 90 // TODO(decred) Re-enable after fixing. 91 //{ 92 // name: "offline hop invoice", 93 // test: testOfflineHopInvoice, 94 //}, 95 { 96 name: "sphinx replay persistence", 97 test: testSphinxReplayPersistence, 98 }, 99 { 100 name: "list channels", 101 test: testListChannels, 102 }, 103 { 104 name: "update channel status", 105 test: testUpdateChanStatus, 106 }, 107 { 108 name: "list outgoing payments", 109 test: testListPayments, 110 }, 111 { 112 name: "max pending channel", 113 test: testMaxPendingChannels, 114 }, 115 { 116 name: "multi-hop payments", 117 test: testMultiHopPayments, 118 }, 119 { 120 name: "single-hop send to route", 121 test: testSingleHopSendToRoute, 122 }, 123 { 124 name: "multi-hop send to route", 125 test: testMultiHopSendToRoute, 126 }, 127 { 128 name: "send to route error propagation", 129 test: testSendToRouteErrorPropagation, 130 }, 131 { 132 name: "unannounced channels", 133 test: testUnannouncedChannels, 134 }, 135 { 136 name: "private channels", 137 test: testPrivateChannels, 138 }, 139 { 140 name: "calc payment stats", 141 test: testCalcPayStats, 142 }, 143 { 144 name: "private channel update policy", 145 test: testUpdateChannelPolicyForPrivateChannel, 146 }, 147 { 148 name: "invoice routing hints", 149 test: testInvoiceRoutingHints, 150 }, 151 { 152 name: "multi-hop payments over private channels", 153 test: testMultiHopOverPrivateChannels, 154 }, 155 { 156 name: "multiple channel creation and update subscription", 157 test: testBasicChannelCreationAndUpdates, 158 }, 159 { 160 name: "invoice update subscription", 161 test: testInvoiceSubscriptions, 162 }, 163 { 164 name: "multi-hop htlc error propagation", 165 test: testHtlcErrorPropagation, 166 }, 167 { 168 name: "reject onward htlc", 169 test: testRejectHTLC, 170 }, 171 // TODO(roasbeef): multi-path integration test 172 { 173 name: "node announcement", 174 test: testNodeAnnouncement, 175 }, 176 { 177 name: "node sign verify", 178 test: testNodeSignVerify, 179 }, 180 { 181 name: "derive shared key", 182 test: testDeriveSharedKey, 183 }, 184 { 185 name: "sign output raw", 186 test: testSignOutputRaw, 187 }, 188 { 189 name: "async payments benchmark", 190 test: testAsyncPayments, 191 }, 192 { 193 name: "async bidirectional payments", 194 test: testBidirectionalAsyncPayments, 195 }, 196 { 197 name: "switch circuit persistence", 198 test: testSwitchCircuitPersistence, 199 }, 200 { 201 name: "switch offline delivery", 202 test: testSwitchOfflineDelivery, 203 }, 204 { 205 name: "switch offline delivery persistence", 206 test: testSwitchOfflineDeliveryPersistence, 207 }, 208 { 209 name: "switch offline delivery outgoing offline", 210 test: testSwitchOfflineDeliveryOutgoingOffline, 211 }, 212 { 213 // TODO(roasbeef): test always needs to be last as Bob's state 214 // is borked since we trick him into attempting to cheat Alice? 215 name: "revoked uncooperative close retribution", 216 test: testRevokedCloseRetribution, 217 }, 218 { 219 name: "failing link", 220 test: testFailingChannel, 221 }, 222 { 223 name: "garbage collect link nodes", 224 test: testGarbageCollectLinkNodes, 225 }, 226 { 227 name: "abandonchannel", 228 test: testAbandonChannel, 229 }, 230 { 231 name: "revoked uncooperative close retribution zero value remote output", 232 test: testRevokedCloseRetributionZeroValueRemoteOutput, 233 }, 234 { 235 name: "revoked uncooperative close retribution remote hodl", 236 test: testRevokedCloseRetributionRemoteHodl, 237 }, 238 { 239 name: "revoked uncooperative close retribution remote hodl second level", 240 test: testRevokedCloseRetributionRemoteHodlSecondLevel, 241 }, 242 { 243 name: "revoked uncooperative close retribution altruist watchtower", 244 test: testRevokedCloseRetributionAltruistWatchtower, 245 }, 246 { 247 name: "data loss protection", 248 test: testDataLossProtection, 249 }, 250 { 251 name: "query routes", 252 test: testQueryRoutes, 253 }, 254 { 255 name: "route fee cutoff", 256 test: testRouteFeeCutoff, 257 }, 258 { 259 name: "add invoice max inbound amount", 260 test: testAddInvoiceMaxInboundAmt, 261 }, 262 { 263 name: "add and receive invoice at max inbound amount", 264 test: testAddReceiveInvoiceMaxInboundAmt, 265 }, 266 { 267 name: "send payment max outbound amt", 268 test: testSendPaymentMaxOutboundAmt, 269 }, 270 { 271 name: "max io channel balance", 272 test: testMaxIOChannelBalances, 273 }, 274 { 275 name: "streaming channel backup update", 276 test: testChannelBackupUpdates, 277 }, 278 { 279 name: "export channel backup", 280 test: testExportChannelBackup, 281 }, 282 { 283 name: "channel backup restore", 284 test: testChannelBackupRestore, 285 }, 286 { 287 name: "hold invoice sender persistence", 288 test: testHoldInvoicePersistence, 289 }, 290 { 291 name: "hold invoice force close", 292 test: testHoldInvoiceForceClose, 293 }, 294 { 295 name: "commitment deadline", 296 test: testCommitmentTransactionDeadline, 297 }, 298 { 299 name: "cpfp", 300 test: testCPFP, 301 }, 302 { 303 name: "anchors reserved value", 304 test: testAnchorReservedValue, 305 }, 306 { 307 name: "macaroon authentication", 308 test: testMacaroonAuthentication, 309 }, 310 { 311 name: "bake macaroon", 312 test: testBakeMacaroon, 313 }, 314 { 315 name: "delete macaroon id", 316 test: testDeleteMacaroonID, 317 }, 318 { 319 name: "immediate payment after channel opened", 320 test: testPaymentFollowingChannelOpen, 321 }, 322 { 323 name: "external channel funding", 324 test: testExternalFundingChanPoint, 325 }, 326 { 327 name: "psbt channel funding", 328 test: testPsbtChanFunding, 329 }, 330 { 331 name: "psbt channel funding external", 332 test: testPsbtChanFundingExternal, 333 }, 334 { 335 name: "sign psbt", 336 test: testSignPsbt, 337 }, 338 { 339 name: "batch channel funding", 340 test: testBatchChanFunding, 341 }, 342 { 343 name: "psbt channel funding single step", 344 test: testPsbtChanFundingSingleStep, 345 }, 346 { 347 name: "sendtoroute multi path payment", 348 test: testSendToRouteMultiPath, 349 }, 350 { 351 name: "sendtoroute amp", 352 test: testSendToRouteAMP, 353 }, 354 { 355 name: "sendpayment amp", 356 test: testSendPaymentAMP, 357 }, 358 { 359 name: "sendpayment amp invoice", 360 test: testSendPaymentAMPInvoice, 361 }, 362 { 363 name: "sendpayment amp invoice repeat", 364 test: testSendPaymentAMPInvoiceRepeat, 365 }, 366 { 367 name: "send multi path payment", 368 test: testSendMultiPathPayment, 369 }, 370 { 371 name: "REST API", 372 test: testRestAPI, 373 }, 374 { 375 name: "forward interceptor", 376 test: testForwardInterceptorBasic, 377 }, 378 { 379 name: "forward interceptor dedup htlcs", 380 test: testForwardInterceptorDedupHtlc, 381 }, 382 { 383 name: "wumbo channels", 384 test: testWumboChannels, 385 }, 386 { 387 name: "extra accounts features", 388 test: testExtraAccountsFeatures, 389 }, 390 { 391 name: "maximum channel size", 392 test: testMaxChannelSize, 393 }, 394 { 395 name: "connection timeout", 396 test: testNetworkConnectionTimeout, 397 }, 398 { 399 name: "missing channelreestablish auto closes channel", 400 test: testMissingChanReestablishAutoClosesChan, 401 }, 402 { 403 name: "stateless init", 404 test: testStatelessInit, 405 }, 406 { 407 name: "wallet import account", 408 test: testWalletImportAccount, 409 }, 410 { 411 name: "wallet import pubkey", 412 test: testWalletImportPubKey, 413 }, 414 { 415 name: "etcd_failover", 416 test: testEtcdFailover, 417 }, 418 { 419 name: "max htlc pathfind", 420 test: testMaxHtlcPathfind, 421 }, 422 { 423 name: "rpc middleware interceptor", 424 test: testRPCMiddlewareInterceptor, 425 }, 426 { 427 name: "wipe forwarding packages", 428 test: testWipeForwardingPackages, 429 }, 430 { 431 name: "remote signer", 432 test: testRemoteSigner, 433 }, 434 { 435 name: "3rd party anchor spend", 436 test: testAnchorThirdPartySpend, 437 }, 438 }