Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Functional workflow for LocalRuntime APIs #1220

Merged

Conversation

payalcha
Copy link
Contributor

@payalcha payalcha commented Dec 17, 2024

Adding functional tests of Workflow APIs into pull request.
Converted all test scripts except datastore_cli to functional test.

@payalcha payalcha marked this pull request as draft December 17, 2024 09:33
Signed-off-by: Chaurasiya, Payal <[email protected]>
Signed-off-by: Chaurasiya, Payal <[email protected]>
Signed-off-by: Chaurasiya, Payal <[email protected]>
Signed-off-by: Chaurasiya, Payal <[email protected]>
Signed-off-by: Chaurasiya, Payal <[email protected]>
Signed-off-by: Chaurasiya, Payal <[email protected]>
Signed-off-by: Chaurasiya, Payal <[email protected]>
@payalcha payalcha marked this pull request as ready for review December 17, 2024 10:30
@payalcha payalcha changed the title Functional workflow Functional workflow for LocalRuntime APIs Dec 17, 2024
tests/end_to_end/workflow/subset_flow.py Show resolved Hide resolved
tests/end_to_end/workflow/subset_flow.py Show resolved Hide resolved
tests/end_to_end/workflow/subset_flow.py Show resolved Hide resolved
tests/end_to_end/workflow/reference_flow.py Outdated Show resolved Hide resolved
tests/end_to_end/workflow/reference_flow.py Outdated Show resolved Hide resolved
tests/end_to_end/workflow/reference_flow.py Outdated Show resolved Hide resolved
tests/end_to_end/workflow/reference_flow.py Show resolved Hide resolved
tests/end_to_end/workflow/reference_flow.py Show resolved Hide resolved
Signed-off-by: Chaurasiya, Payal <[email protected]>
Signed-off-by: Chaurasiya, Payal <[email protected]>
Add copyright message to the top of each file in the "tests/end_to_end/workflow/" folder.

* Add the copyright message to `exclude_flow.py`
* Add the copyright message to `include_exclude_flow.py`
* Add the copyright message to `include_flow.py`
* Add the copyright message to `internal_loop.py`
* Add the copyright message to `private_attr_both.py`
* Add the copyright message to `private_attr_wo_callable.py`
* Add the copyright message to `private_attributes_flow.py`
* Add the copyright message to `reference_exclude.py`
* Add the copyright message to `reference_flow.py`
* Add the copyright message to `reference_include_flow.py`
* Add the copyright message to `subset_flow.py`

Signed-off-by: Chaurasiya, Payal <[email protected]>
Signed-off-by: Chaurasiya, Payal <[email protected]>
@payalcha payalcha force-pushed the functional-workflow branch from e3f2b14 to b93927e Compare December 17, 2024 11:03
.gitignore Show resolved Hide resolved
tests/end_to_end/test_suites/wf_local_func_tests.py Outdated Show resolved Hide resolved
tests/end_to_end/test_suites/wf_local_func_tests.py Outdated Show resolved Hide resolved
tests/end_to_end/utils/common_fixtures.py Show resolved Hide resolved
tests/end_to_end/utils/common_fixtures.py Outdated Show resolved Hide resolved
tests/end_to_end/utils/common_fixtures.py Show resolved Hide resolved
tests/end_to_end/utils/common_fixtures.py Show resolved Hide resolved
tests/end_to_end/utils/common_fixtures.py Outdated Show resolved Hide resolved
@payalcha payalcha marked this pull request as draft December 17, 2024 11:34
Signed-off-by: Chaurasiya, Payal <[email protected]>
Signed-off-by: Chaurasiya, Payal <[email protected]>
Signed-off-by: Chaurasiya, Payal <[email protected]>
Signed-off-by: Chaurasiya, Payal <[email protected]>
Signed-off-by: Chaurasiya, Payal <[email protected]>
Signed-off-by: Chaurasiya, Payal <[email protected]>
@payalcha payalcha marked this pull request as ready for review December 17, 2024 15:11
Signed-off-by: Chaurasiya, Payal <[email protected]>
@rajithkrishnegowda rajithkrishnegowda merged commit ba94a4b into securefederatedai:develop Dec 18, 2024
25 checks passed
Copy link
Contributor

@scngupta-dsp scngupta-dsp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To maintain consistency with other documentation I would recommend usage of Workflow Interface and LocalRuntime instead of Workflow APIs and LocalRuntime APIs

@@ -0,0 +1,95 @@
---
#---------------------------------------------------------------------------
# Workflow to run Task Runner E2E tests via Docker
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of "Task Runner E2E tests" we can mention "Workflow Interface E2E Tests for LocalRuntime"


log = logging.getLogger(__name__)

class TestFlowExclude(FLSpec):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Query: The original test case seems to have a functionality where the class attribute exclude_error_list maintained the step in which the error occurred to help with troubleshooting. Is there a reason why that was removed ?


log = logging.getLogger(__name__)

class TestFlowIncludeExclude(FLSpec):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Query: Same comment as in TestflowExclude. Wondering the reason to modify the flow to remove include_exclude_error_list which could potentially help with debugging

logging.basicConfig(level=logging.INFO)
log = logging.getLogger(__name__)

class TestFlowInternalLoop(FLSpec):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can add the purpose of the Flow (missing in original test cases): Testflow to validate the Internal Loop functionality

log = logging.getLogger(__name__)

class TestFlowPrivateAttributesBoth(FLSpec):
"""
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we mention that in this test, the private attributes are initialized by both methods: callable as well as dictionary.



class TestFlowPrivateAttributesWoCallable(FLSpec):
"""
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we mention that in this Test the private attributes are initialized directly


class TestFlowPrivateAttributes(FLSpec):
"""
Testflow to validate Aggregator private attributes are not accessible to collaborators
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we mention that in this test, private attributes are initialized by callable

"""

step_one_collab_attrs = []
step_two_collab_attrs = []
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the reason for removing the functionality related to all_ref_error_dict attribute in the original test case? I am not able to recollect the exact reason this attribute was used and therefore the query

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants