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

[refine] Client - simple request-response communication #61

Open
mdabrowski1990 opened this issue Aug 20, 2021 · 0 comments
Open

[refine] Client - simple request-response communication #61

mdabrowski1990 opened this issue Aug 20, 2021 · 0 comments
Labels
documentation Improvements or additions to documentation implementation Changes to code

Comments

@mdabrowski1990
Copy link
Owner

mdabrowski1990 commented Aug 20, 2021

Requires

#78
#22
#72

Description

As a user, I want to have an option to send diagnostic request via physical or functional addressing, so I could decide the recipients of the request.
As a user, I would like to receive all the diagnostic responses received to diagnostic request (either physically or functionally addressed), so I could easily communicate with any server.
As a user, I would like to wait till timeout or the first (and the only) response message (to this request) in case of physically addressed request, so I do not waste time as I do not expect more responses.
As a user, I would like to wait till timeout in case of functionally addressed request, so I gather all potential responses as number of receipients (and potential responses) is unknown in this case.

NOTE: This includes support only to the first response to diagnostic request (e.g. in case of request with SID 0x2A or 0x86). The client shall detect whether the response message (either by RSID or SID data prameter in case of negative response message) relates to the transmited message.

Test Strategy

Unit Tests:

  • 100% code coverage

Integration Tests:

  • GIVEN Client is configured, WHEN I send a simple request and responses to other requests are received, THEN responses to other requests are filtered out and not returned to the user (regardless if this is an error case or not).
  • GIVEN Client is configured, WHEN I send a simple request via physical addressing and response is received THEN the response is immediately returned to the user.
  • GIVEN Client is configured, WHEN I send a simple request via physical addressing and no response THEN the method is executed till timeout and error is raised.
  • GIVEN Client is configured, WHEN I send a simple request via functional addressing and responses are received THEN the all the responses are returned to the user after the timeout occurs.
  • GIVEN Client is configured, WHEN I send a simple request via functional addressing and no responses are received THEN nothing is returned to the user when the timeout occurs.

System Tests:

  • GIVEN Client is configured with real CAN bus, WHEN I send a simple request (e.g. DiagnosticSessionControl, TesterPresent or unsupported request) via physical addressing, THEN the received response are returned to the user.
  • GIVEN Client is configured with real CAN bus, WHEN I send a simple request (e.g. DiagnosticSessionControl, TesterPresent) via functional addressing, THEN all the responses is received are returned to the user.
  • GIVEN Client is configured with real CAN bus, WHEN I send a unsupported request via functional addressing, THEN no response is returned to the user.

Acceptance Criteria

  • Client code is updates and provides all described functionalities
  • Documentation of this feature is available for the user in ReadTheDocs
  • 100% test coverage for provided functionalities
  • system tests on CAN are prepared, executed and passsing
@mdabrowski1990 mdabrowski1990 added documentation Improvements or additions to documentation implementation Changes to code labels Aug 20, 2021
@mdabrowski1990 mdabrowski1990 added this to the 2) Client Simulation milestone Aug 20, 2021
@mdabrowski1990 mdabrowski1990 modified the milestones: X) Client Simulation, 2) Basic client support for CAN Sep 6, 2021
@mdabrowski1990 mdabrowski1990 changed the title Client - implement simple requests sending Client - simple request-response communication Sep 7, 2021
@mdabrowski1990 mdabrowski1990 changed the title Client - simple request-response communication Client - simple request-response communication on CAN Sep 7, 2021
@mdabrowski1990 mdabrowski1990 added CAN Related to CAN specific implementation and removed CAN Related to CAN specific implementation labels Sep 7, 2021
@mdabrowski1990 mdabrowski1990 changed the title Client - simple request-response communication on CAN Client - simple request-response communication Sep 7, 2021
@mdabrowski1990 mdabrowski1990 changed the title Client - simple request-response communication [refine] Client - simple request-response communication Sep 7, 2021
@mdabrowski1990 mdabrowski1990 changed the title [refine] Client - simple request-response communication Client - simple request-response communication Sep 8, 2021
@mdabrowski1990 mdabrowski1990 changed the title Client - simple request-response communication [refine] Client - simple request-response communication Sep 8, 2021
@mdabrowski1990 mdabrowski1990 changed the title [refine] Client - simple request-response communication Client - simple request-response communication Sep 8, 2021
@mdabrowski1990 mdabrowski1990 changed the title Client - simple request-response communication [refine] Client - simple request-response communication Nov 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation implementation Changes to code
Projects
None yet
Development

No branches or pull requests

1 participant