def setUp(self): self.domain = 'domain' self.domain_owner = 'domain-owner' self.package_format = 'pip' self.repository = 'repository' self.auth_token = 'auth-token' self.expiration = (datetime.now(tzlocal()) + relativedelta(years=1) + relativedelta(months=9)).replace(microsecond=0) self.endpoint = 'https://{domain}-{domainOwner}.codeartifact.aws.' \ 'a2z.com/{format}/{repository}/'.format( domain=self.domain, domainOwner=self.domain_owner, format=self.package_format, repository=self.repository ) repo_uri = urlparse.urlsplit(self.endpoint) self.pip_index_url = self.PIP_INDEX_URL_FMT.format( scheme=repo_uri.scheme, auth_token=self.auth_token, netloc=repo_uri.netloc, path=repo_uri.path) self.subprocess_utils = mock.Mock() self.test_subject = PipLogin(self.auth_token, self.expiration, self.endpoint, self.subprocess_utils)
def setUp(self): self.domain = 'domain' self.domain_owner = 'domain-owner' self.package_format = 'pip' self.repository = 'repository' self.auth_token = 'auth-token' self.endpoint = 'https://{domain}-{domainOwner}.codeartifact.aws.' \ 'a2z.com/{format}/{repository}/'.format( domain=self.domain, domainOwner=self.domain_owner, format=self.package_format, repository=self.repository ) repo_uri = urlparse.urlsplit(self.endpoint) self.pip_index_url = self.PIP_INDEX_URL_FMT.format( scheme=repo_uri.scheme, auth_token=self.auth_token, netloc=repo_uri.netloc, path=repo_uri.path) self.subprocess_utils = mock.Mock() self.test_subject = PipLogin(self.auth_token, self.endpoint, self.subprocess_utils)
class TestPipLogin(unittest.TestCase): PIP_INDEX_URL_FMT = PipLogin.PIP_INDEX_URL_FMT def setUp(self): self.domain = 'domain' self.domain_owner = 'domain-owner' self.package_format = 'pip' self.repository = 'repository' self.auth_token = 'auth-token' self.expiration = (datetime.now(tzlocal()) + relativedelta(years=1) + relativedelta(months=9)).replace(microsecond=0) self.endpoint = 'https://{domain}-{domainOwner}.codeartifact.aws.' \ 'a2z.com/{format}/{repository}/'.format( domain=self.domain, domainOwner=self.domain_owner, format=self.package_format, repository=self.repository ) repo_uri = urlparse.urlsplit(self.endpoint) self.pip_index_url = self.PIP_INDEX_URL_FMT.format( scheme=repo_uri.scheme, auth_token=self.auth_token, netloc=repo_uri.netloc, path=repo_uri.path) self.subprocess_utils = mock.Mock() self.test_subject = PipLogin(self.auth_token, self.expiration, self.endpoint, self.domain, self.repository, self.subprocess_utils) def test_get_commands(self): expected_commands = [[ 'pip', 'config', 'set', 'global.index-url', self.pip_index_url ]] commands = self.test_subject.get_commands(self.endpoint, self.auth_token) self.assertCountEqual(commands, expected_commands) def test_login(self): self.test_subject.login() self.subprocess_utils.check_call.assert_called_once_with( ['pip', 'config', 'set', 'global.index-url', self.pip_index_url], stdout=self.subprocess_utils.PIPE, stderr=self.subprocess_utils.PIPE, ) def test_login_dry_run(self): self.test_subject.login(dry_run=True) self.subprocess_utils.check_call.assert_not_called()