< Summary - Combined Code Coverage

Information
Class: Program
Assembly: NLightning.Client
File(s): /home/runner/work/NLightning/NLightning/src/NLightning.Client/Program.cs
Tag: 57_24045730253
Line coverage
0%
Covered lines: 0
Uncovered lines: 48
Coverable lines: 48
Total lines: 85
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 114
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
<Main>$()0%3660600%

File(s)

/home/runner/work/NLightning/NLightning/src/NLightning.Client/Program.cs

#LineLine coverage
 1using MessagePack;
 2using NLightning.Client.Handlers;
 3using NLightning.Client.Ipc;
 4using NLightning.Client.Printers;
 5using NLightning.Client.Utils;
 6using NLightning.Daemon.Contracts.Helpers;
 7using NLightning.Daemon.Contracts.Utilities;
 8using NLightning.Transport.Ipc.MessagePack;
 9
 10// Register the default formatter for MessagePackSerializer
 011MessagePackSerializer.DefaultOptions = NLightningMessagePackOptions.Options;
 12
 013var cts = new CancellationTokenSource();
 014Console.CancelKeyPress += (_, e) =>
 015{
 016    e.Cancel = true;
 017    cts.Cancel();
 018};
 19
 20// Get network for the NamedPipe file path
 021var cookiePath = CommandLineHelper.GetCookiePath(args);
 022var namedPipeFilePath = NodeUtils.GetNamedPipeFilePath(cookiePath);
 023var cookieFilePath = NodeUtils.GetCookieFilePath(cookiePath);
 24
 025var cmd = CommandLineHelper.GetCommand(args) ?? "node-info";
 26
 27try
 028{
 029    if (CommandLineHelper.IsHelpRequested(args))
 030    {
 031        ClientUtils.ShowUsage();
 032        return 0;
 33    }
 34
 035    await using var client = new NamedPipeIpcClient(namedPipeFilePath, cookieFilePath);
 36
 037    var commandArgs = CommandLineHelper.GetCommandArguments(cmd, args);
 38
 039    switch (cmd)
 40    {
 41        case "info":
 42        case "node-info":
 043            var info = await client.GetNodeInfoAsync(cts.Token);
 044            new NodeInfoPrinter().Print(info);
 045            break;
 46        case "connect":
 47        case "connect-peer":
 048            if (commandArgs.Length == 0)
 049                Console.Error.WriteLine("No arguments specified.");
 050            var connect = await client.ConnectPeerAsync(commandArgs[0], cts.Token);
 051            new ConnectPeerPrinter().Print(connect);
 052            break;
 53        case "listpeers":
 54        case "list-peers":
 055            var listPeers = await client.ListPeersAsync(cts.Token);
 056            new ListPeersPrinter().Print(listPeers);
 057            break;
 58        case "getaddress":
 59        case "get-address":
 060            var addresses = await client.GetAddressAsync(commandArgs[0], cts.Token);
 061            new GetAddressPrinter().Print(addresses);
 062            break;
 63        case "walletbalance":
 64        case "wallet-balance":
 065            var balance = await client.GetWalletBalance(cts.Token);
 066            new WalletBalancePrinter().Print(balance);
 067            break;
 68        case "openchannel":
 69        case "open-channel":
 070            OpenChannelMessageHandler.HandleAsync(commandArgs, client, cts.Token).GetAwaiter().GetResult();
 071            break;
 72        default:
 073            Console.Error.WriteLine($"Unknown command: {cmd}");
 074            ClientUtils.ShowUsage();
 075            Environment.ExitCode = 2;
 076            break;
 77    }
 078}
 079catch (Exception ex)
 080{
 081    Console.Error.WriteLine($"Error: {ex.Message}");
 082    return 1;
 83}
 84
 085return 0;

Methods/Properties

<Main>$()