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  }