| 113 | |
| 114 | class TestRefreshableCredentials(TestCredentials): |
| 115 | def setUp(self): |
| 116 | super().setUp() |
| 117 | self.refresher = mock.Mock() |
| 118 | self.future_time = datetime.now(tzlocal()) + timedelta(hours=24) |
| 119 | self.expiry_time = datetime.now(tzlocal()) - timedelta(minutes=30) |
| 120 | self.metadata = { |
| 121 | 'access_key': 'NEW-ACCESS', |
| 122 | 'secret_key': 'NEW-SECRET', |
| 123 | 'token': 'NEW-TOKEN', |
| 124 | 'expiry_time': self.future_time.isoformat(), |
| 125 | 'role_name': 'rolename', |
| 126 | } |
| 127 | self.refresher.return_value = self.metadata |
| 128 | self.mock_time = mock.Mock() |
| 129 | self.creds = credentials.RefreshableCredentials( |
| 130 | 'ORIGINAL-ACCESS', |
| 131 | 'ORIGINAL-SECRET', |
| 132 | 'ORIGINAL-TOKEN', |
| 133 | self.expiry_time, |
| 134 | self.refresher, |
| 135 | 'iam-role', |
| 136 | time_fetcher=self.mock_time, |
| 137 | ) |
| 138 | |
| 139 | def test_refresh_needed(self): |
| 140 | # The expiry time was set for 30 minutes ago, so if we |