Skip to content

Commit cd470ea

Browse files
author
ffaraoneim
authored
Merge pull request #4 from cloudblue/fix-push-config-add-readme-changelog
Fix push config add readme changelog
2 parents d3add94 + 32bf8da commit cd470ea

File tree

6 files changed

+79
-22
lines changed

6 files changed

+79
-22
lines changed

connect/eaas/dataclasses.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,10 @@ class TaskType:
1919
PRODUCT_CUSTOM_EVENT_PROCESSING = 'product_custom_event_processing'
2020
TIER_CONFIG_SETUP_REQUEST_PROCESSING = 'tier_config_setup_request_processing'
2121
TIER_CONFIG_CHANGE_REQUEST_PROCESSING = 'tier_config_change_request_processing'
22+
TIER_CONFIG_ADJUSTMENT_REQUEST_PROCESSING = 'tier_config_adjustment_request_processing'
2223
TIER_CONFIG_SETUP_REQUEST_VALIDATION = 'tier_config_setup_request_validation'
2324
TIER_CONFIG_CHANGE_REQUEST_VALIDATION = 'tier_config_change_request_validation'
25+
TIER_CONFIG_ADJUSTMENT_REQUEST_VALIDATION = 'tier_config_adjustment_request_validation'
2426

2527

2628
class MessageType:
@@ -73,6 +75,8 @@ def to_json(self):
7375
@dataclasses.dataclass
7476
class CapabilitiesPayload:
7577
capabilities: dict
78+
readme_url: str = None
79+
changelog_url: str = None
7680

7781
def to_json(self):
7882
return dataclasses.asdict(self)

connect/eaas/helpers.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
import pkg_resources
1111

12+
from connect.eaas.constants import TASK_TYPE_EXT_METHOD_MAP
1213
from connect.eaas.exceptions import EaaSError
1314

1415

@@ -59,7 +60,7 @@ def get_extension_class():
5960
def get_extension_type(cls):
6061
descriptor = cls.get_descriptor()
6162
guess_async = [
62-
inspect.iscoroutinefunction(getattr(cls, name))
63+
inspect.iscoroutinefunction(getattr(cls, TASK_TYPE_EXT_METHOD_MAP[name]))
6364
for name in descriptor['capabilities'].keys()
6465
]
6566

