Uploaded image for project: 'SAFe Program'
  1. SAFe Program
  2. SP-1115

Create lightweight TANGO API validation mechanism

Change Owns to Parent OfsSet start and due date...
    XporterXMLWordPrintable

Details

    • Obs Mgt & Controls
    • Hide

      There is the feeling that this mechanism could easily and quickly identify mismatches between APIs of 2 interacting devices. Mismatches due to:

      • one device being written in python (and inheriting from base classes) and the other in C++, not extending those classes;
      • one device extending the base classes but overriding some property or method and inserting a bug.

      This mechanism would not catch misalignement in the behavior of the device: we will deal with this aspect in other ways (for example, https://jira.skatelescope.org/browse/SP-629). 

      The analogy is to plugs and socket in a house: here we are testing that the plugs are mechanically compatible with the sockets. Not that there is 220V AC flowing at 60Hz, or that there is grounding. That is the behavior.

      Show
      There is the feeling that this mechanism could easily and quickly identify mismatches between APIs of 2 interacting devices. Mismatches due to: one device being written in python (and inheriting from base classes) and the other in C++, not extending those classes; one device extending the base classes but overriding some property or method and inserting a bug. This mechanism would not catch misalignement in the behavior of the device: we will deal with this aspect in other ways (for example,  https://jira.skatelescope.org/browse/SP-629 ).  The analogy is to plugs and socket in a house: here we are testing that the plugs are mechanically compatible with the sockets. Not that there is 220V AC flowing at 60Hz, or that there is grounding. That is the behavior.
    • 1
    • 1
    • 15
    • Team_KAROO
    • Sprint 3
    • 7.4
    • PI22 - UNCOVERED

    • DEMO_Testing MVP_Extension SYSTEM_DEMO_3 Team_KAROO testing
    • SPO-560

    Description

      This enabler was created after discussion with the Business owners at PI Planning 7 event, who suggested that this part be removed from SP-978 and be inserted into a new enabler (this one).

      Create files defining Tango interfaces. Machine-parsable file for dish element master API (use current dsh lmc). Create test that verifies dish devices match Tango interface in a file. (Assumption, devices are running). Display/report on differences. See -SAR-112 and SAR-113-.

      Perhaps there is also an extension of the assertpy assertions (see https://github.com/assertpy/assertpy#extension-system---adding-custom-assertions) that can be used to check the API compliance.
       

      Acceptance criteria

      • There is a language (perhaps just the Pogo's XMI, or maybe something else as a yaml sublanguage) that can be used as a spec.
      • There is basic code that can read the spec and apply those checks to a certain device.  Include an example calling those checks via pytest for the Dish master device.

       

      Attachments

        Issue Links

          Structure

            Activity

              People

                g.brajnik Brajnik, Giorgio
                p.swart Swart, Paul [X] (Inactive)
                Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Feature Progress

                  Story Point Burn-up: (100.00%)

                  Feature Estimate: 1.0

                  IssuesStory Points
                  To Do00.0
                  In Progress   00.0
                  Complete25.0
                  Total25.0

                  Dates

                    Created:
                    Updated:
                    Resolved:

                    Structure Helper Panel