private static async Task TestInstallUninstallLibrary()

in csharp/Microsoft.Azure.Databricks.Client.Sample/SampleProgram.Library.cs [56:95]


    private static async Task TestInstallUninstallLibrary(DatabricksClient client, Library library, string clusterId)
    {
        Console.WriteLine("Installing library {0}", library);
        await client.Libraries.Install(clusterId, new[] { library });

        while (true)
        {
            var statuses = await client.Libraries.ClusterStatus(clusterId);
            var targetLib = statuses.SingleOrDefault(status => status.Library.Equals(library));

            if (targetLib == null)
            {
                Console.WriteLine("[{0:s}] Library {1} not found", DateTime.UtcNow, library);
                break;
            }

            if (targetLib.Status == LibraryInstallStatus.INSTALLED)
            {
                Console.WriteLine("[{0:s}] Library {1} INSTALLED", DateTime.UtcNow, library);
                break;
            }

            Console.WriteLine("[{0:s}] Library {1} status {2}", DateTime.UtcNow, library, targetLib.Status);

            if (targetLib.Status == LibraryInstallStatus.FAILED)
            {
                break;
            }

            await Task.Delay(TimeSpan.FromSeconds(5));
        }

        Console.WriteLine("Uninstalling library {0}", library);
        await client.Libraries.Uninstall(clusterId, new[] { library });

        var s = await client.Libraries.ClusterStatus(clusterId);
        var uninstalledLib = s.Single(status => status.Library.Equals(library));

        Console.WriteLine("[{0:s}] Library {1} status {2}", DateTime.UtcNow, library, uninstalledLib.Status);
    }