from awscli.testutils import BaseAWSCommandParamsTest
class TestGetLoginCommand(BaseAWSCommandParamsTest):
def setUp(self):
super(TestGetLoginCommand, self).setUp()
self.parsed_responses = [
{
'authorizationData': [
{
"authorizationToken": "Zm9vOmJhcg==",
"proxyEndpoint": "1235.ecr.us-east-1.io",
"expiresAt": "2015-10-16T00:00:00Z"
}
]
},
]
def test_prints_get_login_command(self):
stdout = self.run_cmd("ecr get-login")[0]
self.assertIn(
'docker login -u foo -p bar -e none 1235.ecr.us-east-1.io', stdout)
self.assertEqual(1, len(self.operations_called))
self.assertNotIn('registryIds', self.operations_called[0][1])
def test_prints_login_command_with_no_email(self):
stdout = self.run_cmd("ecr get-login --no-include-email")[0]
self.assertNotIn('-e none', stdout)
def test_prints_login_with_email_flag(self):
stdout = self.run_cmd("ecr get-login --include-email")[0]
self.assertIn('-e none', stdout)
def test_prints_multiple_get_login_commands(self):
self.parsed_responses = [
{
'authorizationData': [
{
"authorizationToken": "Zm9vOmJhcg==",
"proxyEndpoint": "1235.ecr.us-east-1.io",
"expiresAt": "2015-10-16T00:00:00Z"
},
{
"authorizationToken": "YWJjOjEyMw==",
"proxyEndpoint": "4567.ecr.us-east-1.io",
"expiresAt": "2015-10-16T00:00:00Z"
}
]
},
]
stdout = self.run_cmd("ecr get-login --registry-ids 1234 5678")[0]
self.assertIn(
'docker login -u foo -p bar -e none 1235.ecr.us-east-1.io\n',
stdout)
self.assertIn(
'docker login -u abc -p 123 -e none 4567.ecr.us-east-1.io\n',
stdout)
self.assertEqual(1, len(self.operations_called))
self.assertEqual([u'1234', u'5678'],
self.operations_called[0][1]['registryIds'])