Skip to content

Conversation

@StarKhan6368
Copy link
Contributor

What:

  • Resolve the issue with proxy schema combination due to non-unique name generation.
  • Ensure the proxy correctly manages various request and response content types, as well as status codes, during conversion.

Checklist:

  • Unit Tests
  • Build passing locally
  • Sonar Quality Gate
  • Security scans don't report any vulnerabilities
  • Documentation added/updated (share link)
  • Sample Project added/updated (share link)
  • Demo video (share link)
  • Article on Website (share link)
  • Roadmpap updated (share link)
  • Conference Talk (share link)

@github-actions
Copy link

github-actions bot commented Nov 13, 2025

Summary

Line coverage Branch coverage

Assembly Line coverage Branch coverage
application 56.3% 42.7%
application/backwardCompatibility 80.6% 56.6%
application/mcp 5.2% 0%
io/specmatic/conversions 91.2% 79.5%
io/specmatic/core 79.6% 62%
io/specmatic/core/azure 0% 0%
io/specmatic/core/config 95.4% 84.2%
io/specmatic/core/config/v1 97.8% 25%
io/specmatic/core/config/v2 97.7% 74.1%
io/specmatic/core/config/v3 97.6% 83.6%
io/specmatic/core/discriminator 53.2% 43.1%
io/specmatic/core/examples/module 21.6% 14.4%
io/specmatic/core/examples/server 11.3% 0%
io/specmatic/core/filters 81.2% 74.4%
io/specmatic/core/git 5% 3.4%
io/specmatic/core/jsonoperator 76.4% 70.8%
io/specmatic/core/jsonoperator/value 85.1% 75.5%
io/specmatic/core/lifecycle 0% ****
io/specmatic/core/log 80.7% 61.2%
io/specmatic/core/matchers 77.5% 54.5%
io/specmatic/core/overlay 85.7% 58.3%
io/specmatic/core/pattern 86.3% 74.9%
io/specmatic/core/pattern/config 100% ****
io/specmatic/core/pattern/regex 94% 86.5%
io/specmatic/core/route/modules 92.8% 75%
io/specmatic/core/utilities 60.6% 52.4%
io/specmatic/core/value 84.6% 72.3%
io/specmatic/core/wsdl/parser 88% 52%
io/specmatic/core/wsdl/parser/message 89% 67.8%
io/specmatic/core/wsdl/parser/operation 100% 100%
io/specmatic/core/wsdl/payload 100% 100%
io/specmatic/junit5/support 0% ****
io/specmatic/mcp/constants 0% ****
io/specmatic/mcp/report 0% 0%
io/specmatic/mcp/test 0% 0%
io/specmatic/mcp/test/client 0% 0%
io/specmatic/mcp/test/client/model 0% 0%
io/specmatic/mock 53.7% 54.1%
io/specmatic/proxy 63.9% 47%
io/specmatic/reports 82.5% 15.8%
io/specmatic/specmatic/core 0% ****
io/specmatic/specmatic/executable 100% ****
io/specmatic/specmatic/mcp 0% ****
io/specmatic/stub 75.8% 69.3%
io/specmatic/stub/listener 100% 50%
io/specmatic/stub/report 97.9% 81.9%
io/specmatic/test 70.7% 59.3%
io/specmatic/test/asserts 97.1% 85.8%
io/specmatic/test/handlers 90.9% 63.5%
io/specmatic/test/listeners 47% 23.6%
io/specmatic/test/reports 62.4% 28.9%
io/specmatic/test/reports/coverage 98.3% 50.6%
io/specmatic/test/reports/coverage/console 86.6% 84.2%
io/specmatic/test/reports/coverage/html 0% 0%
io/specmatic/test/reports/coverage/json 100% 18.8%
io/specmatic/test/reports/renderers 11.8% 12.1%
io/specmatic/test/utils 92.1% 82%

}

private fun toOpenAPIURLPrefixMap(urls: List<String>): Map<String, String> {
val normalisedURL = urls.map { url ->
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@joelrosario, I didn't fully understand the previous logic, open to reverting if it was important or logical

val newResponseBody = updateJsonPatternName(responseBody, newTypeName)
val newTypes = scenario.patterns[oldTypeName]?.let {
scenario.patterns.minus(oldTypeName).plus(newTypeName to it)
} ?: scenario.patterns
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this fallback required, is there a case we may be missing?

- Ensure proxy handles different request and response content-types
  as well as status code properly during conversion
- Ensure non-deferred bodies are also handled properly
@joelrosario joelrosario merged commit 0109c81 into main Nov 18, 2025
3 checks passed
@joelrosario joelrosario deleted the fix-proxy-schemas branch November 18, 2025 10:34
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