Uploaded image for project: 'Subscription Watch'
  1. Subscription Watch
  2. SWATCH-1937

Refactor contract ingestion to increase consistency and testability

XMLWordPrintable

      The approach:

      • Create a method named upsertPartnerContract with params (PartnerEntitlementContract, PartnerEntitlements, subscriptionId)  that performs current upsert logic. Logic should be refactored from ContractService.createPartnerContract 
      • Update createPartnerContract to:
        • fetch PartnerEntitlements from the API - refactor from collectMissingUpStreamContractDetails
        • fetch subscriptionId
        • delegate to the upsertPartnerContract method.
      • Update createContract to take all of the necessary information in as a single parameter object, and then delegate to createPartnerContract.
        •  openapi updates needed: create a JSON schema in the openapi spec with fields for the partner contract, the partnerentitlements (new - extract spec from partner api spec), and the subscriptionId.
        • This will require updates to QE tools.

      Once this is done, the createContract REST method will exercise the same logic as UMB contract ingestion, except createContract will provide data that is otherwise fetched from APIs when receiving a UMB message. Calling createContract should not result in any API calls.

            jcarvaja@redhat.com Jose Carvajal Hilario
            khowell@redhat.com Kevin Howell
            Aurobinda Nayak Aurobinda Nayak
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: