Skip to content

Commit

Permalink
Merge pull request #46 from cloudblue/fix_ext_prj_validation
Browse files Browse the repository at this point in the history
Fix variables, schedulables and dockerfile validation
  • Loading branch information
ffaraone authored Oct 27, 2022
2 parents 7772fbe + 345011c commit d19b0ee
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 8 deletions.
4 changes: 2 additions & 2 deletions connect/eaas/core/validation/validators/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -208,8 +208,8 @@ def validate_docker_compose_yml(context): # noqa: CCR001
),
)
continue
data = open(dockerfile, 'r').splitlines()
from_cmd = next(filter(lambda x: x.startswith('FROM'), data), None)
content = open(dockerfile, 'r').read().splitlines()
from_cmd = next(filter(lambda x: x.startswith('FROM'), content), None)
if not from_cmd:
messages.append(
ValidationItem(
Expand Down
16 changes: 12 additions & 4 deletions connect/eaas/core/validation/validators/eventsapp.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,10 @@

def validate_eventsapp(context):

extension_class = context['extension_classes'].get('extension')
extension_class = extension_class or context['extension_classes'].get('eventsapp')
extension_class = context['extension_classes'].get(
'eventsapp',
context['extension_classes'].get('extension'),
)

if not extension_class:
return ValidationResult()
Expand Down Expand Up @@ -98,7 +100,10 @@ def validate_eventsapp(context):
def _validate_events(context):
messages = []

extension_class = context['extension_classes']['extension']
extension_class = context['extension_classes'].get(
'eventsapp',
context['extension_classes'].get('extension'),
)

definitions = context['event_definitions']
events = extension_class.get_events()
Expand Down Expand Up @@ -151,7 +156,10 @@ def _validate_events(context):
def _validate_schedulables(context):
messages = []

extension_class = context['extension_classes'].get('extension')
extension_class = context['extension_classes'].get(
'eventsapp',
context['extension_classes'].get('extension'),
)

schedulables = extension_class.get_schedulables()
for schedulable in schedulables:
Expand Down
8 changes: 6 additions & 2 deletions tests/connect/eaas/core/validation/validators/test_base.py
Original file line number Diff line number Diff line change
Expand Up @@ -532,9 +532,11 @@ def test_validate_docker_compose_yml_invalid_image_dockerfile(mocker):
'connect.eaas.core.validation.validators.base.os.path.isfile',
return_value=True,
)
mocked_open = mocker.MagicMock()
mocked_open.read.return_value = 'FROM cloudblueconnect/connect-extension-runner:0.3\n'
mocker.patch(
'connect.eaas.core.validation.validators.base.open',
side_effect=['', 'FROM cloudblueconnect/connect-extension-runner:0.3\n'],
side_effect=[None, mocked_open],
)
mocker.patch(
'connect.eaas.core.validation.validators.base.yaml.safe_load',
Expand Down Expand Up @@ -602,9 +604,11 @@ def test_validate_docker_compose_yml_invalid_image_invalid_dockerfile(mocker):
'connect.eaas.core.validation.validators.base.os.path.isfile',
side_effect=[True, True],
)
mocked_open = mocker.MagicMock()
mocked_open.read.return_value = ''
mocker.patch(
'connect.eaas.core.validation.validators.base.open',
side_effect=['', ''],
side_effect=[None, mocked_open],
)
mocker.patch(
'connect.eaas.core.validation.validators.base.yaml.safe_load',
Expand Down

0 comments on commit d19b0ee

Please sign in to comment.