public async Task USER_USAGE_TEST()
        {
            var LoginResposne = await IdentityClient.LoginAsync(USER_EMAIL, USER_KEY).ConfigureAwait(false);

            var authToken = LoginResposne.Token;

            DateTime start = new DateTime(2020, 3, 11);

            start.ToString("dd-MM-yyyy");
            DateTime end = new DateTime(2020, 3, 15);

            end.ToString("dd-MM-yyyy");

            using (var stream = new MemoryStream())
            {
                await APIClient.GetUserUsageAsync(start, end, stream, authToken).ConfigureAwait(false);

                using (var sr = new StreamReader(stream))
                {
                    stream.Seek(0, SeekOrigin.Begin);
                    var csv = await sr.ReadToEndAsync();

                    Console.WriteLine(csv);
                }
            }
        }
        public async Task SUBMIT_FILE_TEST()
        {
            var LoginResposne = await IdentityClient.LoginAsync(USER_EMAIL, USER_KEY).ConfigureAwait(false);

            var authToken = LoginResposne.Token;

            var Balance = await APIClient.CreditBalanceAsync(authToken).ConfigureAwait(false);

            var scanId = await SubmitFileScanAsync(authToken).ConfigureAwait(false);

            var progress = await Policy.HandleResult <uint>((result) => result != 100)
                           .WaitAndRetryAsync(6, retryAttempt => TimeSpan.FromSeconds(3))
                           .ExecuteAsync(() => APIClient.ProgressAsync(scanId, authToken)).ConfigureAwait(false);

            Assert.IsTrue(progress == 100, "Scan Progress didn't hit the 100%");

            //downloads
            var pdfReport = await APIClient.DownloadPdfReportAsync(scanId, authToken).ConfigureAwait(false);

            var sources = await APIClient.DownloadSourceReportAsync(scanId, authToken).ConfigureAwait(false);

            var results = await APIClient.ResultAsync(scanId, authToken).ConfigureAwait(false);

            //sandbox scan always have at least one internet result.
            var downloadedResult = await APIClient.DownloadResultAsync(scanId, results.Results.Internet[0].Id, authToken).ConfigureAwait(false);

            await APIClient.DeleteAsync(new DeleteRequest
            {
                Scans = new DeleteScanItem[] { new DeleteScanItem {
                                                   Id = scanId
                                               } },
                Purge = true
            }, authToken).ConfigureAwait(false);
        }
 public async Task LOGIN()
 {
     var LoginResposne = await IdentityClient.LoginAsync(USER_EMAIL, USER_KEY).ConfigureAwait(false);
 }