public async Task ValidBasicProcessCredentialInputAsync()
        {
            var processCredential       = new ProcessAWSCredentials($"{Executable} {ArgumentsBasic} {ValidVersionNumber}");
            var credentialsRefreshState = await processCredential.DetermineProcessCredentialAsync().ConfigureAwait(false);

            Assert.AreEqual(DateTime.MaxValue, credentialsRefreshState.Expiration);
            Assert.AreEqual(ActualAccessKey, credentialsRefreshState.Credentials.AccessKey);
            Assert.AreEqual(ActualSecretKey, credentialsRefreshState.Credentials.SecretKey);
            Assert.IsTrue(string.IsNullOrEmpty(credentialsRefreshState.Credentials.Token));
        }
        public void ValidSessionProcessCredentialInput()
        {
            var processCredential       = new ProcessAWSCredentials($"{Executable} {ArgumentsSession} {ValidVersionNumber}");
            var credentialsRefreshState = processCredential.DetermineProcessCredential();

            Assert.AreNotEqual(DateTime.MaxValue, credentialsRefreshState.Expiration);
            Assert.AreEqual(ActualAccessKey, credentialsRefreshState.Credentials.AccessKey);
            Assert.AreEqual(ActualSecretKey, credentialsRefreshState.Credentials.SecretKey);
            Assert.IsNotNull(credentialsRefreshState.Credentials.Token);
        }
        public void ValidateCredentialRefresh()
        {
            var processCredential       = new ProcessAWSCredentials($"{Executable} {ArgumentsSession} {ValidVersionNumber}");
            var credentialsRefreshState = processCredential.DetermineProcessCredential();
            var oldToken = credentialsRefreshState.Credentials.Token;

            Thread.Sleep(TimeSpan.FromSeconds(60));

            credentialsRefreshState = processCredential.DetermineProcessCredential();
            Assert.AreNotEqual(oldToken, credentialsRefreshState.Credentials.Token);
        }