Skip to content

Commit 7980088

Browse files
Merge pull request #1176 from ATGE/autoscale
Autoscale detail tests
2 parents 8dd2ddb + 52d3600 commit 7980088

File tree

3 files changed

+204
-44
lines changed

3 files changed

+204
-44
lines changed

SoftLayer/CLI/autoscale/detail.py

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ def cli(env, identifier):
3434
table.add_row(['Cooldown', "{} seconds".format(group.get('cooldown'))])
3535
table.add_row(['Last Action', utils.clean_time(group.get('lastActionDate'))])
3636

37-
for network in group.get('networkVlans'):
37+
for network in group.get('networkVlans', []):
3838
network_type = utils.lookup(network, 'networkVlan', 'networkSpace')
3939
router = utils.lookup(network, 'networkVlan', 'primaryRouter', 'hostname')
4040
vlan_number = utils.lookup(network, 'networkVlan', 'vlanNumber')
@@ -55,17 +55,16 @@ def cli(env, identifier):
5555
config_table.add_row(['Core', template.get('startCpus')])
5656
config_table.add_row(['Ram', template.get('maxMemory')])
5757
network = template.get('networkComponents')
58-
config_table.add_row(['Network', network[0]['maxSpeed']])
58+
config_table.add_row(['Network', network[0]['maxSpeed'] if network else 'Default'])
5959
ssh_keys = template.get('sshKeys', [])
6060
ssh_manager = SoftLayer.SshKeyManager(env.client)
6161
for key in ssh_keys:
6262
# Label isn't included when retrieved from the AutoScale group...
6363
ssh_key = ssh_manager.get_key(key.get('id'))
6464
config_table.add_row(['SSH Key {}'.format(ssh_key.get('id')), ssh_key.get('label')])
65-
disks = template.get('blockDevices')
66-
disk_type = "SAN"
67-
if template.get('localDiskFlag'):
68-
disk_type = "Local"
65+
disks = template.get('blockDevices', [])
66+
disk_type = "Local" if template.get('localDiskFlag') else "SAN"
67+
6968
for disk in disks:
7069
disk_image = disk.get('diskImage')
7170
config_table.add_row(['{} Disk {}'.format(disk_type, disk.get('device')), disk_image.get('capacity')])
@@ -76,15 +75,15 @@ def cli(env, identifier):
7675

7776
# Policy Config Table
7877
policy_table = formatting.KeyValueTable(["Policy", "Cooldown"])
79-
policies = group.get('policies')
78+
policies = group.get('policies', [])
8079
for policy in policies:
8180
policy_table.add_row([policy.get('name'), policy.get('cooldown') or group.get('cooldown')])
8281

8382
env.fout(policy_table)
8483

