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

Triangulate Example Commands #1357

Draft
wants to merge 44 commits into
base: main
Choose a base branch
from
Draft

Triangulate Example Commands #1357

wants to merge 44 commits into from

Conversation

StarKhan6368
Copy link
Collaborator

What: Triangulate Example Commands across protocols / implementations.

How: Created Abstract classes for example generation, validation, and interactive server, which can then be reused across protocols for implementing examples commands.

Additional Features:

  • Feedback is now provided in the Interactive Server when a generation request is made, indicating whether an example was generated or already existed.
  • Additional information is now included in the test logs on the interactive server in the event of a test failure.
  • Improve the summary logs for example generation and validation through the command line.

Checklist:

Note: This branch was created from the triangulate_bcc_commands.

yogeshnikam671 and others added 30 commits October 10, 2024 10:31
Abstract out the common logic in backward-compatibility-check command
…ommand which can let us run the check on a specific folder or file in a repository
Add deprecation notice to all the b/w compatibility related commands which will be eventually removed
…l bring the repository back to the original state if the command is aborted in between
…d unnecessary logs in the backward compatibility check result logs
…le override in sub-classes of BackwardCompatibilityCheckBaseCommand
- This class will be used in example generation
  and parity with other protocol impls.
- New Abstract Classes for Examples Command.
- Common Interface for example generation.
- Moved InteractiveServer to application.
- Move example template to JunitSupport.
- Other HTML, CSS, JS Fixes.
- never show validation alert when testing.
- fix main tag size and example name break.
- Use multi-level inheritance with interfaces.
- Introduced a common base command with shared
  functions and cmd line options.
- UI, UX fixes on frontend, etc.
- Use composition / delegation inplace of multi-
  inheritance.
- Update dictionary usage in example_parity.
- Fix errors caused by main merge.
- Reuse tests from `ExamplesCommandTest` and
  `ExamplesInteractiveServerTest`.
- Fix typo in ExampleValidationResult.
- add few other tests.
- Don't print dictionary in use, already printed
  by loadDictionary method.
- update descriptions so they're similar across
  protocols / implementations.
- move `extensive` argument to ExamplesBase.kt
- Use Feature.createContractTestFromExampleFile
  in example testing.
- Add tests for inline examples validation.
- Use Result instead of TestResult, add result
  report in-case of test Failure.
- [WIP] modifications to Feature test function
   createContractTestFromExampleFile.
- Don't use ExactValue Pattern for response.
StarKhan6368 and others added 7 commits October 15, 2024 11:54
- use consoleLog and consoleDebug from log package
- use restrictive access modifiers when possible.
- add consoleDebug to log package.
- Code cleanup, moved thymeleaf to core
  completely, junit calls to core for html report
- Move examples Dataclasses to core.
- Remove unneeded Ktor deps from application.
- Clean up code
- minor fixes
- Move validation result logging into class for
  reusability.
- Other CSS and JS Fixes.
- load externalised example after parsing contract
 file to feature in OpenApiExamplesFeatureStrategy
- Add test to ensure canonicalPath is used when
  matching example File to examples in scenario.
- update test for example creation in Feature.
- minor refactors to ExamplesInteractiveServer
- [WIP] Example generation no longer checks for
  existing examples in interactive server.
- Modifications to tableRow Generation,
  pre-calculate rowSpans for table rows.
- Rewrite Interactive JS to support multi example
- Refactor to template and CSS styling
-  Generate Button needs to be moved
- [WIP] Generate Button needs to be moved
- Generate More Button should appear on last group
  column of the row.
- use viewTransitions if available, fallback to
  requestAnimationFrame for smooth layout shifts.
- Minor refactorings.
- ExamplesInteractiveServer should send the URL
  with http prefix,
- POST requests being made to render HTML should
  also include protocol prefix with host and port.
- Include iframe in core/resources to test server
  with a post request mimicking TMF and codespace
- Use a global counter to append a unique number to dile name.
- Fix - OpenApi Interactive tableRow creation for cases with same path
  method and status but differing content-type.
- Remove dropdown in drill-downs and chevron-down icon.
- Modify updateSpans to take extraInfo into account.
- Other CSS and JS fixes.
- Rename `atomicCounter` to `exampleFileNamePostfixCounter` to convey
  its functionality.
- Update Example Generate tests to expect integer postfix on filenames.
- Update OpenApiExamplesInteractiveTest to do the same and multiple
  example generations.
@StarKhan6368 StarKhan6368 marked this pull request as draft November 7, 2024 10:52
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.

2 participants