plugins/CleverReach/Private/helper/test-cleverreachconnection.ps1

function Test-CleverReachConnection {
    [CmdletBinding()]
    param (
    )

    begin {

    }

    process {

        try {

            $ttl = Invoke-CR -Object "debug" -Path "/ttl.json" -Method "GET" #-Verbose

            Write-Log "Token is still valid for $( [math]::floor( $ttl.ttl/60/60 ) ) hours"

            If ( $ttl.ttl -le $Script:settings.login.refreshTtl ) {
                Write-Log "Token is less seconds valid than the defined threshold of $( $Script:settings.login.refreshTtl ) seconds!" -Severity WARNING
            }



        } catch {

            $msg = "Failed to connect to CleverReach, unauthorized or token is expired"
            Write-Log -Message $msg -Severity ERROR
            #Write-Log -Message $_.Exception -Severity ERROR
            throw [System.IO.InvalidDataException] $msg

            # TODO is exit needed here?

        }

    }

    end {

    }

}