8584
# Active Guests
8685
member_table = formatting.Table(['Id', 'Hostname', 'Created'], title="Active Guests")
87-
guests = group.get('virtualGuestMembers')
86+
guests = group.get('virtualGuestMembers', [])
8887
for guest in guests:
8988
real_guest = guest.get('virtualGuest')
9089
member_table.add_row([

SoftLayer/fixtures/SoftLayer_Scale_Group.py

Lines changed: 192 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,201 @@
11
getObject = {
2-
"accountId": 31111,
3-
"cooldown": 1800,
4-
"createDate": "2016-10-25T01:48:34+08:00",
5-
"id": 12222222,
6-
"lastActionDate": "2016-10-25T01:48:34+08:00",
7-
"maximumMemberCount": 5,
8-
"minimumMemberCount": 0,
9-
"name": "tests",
10-
"regionalGroupId": 663,
11-
"virtualGuestMemberTemplate": {
12-
"accountId": 31111,
13-
"domain": "sodg.com",
14-
"hostname": "testing",
15-
"id": None,
16-
"maxCpu": None,
17-
"maxMemory": 32768,
18-
"startCpus": 32,
19-
"blockDevices": [
20-
{
21-
"device": "0",
22-
"diskImage": {
23-
"capacity": 25,
2+
'accountId': 31111,
3+
'balancedTerminationFlag': False,
4+
'cooldown': 1800,
5+
'createDate': '2018-04-30T15:07:40-04:00',
6+
'desiredMemberCount': None,
7+
'id': 12222222,
8+
'lastActionDate': '2019-10-02T16:26:17-04:00',
9+
'loadBalancers': [],
10+
'maximumMemberCount': 6,
11+
'minimumMemberCount': 2,
12+
'modifyDate': '2019-10-03T17:16:47-04:00',
13+
'name': 'tests',
14+
'networkVlans': [
15+
{
16+
'networkVlan': {
17+
'accountId': 31111,
18+
'id': 2222222,
19+
'modifyDate': '2019-07-16T13:09:47-04:00',
20+
'networkSpace': 'PRIVATE',
21+
'primaryRouter': {
22+
'hostname': 'bcr01a.sao01'
23+
},
24+
'primarySubnetId': 1172222,
25+
'vlanNumber': 1111
26+
},
27+
'networkVlanId': 2281111
28+
}
29+
],
30+
'policies': [
31+
{
32+
'actions': [
33+
{
34+
'amount': 1,
35+
'createDate': '2019-09-26T18:30:22-04:00',
36+
'deleteFlag': None,
37+
'id': 611111,
38+
'modifyDate': None,
39+
'scalePolicy': None,
40+
'scalePolicyId': 681111,
41+
'scaleType': 'RELATIVE',
42+
'typeId': 1
43+
}
44+
],
45+
'cooldown': None,
46+
'createDate': '2019-09-26T18:30:14-04:00',
47+
'id': 680000,
48+
'name': 'prime-poly',
49+
'scaleActions': [
50+
{
51+
'amount': 1,
52+
'createDate': '2019-09-26T18:30:22-04:00',
53+
'deleteFlag': None,
54+
'id': 633333,
55+
'modifyDate': None,
56+
'scalePolicy': None,
57+
'scalePolicyId': 680123,
58+
'scaleType': 'RELATIVE',
59+
'typeId': 1
60+
}
61+
],
62+
'triggers': [
63+
{
64+
'createDate': '2019-09-26T18:30:14-04:00',
65+
'deleteFlag': None,
66+
'id': 557111,
67+
'modifyDate': None,
68+
'scalePolicy': None,
69+
'scalePolicyId': 680000,
70+
'typeId': 3
2471
}
72+
]
73+
}
74+
],
75+
'regionalGroup': {
76+
'description': 'sa-bra-south-1',
77+
'id': 663,
78+
'locationGroupTypeId': 42,
79+
'locations': [
80+
{
81+
'id': 983497,
82+
'longName': 'Sao Paulo 1',
83+
'name': 'sao01',
84+
'statusId': 2
2585
}
2686
],
27-
"datacenter": {
28-
"name": "sao01",
29-
},
30-
"hourlyBillingFlag": True,
31-
"operatingSystemReferenceCode": "CENTOS_LATEST",
32-
"privateNetworkOnlyFlag": True
87+
'name': 'sa-bra-south-1',
88+
'securityLevelId': None
3389
},
34-
"virtualGuestMemberCount": 0,
35-
"status": {
36-
"id": 1,
37-
"keyName": "ACTIVE",
38-
"name": "Active"
90+
'regionalGroupId': 663,
91+
'status': {
92+
'id': 1, 'keyName': 'ACTIVE', 'name': 'Active'
3993
},
40-
"virtualGuestAssets": [],
41-
"virtualGuestMembers": []
94+
'suspendedFlag': False,
95+
'terminationPolicy': {
96+
'id': 2, 'keyName': 'NEWEST', 'name': 'Newest'
97+
},
98+
'terminationPolicyId': 2,
99+
'virtualGuestAssets': [],
100+
'virtualGuestMemberCount': 6,
101+
'virtualGuestMemberTemplate': {
102+
'accountId': 31111,
103+
'blockDevices': [
104+
{
105+
'bootableFlag': None,
106+
'createDate': None,
107+
'device': '0',
108+
'diskImage': {
109+
'capacity': 25,
110+
'createDate': None,
111+
'id': None,
112+
'modifyDate': None,
113+
'parentId': None,
114+
'storageRepositoryId': None,
115+
'typeId': None},
116+
'diskImageId': None,
117+
'guestId': None,
118+
'hotPlugFlag': None,
119+
'id': None,
120+
'modifyDate': None,
121+
'statusId': None
122+
},
123+
{
124+
'bootableFlag': None,
125+
'createDate': None,
126+
'device': '2',
127+
'diskImage': {
128+
'capacity': 10,
129+
'createDate': None,
130+
'id': None,
131+
'modifyDate': None,
132+
'parentId': None,
133+
'storageRepositoryId': None,
134+
'typeId': None},
135+
'diskImageId': None,
136+
'guestId': None,
137+
'hotPlugFlag': None,
138+
'id': None,
139+
'modifyDate': None,
140+
'statusId': None
141+
}
142+
],
143+
'createDate': None,
144+
'datacenter': {
145+
'id': None,
146+
'name': 'sao01',
147+
'statusId': None
148+
},
149+
'dedicatedAccountHostOnlyFlag': None,
150+
'domain': 'tech-support.com',
151+
'hostname': 'testing',
152+
'hourlyBillingFlag': True,
153+
'id': None,
154+
'lastPowerStateId': None,
155+
'lastVerifiedDate': None,
156+
'localDiskFlag': False,
157+
'maxCpu': None,
158+
'maxMemory': 1024,
159+
'metricPollDate': None,
160+
'modifyDate': None,
161+
'networkComponents': [
162+
{
163+
'createDate': None,
164+
'guestId': None,
165+
'id': None,
166+
'maxSpeed': 100,
167+
'modifyDate': None,
168+
'networkId': None,
169+
'port': None,
170+
'speed': None
171+
}
172+
],
173+
'operatingSystemReferenceCode': 'CENTOS_LATEST',
174+
'placementGroupId': None,
175+
'postInstallScriptUri': 'https://test.com/',
176+
'privateNetworkOnlyFlag': False,
177+
'provisionDate': None,
178+
'sshKeys': [
179+
{
180+
'createDate': None,
181+
'id': 490279,
182+
'modifyDate': None
183+
}
184+
],
185+
'startCpus': 1,
186+
'statusId': None,
187+
'typeId': None},
188+
'virtualGuestMembers': [
189+
{
190+
'id': 3111111,
191+
'virtualGuest': {
192+
193+
'domain': 'tech-support.com',
194+
'hostname': 'test',
195+
'provisionDate': '2019-09-27T14:29:53-04:00'
196+
}
197+
}
198+
]
42199
}
43200

44201
scale = [

tests/CLI/modules/autoscale_tests.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
:license: MIT, see LICENSE for more details.
66
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
77
8-
Tests for the user cli command
8+
Tests for the autoscale cli command
99
"""
1010
from SoftLayer import testing
1111

@@ -40,3 +40,7 @@ def test_scale_cancel(self):
4040
def test_autoscale_list(self):
4141
result = self.run_command(['autoscale', 'list'])
4242
self.assert_no_fail(result)
43+
44+
def test_autoscale_detail(self):
45+
result = self.run_command(['autoscale', 'detail', '12222222'])
46+
self.assert_no_fail(result)

0 commit comments

Comments
 (0)