Open APIs

 View Only
  • 1.  TMF683 : Party Interaction : Queries w.r.t. CTK

    TM Forum Member
    Posted Dec 29, 2023 04:52

    I am running CTK of TMF683 Party Interaction to understand the conformance requirement and acquaintance.

    Following are the queries:

    Query #1:

    Test #2:GET /partyInteraction/

    What is the objective of such test to retrieve all Party Interaction without any filter criteria?
    I believe an element such as Customer Id must be specified to retrieve all Party Interaction for a Customer.

    Is there is a possibility to adapt the test case of CTK or it has pass as-is for conformance?

    Query #2:

    Test #5: GET /partyInteraction/?direction=direction

    Test #8: GET /partyInteraction/?reason=reason 

    Test #11: GET /partyInteraction/?relatedChannel=relatedChannel

    Need help to understand these criteria to query resource. 

    Is this expecting to retrieve all the Party Interaction having element "direction" with value = direction? | retrieve all the Party Interaction having element "reason" with value = reason

    and this query is executed on all Party Interaction without any filter criteria such as Customer Id? 

    Query #3:

    Test #13: DELETE /partyInteraction/MR000000U8AV/

    My stub returns following response

    HTTP/1.1 204 No Content
    Content-Type: application/json

    However following error is logged

    CypressError: Cypress test was stopped while running this command. Because this error occurred during a `before all` hook we are skipping the remaining tests in the current suite: `TMF683 Conformance Profile ...` 

    Any pointers on what to look for?

    Requesting help for resolution of these queries. 



    ------------------------------
    Puneet Kathuria
    ------------------------------


  • 2.  RE: TMF683 : Party Interaction : Queries w.r.t. CTK

    TM Forum Member
    Posted Dec 31, 2023 04:15

    Hi Puneet

    Bear in mind that the CTK runs fairly basic functional tests, against possibly empty storage. Real-life constraints such as the ones you describe (e.g. having customer ID as part of the filter) are not considered in CTK design.

    Regarding your query #3 - it's not clear to me what you mean by "your stub". Why would you even consider running the CTK against a stub rather than against a real implementation of an API. Having said that, your response looks correct and matches the Swagger file that has 204 as the only successful response for a DELETE. I'll refer this to the relevant TM Forum focal.



    ------------------------------
    Jonathan Goldberg
    Amdocs Management Limited
    Any opinions and statements made by me on this forum are purely personal, and do not necessarily reflect the position of the TM Forum or my employer.
    ------------------------------



  • 3.  RE: TMF683 : Party Interaction : Queries w.r.t. CTK

    TM Forum Member
    Posted Dec 31, 2023 12:03

    Hello Jonathan,

    Thanks for reply.

    1. Query #1.
      1. It is ok if CTK runs basic functional tests but then it is not a real-world scenario.
      2. At least in our implementation Customer Id is must to find a list of Interactions. Now to pass the conformance test, either CTK becomes realistic or I change the implementation to return a set of records based on some defaults in the request.
    2. Query #2
      1. Do you have any inputs in this? or can you pass on this query to focul point in TM Forum?
    3. Query #3
      1. I am doing a gap analysis with the existing implementation to align with TMForum OpenApi Specs and as part of the effort, ran CTK against a stub. It will eventually be run against a real implementation for conformance testing.
      2. One follow-on question, which I missed earlier w.r.t. DELETE API is that this is marked as a mandatory operation. There is no circumstance under which a Customer Interaction is deleted. Is there a way to request a review to suggest if this can be marked optional in the conformance test?

    Will await response from yourself / Tm Forum Focal contacts.



    ------------------------------
    Puneet Kathuria
    ------------------------------



  • 4.  RE: TMF683 : Party Interaction : Queries w.r.t. CTK

    TM Forum Member
    Posted Dec 31, 2023 12:23

    Sorry I missed your query #2 - I had understood that the meaning of those queries was to find all interactions where (for example) the direction matches the direction in the query string. When the test is actually run, it surely doesn't place the actual literal value "direction" on the query string (I hope).

    Regarding #3, each API designer decides which operations are mandatory - presumably they felt that deleting an interaction is relevant. For example when an individual expresses her right to be forgotten as per GDPR. Your implementation can of course decide to make it a logical delete rather than physical removal from persistence, depending on your business requirements.

    Regarding #1, as far as I understand, you are indeed expected to support an unrestricted query. Take a look at the design guidelines TMF630 for more information, I believe there is a guideline allowing the implementation to set a maximum number of results to be returned, and of course there is pagination.



    ------------------------------
    Jonathan Goldberg
    Amdocs Management Limited
    Any opinions and statements made by me on this forum are purely personal, and do not necessarily reflect the position of the TM Forum or my employer.
    ------------------------------



  • 5.  RE: TMF683 : Party Interaction : Queries w.r.t. CTK

    TM Forum Member
    Posted Jan 02, 2024 01:48

    Happy New Year !

    Thanks for the response; some follow-on comments.

    Query #1:

    a. Unrestricted Query does not solve any purpose and cannot be supported at least in our environment, unless some default is built just for the purpose for conformance.

    b. Yes I see paging parameters offset and limit but unless CTK submits it, which it does not, does not help.

    Can we speak to the Focul Point to improve the CTK to accept /specify certain parameters in the request to keep the tests realistic? 

    Query #2:

    Test #5: GET /partyInteraction/?direction=direction

    Test #8: GET /partyInteraction/?reason=reason 

    Test #11: GET /partyInteraction/?relatedChannel=relatedChannel

    Yes; these are actual requests which CTK is submitting. 

    "direction" is a reserved element with possible values as "inbound" and "outbound", whereas test submits "direction" as value and also expected some rows to be returned. This is a defect in CTK.

    similarly relatedChannel is a complex part and query specified relatedChannel = relatedChannel which again appears to be a defect in CTK.

    Query #3:

    Again will implement DELETE though not required, just for conformance

    Query #4:

    1. One additional query w.r.t Test #1 POST /partyInteraction/ where a payload is specified to create the partyInteraction. Again all the attributes are NOT supported and elements such as partyOrPartyRole.id = 999, relatedParty.role = user and agent cannot be supported. We support creating paryInteraction for a Customer. Can such test data be updated? else this test also cannot pass.

    I wonder how other implementations are passing tests of this CTK as these are too restrictive and un-realistic unless I am missing something.

    Is it possible to have a call with yourself / TMForum Focal point to put the point across.



    ------------------------------
    Puneet Kathuria
    ------------------------------



  • 6.  RE: TMF683 : Party Interaction : Queries w.r.t. CTK

    TM Forum Member
    Posted Jan 02, 2024 13:20

    Query #4:

    This can be discarded.  I see, payload for POST can be specified in CHANGE_ME.json which I was able to update and submit the required request. 



    ------------------------------
    Puneet Kathuria
    ------------------------------