connect/eaas/worker.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,10 @@ def __init__(self, secure=True):
4848
self.ws = None
4949
self.extension_class = get_extension_class()
5050
self.extension_type = get_extension_type(self.extension_class)
51-
self.capabilities = self.extension_class.get_descriptor()['capabilities']
51+
descriptor = self.extension_class.get_descriptor()
52+
self.capabilities = descriptor['capabilities']
53+
self.readme_url = descriptor['readme_url']
54+
self.changelog_url = descriptor['changelog_url']
5255
self.extension_config = None
5356
self.logging_api_key = None
5457
self.main_task = None
@@ -143,7 +146,11 @@ async def run(self): # noqa: CCR001
143146
await self.ensure_connection()
144147
message = Message(
145148
message_type=MessageType.CAPABILITIES,
146-
data=CapabilitiesPayload(self.capabilities),
149+
data=CapabilitiesPayload(
150+
self.capabilities,
151+
self.readme_url,
152+
self.changelog_url,
153+
),
147154
)
148155
await self.send(message.to_json())
149156
while self.run_event.is_set():
@@ -188,9 +195,11 @@ async def configuration(self, data):
188195
It will stop the tasks manager so the extension can be
189196
reconfigured, then restart the tasks manager.
190197
"""
198+
self.paused = True
191199
await self.stop_tasks_manager()
192200
self.extension_config = data.configuration
193201
self.logging_api_key = data.logging_api_key
202+
self.paused = False
194203
self.start_tasks_manager()
195204

196205
async def pause(self):

tests/test_helpers.py

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -132,15 +132,17 @@ class MyExtension:
132132
def get_descriptor(cls):
133133
return {
134134
'capabilities': {
135-
'process_asset_request': [],
136-
'validate_asset_request': [],
135+
'asset_purchase_request_processing': [],
136+
'asset_purchase_request_validation': [],
137137
},
138+
'readme_url': 'https://example.com/README.md',
139+
'changelog_url': 'https://example.com/CHANGELOG.md',
138140
}
139141

140-
def process_asset_request(self, request):
142+
def process_asset_purchase_request(self, request):
141143
pass
142144

143-
def validate_asset_request(self, request):
145+
def validate_asset_purchase_request(self, request):
144146
pass
145147

146148
assert get_extension_type(MyExtension) == 'sync'
@@ -153,15 +155,17 @@ class MyExtension:
153155
def get_descriptor(cls):
154156
return {
155157
'capabilities': {
156-
'process_asset_request': [],
157-
'validate_asset_request': [],
158+
'asset_purchase_request_processing': [],
159+
'asset_purchase_request_validation': [],
158160
},
161+
'readme_url': 'https://example.com/README.md',
162+
'changelog_url': 'https://example.com/CHANGELOG.md',
159163
}
160164

161-
async def process_asset_request(self, request):
165+
async def process_asset_purchase_request(self, request):
162166
pass
163167

164-
async def validate_asset_request(self, request):
168+
async def validate_asset_purchase_request(self, request):
165169
pass
166170

167171
assert get_extension_type(MyExtension) == 'async'
@@ -174,15 +178,17 @@ class MyExtension:
174178
def get_descriptor(cls):
175179
return {
176180
'capabilities': {
177-
'process_asset_request': [],
178-
'validate_asset_request': [],
181+
'asset_purchase_request_processing': [],
182+
'asset_purchase_request_validation': [],
179183
},
184+
'readme_url': 'https://example.com/README.md',
185+
'changelog_url': 'https://example.com/CHANGELOG.md',
180186
}
181187

182-
def process_asset_request(self, request):
188+
def process_asset_purchase_request(self, request):
183189
pass
184190

185-
async def validate_asset_request(self, request):
191+
async def validate_asset_purchase_request(self, request):
186192
pass
187193

188194
with pytest.raises(EaaSError) as cv:

tests/test_main.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,17 @@ class MyExtension:
1818
def get_descriptor(cls):
1919
return {
2020
'capabilities': {
21-
'process_asset_request': [],
22-
'validate_asset_request': [],
21+
'asset_purchase_request_processing': [],
22+
'asset_purchase_request_validation': [],
2323
},
24+
'readme_url': 'https://example.com/README.md',
25+
'changelog_url': 'https://example.com/CHANGELOG.md',
2426
}
2527

26-
def process_asset_request(self, request):
28+
def process_asset_purchase_request(self, request):
2729
pass
2830

29-
def validate_asset_request(self, request):
31+
def validate_asset_purchase_request(self, request):
3032
pass
3133
run_mock = mocker.AsyncMock()
3234
mocker.patch('connect.eaas.main.install_extension')

tests/test_worker.py

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ class MyExtension(Extension):
4242
def get_descriptor(cls):
4343
return {
4444
'capabilities': capabilities,
45+
'readme_url': 'https://example.com/README.md',
46+
'changelog_url': 'https://example.com/CHANGELOG.md',
4547
}
4648

4749
mocker.patch('connect.eaas.worker.get_extension_class', return_value=MyExtension)
@@ -73,7 +75,14 @@ def get_descriptor(cls):
7375
await task
7476

7577
handler.assert_received(
76-
Message(MessageType.CAPABILITIES, CapabilitiesPayload(capabilities)).to_json(),
78+
Message(
79+
MessageType.CAPABILITIES,
80+
CapabilitiesPayload(
81+
capabilities,
82+
'https://example.com/README.md',
83+
'https://example.com/CHANGELOG.md',
84+
),
85+
).to_json(),
7786
)
7887

7988

@@ -109,6 +118,8 @@ class MyExtension(Extension):
109118
def get_descriptor(cls):
110119
return {
111120
'capabilities': capabilities,
121+
'readme_url': 'https://example.com/README.md',
122+
'changelog_url': 'https://example.com/CHANGELOG.md',
112123
}
113124

114125
def process_asset_purchase_request(self, request):
@@ -145,7 +156,14 @@ def process_asset_purchase_request(self, request):
145156
await task
146157

147158
handler.assert_received(
148-
Message(MessageType.CAPABILITIES, CapabilitiesPayload(capabilities)).to_json(),
159+
Message(
160+
MessageType.CAPABILITIES,
161+
CapabilitiesPayload(
162+
capabilities,
163+
'https://example.com/README.md',
164+
'https://example.com/CHANGELOG.md',
165+
),
166+
).to_json(),
149167
)
150168
handler.assert_received(
151169
Message(MessageType.TASK, TaskPayload(
@@ -190,6 +208,8 @@ class MyExtension(Extension):
190208
def get_descriptor(cls):
191209
return {
192210
'capabilities': capabilities,
211+
'readme_url': 'https://example.com/README.md',
212+
'changelog_url': 'https://example.com/CHANGELOG.md',
193213
}
194214

195215
def process_tier_config_setup_request(self, request):
@@ -226,7 +246,14 @@ def process_tier_config_setup_request(self, request):
226246
await task
227247

228248
handler.assert_received(
229-
Message(MessageType.CAPABILITIES, CapabilitiesPayload(capabilities)).to_json(),
249+
Message(
250+
MessageType.CAPABILITIES,
251+
CapabilitiesPayload(
252+
capabilities,
253+
'https://example.com/README.md',
254+
'https://example.com/CHANGELOG.md',
255+
),
256+
).to_json(),
230257
)
231258
handler.assert_received(
232259
Message(MessageType.TASK, TaskPayload(
@@ -263,6 +290,8 @@ class MyExtension(Extension):
263290
def get_descriptor(cls):
264291
return {
265292
'capabilities': capabilities,
293+
'readme_url': 'https://example.com/README.md',
294+
'changelog_url': 'https://example.com/CHANGELOG.md',
266295
}
267296

268297
mocker.patch('connect.eaas.worker.get_extension_class', return_value=MyExtension)
@@ -315,6 +344,8 @@ class MyExtension(Extension):
315344
def get_descriptor(cls):
316345
return {
317346
'capabilities': capabilities,
347+
'readme_url': 'https://example.com/README.md',
348+
'changelog_url': 'https://example.com/CHANGELOG.md',
318349
}
319350

320351
mocker.patch('connect.eaas.worker.get_extension_class', return_value=MyExtension)
@@ -368,6 +399,8 @@ class MyExtension(Extension):
368399
def get_descriptor(cls):
369400
return {
370401
'capabilities': capabilities,
402+
'readme_url': 'https://example.com/README.md',
403+
'changelog_url': 'https://example.com/CHANGELOG.md',
371404
}
372405

373406
mocker.patch('connect.eaas.worker.get_extension_class', return_value=MyExtension)
@@ -486,6 +519,8 @@ class MyExtension(Extension):
486519
def get_descriptor(cls):
487520
return {
488521
'capabilities': capabilities,
522+
'readme_url': 'https://example.com/README.md',
523+
'changelog_url': 'https://example.com/CHANGELOG.md',
489524
}
490525

491526
mocker.patch('connect.eaas.worker.get_extension_class', return_value=MyExtension)

0 commit comments

Comments
 (0)