Skip to content

Commit 9c7e66b

Browse files
committed
Add top level key to reply event to keep consistent with request format
Fixes #55. Also updated all the test cases. This also fixed the wrongly marked resourceType of mocked requests.
1 parent 1cb8218 commit 9c7e66b

35 files changed

+485
-417
lines changed

cattle/agent/handler.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,8 @@ def _do(self, req=None, check=None, result=None, lock_obj=None,
7777

7878
return self._reply(req, data)
7979

80-
def _get_response_data(self, obj):
80+
def _get_response_data(self, req, obj):
81+
resource_type = req.get("resourceType")
8182
type = obj.get("type")
8283
if type is not None:
8384
inner_name = re.sub("([A-Z])", r'_\1', type)
@@ -89,7 +90,7 @@ def _get_response_data(self, obj):
8990
pass
9091

9192
if method is not None:
92-
return method(obj)
93+
return {resource_type: method(obj)}
9394

9495
return {}
9596

cattle/compute/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ def instance_activate(self, req=None, instanceHostMap=None,
1818
return self._do(
1919
req=req,
2020
check=lambda: self._is_instance_active(instance, host),
21-
result=lambda: self._get_response_data(instanceHostMap),
21+
result=lambda: self._get_response_data(req, instanceHostMap),
2222
lock_obj=instance,
2323
action=lambda: self._do_instance_activate(instance, host, progress)
2424
)
@@ -35,7 +35,7 @@ def instance_deactivate(self, req=None, instanceHostMap=None,
3535
return self._do(
3636
req=req,
3737
check=lambda: self._is_instance_inactive(instance, host),
38-
result=lambda: self._get_response_data(instanceHostMap),
38+
result=lambda: self._get_response_data(req, instanceHostMap),
3939
lock_obj=instance,
4040
action=lambda: self._do_instance_deactivate(instance, host,
4141
progress)

cattle/storage/__init__.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ def image_activate(self, req=None, imageStoragePoolMap=None, **kw):
1818
return self._do(
1919
req=req,
2020
check=lambda: self._is_image_active(image, storage_pool),
21-
result=lambda: self._get_response_data(imageStoragePoolMap),
21+
result=lambda: self._get_response_data(req, imageStoragePoolMap),
2222
lock_obj=image,
2323
action=lambda: self._do_image_activate(image, storage_pool,
2424
progress)
@@ -32,7 +32,7 @@ def volume_activate(self, req=None, volumeStoragePoolMap=None, **kw):
3232
return self._do(
3333
req=req,
3434
check=lambda: self._is_volume_active(volume, storage_pool),
35-
result=lambda: self._get_response_data(volumeStoragePoolMap),
35+
result=lambda: self._get_response_data(req, volumeStoragePoolMap),
3636
lock_obj=volume,
3737
action=lambda: self._do_volume_activate(volume, storage_pool,
3838
progress)
@@ -46,7 +46,7 @@ def volume_deactivate(self, req=None, volumeStoragePoolMap=None, **kw):
4646
return self._do(
4747
req=req,
4848
check=lambda: self._is_volume_inactive(volume, storage_pool),
49-
result=lambda: self._get_response_data(volumeStoragePoolMap),
49+
result=lambda: self._get_response_data(req, volumeStoragePoolMap),
5050
lock_obj=volume,
5151
action=lambda: self._do_volume_deactivate(volume, storage_pool,
5252
progress)
@@ -60,7 +60,7 @@ def volume_remove(self, req=None, volumeStoragePoolMap=None, **kw):
6060
return self._do(
6161
req=req,
6262
check=lambda: self._is_volume_removed(volume, storage_pool),
63-
result=lambda: self._get_response_data(volumeStoragePoolMap),
63+
result=lambda: self._get_response_data(req, volumeStoragePoolMap),
6464
lock_obj=volume,
6565
action=lambda: self._do_volume_remove(volume, storage_pool,
6666
progress)

tests/docker/image_activate

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,6 @@
6565
"publisher": null,
6666
"replyTo": "reply.5184769160415462658",
6767
"resourceId": "14",
68-
"resourceType": "image",
68+
"resourceType": "imageStoragePoolMap",
6969
"time": 1389645753780
7070
}

tests/docker/image_activate_resp

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
11
{
22
"data": {
3-
"+data": {
4-
"dockerImage": {
5-
"Created": 1409316216,
6-
"Id": "4aece5bf9124998dae604ab09a9e3d6a3a5e305c68c313198f0faca6c67a1c3f",
7-
"ParentId": "c7823450b259734d52c75ad923c5501cfc24b6c6b91a7d550e2089271e7d0495",
8-
"RepoTags": ["ibuildthecloud/helloworld:latest"],
9-
"Size": 0
3+
"imageStoragePoolMap": {
4+
"+data": {
5+
"dockerImage": {
6+
"Created": 1409316216,
7+
"Id": "4aece5bf9124998dae604ab09a9e3d6a3a5e305c68c313198f0faca6c67a1c3f",
8+
"ParentId": "c7823450b259734d52c75ad923c5501cfc24b6c6b91a7d550e2089271e7d0495",
9+
"RepoTags": ["ibuildthecloud/helloworld:latest"],
10+
"Size": 0
11+
}
1012
}
1113
}
1214
},
1315
"name": "reply.5184769160415462658",
1416
"previousIds": ["db12852d-b97f-4178-9896-0f2f03f7e306"],
1517
"previousNames": ["storage.image.activate;agent=91"],
1618
"resourceId": "14",
17-
"resourceType": "image"
19+
"resourceType": "imageStoragePoolMap"
1820
}

tests/docker/instance_activate

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,6 @@
146146
"publisher": null,
147147
"replyTo": "reply.6533363327570546786",
148148
"resourceId": "211",
149-
"resourceType": "instance",
149+
"resourceType": "instanceHostMap",
150150
"time": 1389656010338
151151
}

tests/docker/instance_activate_agent_instance

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,6 @@
135135
"publisher": null,
136136
"replyTo": "reply.6533363327570546786",
137137
"resourceId": "211",
138-
"resourceType": "instance",
138+
"resourceType": "instanceHostMap",
139139
"time": 1389656010338
140140
}
Lines changed: 29 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,34 @@
11
{
22
"data": {
3-
"instance": {
4-
"+data": {
5-
"+fields": {
6-
"dockerHostIp": "1.2.3.4",
7-
"dockerPorts": {
8-
"8080/tcp": "1234",
9-
"12201/udp": "5678"
10-
}
11-
},
12-
"dockerContainer": {
13-
"Command": "/sleep.sh",
14-
"Image": "ibuildthecloud/helloworld:latest",
15-
"Names": [
16-
"/c861f990-4472-4fa1-960f-65171b544c28"
17-
],
18-
"Ports": [
19-
{
20-
"IP": "0.0.0.0",
21-
"Type": "udp",
22-
"PrivatePort": 12201
23-
},
24-
{
25-
"IP": "0.0.0.0",
26-
"Type": "tcp",
27-
"PrivatePort": 8080
3+
"instanceHostMap": {
4+
"instance": {
5+
"+data": {
6+
"+fields": {
7+
"dockerHostIp": "1.2.3.4",
8+
"dockerPorts": {
9+
"8080/tcp": "1234",
10+
"12201/udp": "5678"
2811
}
29-
]
12+
},
13+
"dockerContainer": {
14+
"Command": "/sleep.sh",
15+
"Image": "ibuildthecloud/helloworld:latest",
16+
"Names": [
17+
"/c861f990-4472-4fa1-960f-65171b544c28"
18+
],
19+
"Ports": [
20+
{
21+
"IP": "0.0.0.0",
22+
"Type": "udp",
23+
"PrivatePort": 12201
24+
},
25+
{
26+
"IP": "0.0.0.0",
27+
"Type": "tcp",
28+
"PrivatePort": 8080
29+
}
30+
]
31+
}
3032
}
3133
}
3234
}
@@ -35,5 +37,5 @@
3537
"previousNames": ["compute.instance.activate;agent=91"],
3638
"name": "reply.6533363327570546786",
3739
"resourceId": "211",
38-
"resourceType": "instance"
40+
"resourceType": "instanceHostMap"
3941
}

tests/docker/instance_activate_command

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,6 @@
132132
"publisher": null,
133133
"replyTo": "reply.6533363327570546786",
134134
"resourceId": "211",
135-
"resourceType": "instance",
135+
"resourceType": "instanceHostMap",
136136
"time": 1389656010338
137137
}

tests/docker/instance_activate_command_args

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,6 @@
133133
"publisher": null,
134134
"replyTo": "reply.6533363327570546786",
135135
"resourceId": "211",
136-
"resourceType": "instance",
136+
"resourceType": "instanceHostMap",
137137
"time": 1389656010338
138138
}

0 commit comments

Comments
 (0)