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

akonhilas/APPEALS-25136 #19107

Merged
merged 14 commits into from
Aug 14, 2023
Merged

Conversation

konhilas-ariana
Copy link
Contributor

@konhilas-ariana konhilas-ariana commented Aug 2, 2023

Resolves: Refactor pexip_client to act as a facade for webex and pexip service

https://jira.devops.va.gov/browse/APPEALS-25136

Description

Value Statement:
As a Caseflow Developer, I need to create a ConferenceService and WebexClient, so that I can utilize the facade design pattern which provides a simplistic interface to the more detailed classes of PexipClient and WebexClient.

Acceptance Criteria

  • Code compiles correctly
  • conference_client is hit when creating a new conference and results in the appropriate conference type (webex or pexip) being created
    • pexip_client is renamed to conference_client
    • logic exists that decides whether to create a webex or pexip meeting
    • everywhere that pexip_client was called is changed to conference_client
    • create_pexip_conference is renamed to account for both webex and pexip creation and changed in every area it is
      called (create_conference_job)
  • Make pexip initializer ruby
    • update pexip.rb in config/initializers to have a ruby patterned syntax instead of java patterned syntax

Testing Plan

  1. Go to https://jira.devops.va.gov/browse/APPEALS-27803

Integrations: Adding endpoints for external APIs

  • Check that Caseflow's external API code for the endpoint matches the code in the relevant integration repo
    • Request: Service name, method name, input field names
    • Response: Check expected data structure
    • Check that calls are wrapped in MetricService record block
  • Check that all configuration is coming from ENV variables
    • Listed all new ENV variables in description
    • Worked with or notified System Team that new ENV variables need to be set
  • Update Fakes
  • For feature branches: Was this tested in Caseflow UAT

Best practices

Code Documentation Updates

  • Add or update code comments at the top of the class, module, and/or component.

Tests

Test Coverage

Did you include any test coverage for your code? Check below:

  • RSpec
  • Jest
  • Other

Code Climate

Your code does not add any new code climate offenses? If so why?

  • No new code climate issues added

Monitoring, Logging, Auditing, Error, and Exception Handling Checklist

Monitoring

  • Are performance metrics (e.g., response time, throughput) being tracked?
  • Are key application components monitored (e.g., database, cache, queues)?
  • Is there a system in place for setting up alerts based on performance thresholds?

Logging

  • Are logs being produced at appropriate log levels (debug, info, warn, error, fatal)?
  • Are logs structured (e.g., using log tags) for easier querying and analysis?
  • Are sensitive data (e.g., passwords, tokens) redacted or omitted from logs?
  • Is log retention and rotation configured correctly?
  • Are logs being forwarded to a centralized logging system if needed?

Auditing

  • Are user actions being logged for audit purposes?
  • Are changes to critical data being tracked ?
  • Are logs being securely stored and protected from tampering or exposing protected data?

Error Handling

  • Are errors being caught and handled gracefully?
  • Are appropriate error messages being displayed to users?
  • Are critical errors being reported to an error tracking system (e.g., Sentry, ELK)?
  • Are unhandled exceptions being caught at the application level ?

Exception Handling

  • Are custom exceptions defined and used where appropriate?
  • Is exception handling consistent throughout the codebase?
  • Are exceptions logged with relevant context and stack trace information?
  • Are exceptions being grouped and categorized for easier analysis and resolution?

…name, updated method to be more generic, changed pexip.rb to ruby style
@codeclimate
Copy link

codeclimate bot commented Aug 2, 2023

Code Climate has analyzed commit cfd7400 and detected 0 issues on this pull request.

View more on Code Climate.

@msteele96 msteele96 changed the base branch from master to feature/APPEALS-25109 August 9, 2023 18:10
@konhilas-ariana konhilas-ariana changed the base branch from feature/APPEALS-25109 to master August 11, 2023 14:12
@konhilas-ariana konhilas-ariana changed the base branch from master to feature/APPEALS-25109 August 11, 2023 14:13
@mchbidwell mchbidwell marked this pull request as ready for review August 14, 2023 16:00
@mchbidwell mchbidwell merged commit caf8333 into feature/APPEALS-25109 Aug 14, 2023
12 of 14 checks passed
@mchbidwell mchbidwell deleted the akonhilas/APPEALS-25136 branch August 14, 2023 16:01
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.

3 participants