Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
aws
GitHub Repository: aws/aws-cli
Path: blob/develop/tests/functional/ecr/test_get_login.py
2624 views
1
# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
#
3
# Licensed under the Apache License, Version 2.0 (the 'License'). You
4
# may not use this file except in compliance with the License. A copy of
5
# the License is located at
6
#
7
# http://aws.amazon.com/apache2.0/
8
#
9
# or in the 'license' file accompanying this file. This file is
10
# distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
# ANY KIND, either express or implied. See the License for the specific
12
# language governing permissions and limitations under the License.
13
14
from awscli.testutils import BaseAWSCommandParamsTest
15
16
17
class TestGetLoginCommand(BaseAWSCommandParamsTest):
18
def setUp(self):
19
super(TestGetLoginCommand, self).setUp()
20
self.parsed_responses = [
21
{
22
'authorizationData': [
23
{
24
"authorizationToken": "Zm9vOmJhcg==",
25
"proxyEndpoint": "1235.ecr.us-east-1.io",
26
"expiresAt": "2015-10-16T00:00:00Z"
27
}
28
]
29
},
30
]
31
32
def test_prints_get_login_command(self):
33
stdout = self.run_cmd("ecr get-login")[0]
34
self.assertIn(
35
'docker login -u foo -p bar -e none 1235.ecr.us-east-1.io', stdout)
36
self.assertEqual(1, len(self.operations_called))
37
self.assertNotIn('registryIds', self.operations_called[0][1])
38
39
def test_prints_login_command_with_no_email(self):
40
stdout = self.run_cmd("ecr get-login --no-include-email")[0]
41
self.assertNotIn('-e none', stdout)
42
43
def test_prints_login_with_email_flag(self):
44
stdout = self.run_cmd("ecr get-login --include-email")[0]
45
self.assertIn('-e none', stdout)
46
47
def test_prints_multiple_get_login_commands(self):
48
self.parsed_responses = [
49
{
50
'authorizationData': [
51
{
52
"authorizationToken": "Zm9vOmJhcg==",
53
"proxyEndpoint": "1235.ecr.us-east-1.io",
54
"expiresAt": "2015-10-16T00:00:00Z"
55
},
56
{
57
"authorizationToken": "YWJjOjEyMw==",
58
"proxyEndpoint": "4567.ecr.us-east-1.io",
59
"expiresAt": "2015-10-16T00:00:00Z"
60
}
61
]
62
},
63
]
64
stdout = self.run_cmd("ecr get-login --registry-ids 1234 5678")[0]
65
self.assertIn(
66
'docker login -u foo -p bar -e none 1235.ecr.us-east-1.io\n',
67
stdout)
68
self.assertIn(
69
'docker login -u abc -p 123 -e none 4567.ecr.us-east-1.io\n',
70
stdout)
71
self.assertEqual(1, len(self.operations_called))
72
self.assertEqual([u'1234', u'5678'],
73
self.operations_called[0][1]['registryIds'])
74
75